bfg-common 1.5.812 → 1.5.813

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 (105) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  10. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  11. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  12. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  13. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  14. package/components/common/configure/advancedSystemSettings/AdvancedSystemSettings.vue +47 -47
  15. package/components/common/configure/advancedSystemSettings/modals/edit/Edit.vue +78 -78
  16. package/components/common/configure/advancedSystemSettings/modals/edit/New.vue +56 -56
  17. package/components/common/configure/advancedSystemSettings/modals/edit/Old.vue +66 -66
  18. package/components/common/configure/advancedSystemSettings/tableView/TableView.vue +40 -40
  19. package/components/common/configure/advancedSystemSettings/tableView/old/Old.vue +122 -122
  20. package/components/common/configure/advancedSystemSettings/tableView/old/field/Field.vue +139 -139
  21. package/components/common/configure/advancedSystemSettings/tableView/old/field/lib/models/enums.ts +13 -13
  22. package/components/common/configure/advancedSystemSettings/tableView/old/lib/config/table.ts +131 -131
  23. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  24. package/components/common/diagramMain/port/Port.vue +580 -580
  25. package/components/common/layout/theHeader/userMenu/UserMenu.vue +116 -116
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  27. package/components/common/layout/topNotification/TopNotification.vue +37 -37
  28. package/components/common/layout/topNotification/lib/models/enums.ts +3 -3
  29. package/components/common/pages/backups/DetailView.vue +52 -52
  30. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  31. package/components/common/pages/backups/modals/Modals.vue +243 -243
  32. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  33. package/components/common/pages/backups/modals/restore/disks/tableView/old/Table.vue +117 -117
  34. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +96 -96
  35. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +134 -134
  36. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  37. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  38. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  39. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  40. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  41. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  42. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  43. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  44. package/components/common/select/radio/RadioGroup.vue +137 -137
  45. package/components/common/spiceConsole/Drawer.vue +420 -420
  46. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  47. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  48. package/components/common/tools/Actions.vue +207 -207
  49. package/components/common/treeView/TreeView.vue +52 -52
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/New.vue +340 -340
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +511 -502
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Old.vue +279 -279
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/vmStoragePolicy/New.vue +53 -53
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/vmStoragePolicy/Old.vue +45 -45
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/vmStoragePolicy/VmStoragePolicy.vue +31 -31
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/vmStoragePolicy/lib/config/options.ts +12 -12
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  60. package/components/common/vm/actions/common/lib/models/interfaces.ts +192 -192
  61. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  62. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  64. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  65. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  66. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  67. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  68. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  69. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  70. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  71. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  72. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  73. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  74. package/components/common/wizards/network/add/steps/portProperties/PortProperties.vue +192 -192
  75. package/composables/useAppVersion.ts +21 -21
  76. package/composables/useLocal.ts +6 -6
  77. package/composables/useLocalCommon.ts +39 -39
  78. package/lib/config/regExp.ts +53 -53
  79. package/package.json +1 -1
  80. package/plugins/console.ts +21 -21
  81. package/plugins/helpers.ts +34 -34
  82. package/plugins/mouse.ts +21 -21
  83. package/plugins/panelStates.ts +70 -70
  84. package/plugins/text.ts +59 -59
  85. package/public/spice-console/application/clientgui.js +854 -854
  86. package/public/spice-console/application/packetfactory.js +211 -211
  87. package/public/spice-console/application/virtualmouse.js +147 -147
  88. package/public/spice-console/lib/images/bitmap.js +203 -203
  89. package/public/spice-console/network/spicechannel.js +440 -440
  90. package/public/spice-console/process/cursorprocess.js +128 -128
  91. package/public/spice-console/process/inputprocess.js +227 -227
  92. package/public/spice-console/process/mainprocess.js +212 -212
  93. package/public/spice-console/run.js +210 -210
  94. package/store/inventory/modules/configure/advancedSystemSettings/actions.ts +92 -92
  95. package/store/inventory/modules/configure/advancedSystemSettings/getters.ts +17 -17
  96. package/store/inventory/modules/configure/advancedSystemSettings/lib/models/interfaces.ts +45 -45
  97. package/store/inventory/modules/configure/advancedSystemSettings/lib/models/types.ts +30 -30
  98. package/store/inventory/modules/configure/advancedSystemSettings/mappers/mapSettings.ts +50 -50
  99. package/store/main/actions.ts +28 -28
  100. package/store/main/getters.ts +14 -14
  101. package/store/main/lib/interfaces.ts +18 -18
  102. package/store/main/mutations.ts +28 -28
  103. package/store/main/state.ts +9 -9
  104. package/store/tasks/mappers/recentTasks.ts +123 -123
  105. package/store/tasks/mutations.ts +82 -82
@@ -1,116 +1,116 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- :hostname="props.hostname"
5
- @select-dropdown="onSelectDropdown"
6
- />
7
-
8
- <Teleport to="body">
9
- <common-layout-the-header-user-menu-modals-change-password
10
- v-if="isShowChangePasswordModal"
11
- v-model="isShowChangePasswordModal"
12
- :hostname="props.hostname"
13
- :project="props.project"
14
- />
15
-
16
- <common-layout-the-header-user-menu-modals-preferences
17
- v-if="props.isPreference"
18
- v-model:security="security"
19
- v-model:is-show-notification="isShowNotification"
20
- v-model:new-view-local="newViewLocal"
21
- v-model:time-format="timeFormat"
22
- v-model:console-value="consoleValue"
23
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
24
- :new-view="props.newView"
25
- :selected-language-type="props.selectedLanguageType"
26
- :selected-language="props.selectedLanguage"
27
- :project="props.project"
28
- :security-loader="props.securityLoader"
29
- :recovery="props.recovery"
30
- @hide="emits('hide-preference')"
31
- @reset="emits('reset-preference')"
32
- @update-language="emits('update-language', $event)"
33
- @update-is-browser="emits('update-is-browser', $event)"
34
- @security-confirm="emits('security-confirm', $event)"
35
- @submit="emits('submit-preferences')"
36
- />
37
- </Teleport>
38
- </template>
39
-
40
- <script setup lang="ts">
41
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
42
- import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
43
- import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
44
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
45
- import { UI_E_TopNotificationActionId } from '~/components/common/layout/topNotification/lib/models/enums'
46
-
47
- const security = defineModel<boolean>('security')
48
- const isShowNotification = defineModel<boolean>('isShowNotification')
49
- const newViewLocal = defineModel<boolean>('newViewLocal')
50
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
51
- const consoleValue = defineModel<string>('consoleValue')
52
- const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
53
- const isDarkTheme = defineModel<boolean>('isDarkTheme')
54
-
55
- const props = defineProps<{
56
- hostname: string
57
- project: UI_T_Project
58
- isPreference: boolean
59
- newView: boolean
60
- selectedLanguageType: UI_T_LangValue
61
- selectedLanguage: UI_I_Dropdown | string
62
- securityLoader: boolean // для Сферы
63
- recovery: UI_I_Recovery | null // для Сферы
64
- }>()
65
- const emits = defineEmits<{
66
- (event: 'show-preference'): void
67
- (event: 'reset-preference'): void
68
- (event: 'hide-preference'): void
69
- (event: 'update-language', value: UI_I_Dropdown): void
70
- (event: 'update-is-browser', value: string): void
71
- (event: 'security-confirm', value: boolean): void
72
- (event: 'submit-preferences'): void
73
- }>()
74
-
75
- const { $store }: any = useNuxtApp()
76
-
77
- const currentComponent = computed(() =>
78
- props.newView
79
- ? defineAsyncComponent(() => import('./new/New.vue'))
80
- : defineAsyncComponent(() => import('./old/Old.vue'))
81
- )
82
-
83
- const isShowChangePasswordModal = ref<boolean>(false)
84
-
85
- const onLogout = async (): Promise<void> => {
86
- await $store.dispatch('auth/A_LOGOUT', null)
87
- }
88
-
89
- const onSelectDropdown = (value: string): void => {
90
- switch (value) {
91
- case 'changePassword':
92
- isShowChangePasswordModal.value = true
93
- break
94
- case 'preferences':
95
- emits('show-preference')
96
- break
97
- case 'themeMode':
98
- isDarkTheme.value = !isDarkTheme.value
99
- break
100
- case 'logout':
101
- onLogout()
102
- break
103
- }
104
- }
105
- const topNotifications = computed<number>(
106
- () => $store.getters['main/getTopNotificationActionId']
107
- )
108
- watch(topNotifications, (newValue) => {
109
- if (newValue === UI_E_TopNotificationActionId.changePassword) {
110
- isShowChangePasswordModal.value = true
111
- $store.dispatch('main/A_SET_TOP_NOTIFICATION_ACTION_ID', -1)
112
- }
113
- })
114
- </script>
115
-
116
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ :hostname="props.hostname"
5
+ @select-dropdown="onSelectDropdown"
6
+ />
7
+
8
+ <Teleport to="body">
9
+ <common-layout-the-header-user-menu-modals-change-password
10
+ v-if="isShowChangePasswordModal"
11
+ v-model="isShowChangePasswordModal"
12
+ :hostname="props.hostname"
13
+ :project="props.project"
14
+ />
15
+
16
+ <common-layout-the-header-user-menu-modals-preferences
17
+ v-if="props.isPreference"
18
+ v-model:security="security"
19
+ v-model:is-show-notification="isShowNotification"
20
+ v-model:new-view-local="newViewLocal"
21
+ v-model:time-format="timeFormat"
22
+ v-model:console-value="consoleValue"
23
+ v-model:vm-in-hosts-clusters="vmInHostsClusters"
24
+ :new-view="props.newView"
25
+ :selected-language-type="props.selectedLanguageType"
26
+ :selected-language="props.selectedLanguage"
27
+ :project="props.project"
28
+ :security-loader="props.securityLoader"
29
+ :recovery="props.recovery"
30
+ @hide="emits('hide-preference')"
31
+ @reset="emits('reset-preference')"
32
+ @update-language="emits('update-language', $event)"
33
+ @update-is-browser="emits('update-is-browser', $event)"
34
+ @security-confirm="emits('security-confirm', $event)"
35
+ @submit="emits('submit-preferences')"
36
+ />
37
+ </Teleport>
38
+ </template>
39
+
40
+ <script setup lang="ts">
41
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
42
+ import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
43
+ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
44
+ import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
45
+ import { UI_E_TopNotificationActionId } from '~/components/common/layout/topNotification/lib/models/enums'
46
+
47
+ const security = defineModel<boolean>('security')
48
+ const isShowNotification = defineModel<boolean>('isShowNotification')
49
+ const newViewLocal = defineModel<boolean>('newViewLocal')
50
+ const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
51
+ const consoleValue = defineModel<string>('consoleValue')
52
+ const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
53
+ const isDarkTheme = defineModel<boolean>('isDarkTheme')
54
+
55
+ const props = defineProps<{
56
+ hostname: string
57
+ project: UI_T_Project
58
+ isPreference: boolean
59
+ newView: boolean
60
+ selectedLanguageType: UI_T_LangValue
61
+ selectedLanguage: UI_I_Dropdown | string
62
+ securityLoader: boolean // для Сферы
63
+ recovery: UI_I_Recovery | null // для Сферы
64
+ }>()
65
+ const emits = defineEmits<{
66
+ (event: 'show-preference'): void
67
+ (event: 'reset-preference'): void
68
+ (event: 'hide-preference'): void
69
+ (event: 'update-language', value: UI_I_Dropdown): void
70
+ (event: 'update-is-browser', value: string): void
71
+ (event: 'security-confirm', value: boolean): void
72
+ (event: 'submit-preferences'): void
73
+ }>()
74
+
75
+ const { $store }: any = useNuxtApp()
76
+
77
+ const currentComponent = computed(() =>
78
+ props.newView
79
+ ? defineAsyncComponent(() => import('./new/New.vue'))
80
+ : defineAsyncComponent(() => import('./old/Old.vue'))
81
+ )
82
+
83
+ const isShowChangePasswordModal = ref<boolean>(false)
84
+
85
+ const onLogout = async (): Promise<void> => {
86
+ await $store.dispatch('auth/A_LOGOUT', null)
87
+ }
88
+
89
+ const onSelectDropdown = (value: string): void => {
90
+ switch (value) {
91
+ case 'changePassword':
92
+ isShowChangePasswordModal.value = true
93
+ break
94
+ case 'preferences':
95
+ emits('show-preference')
96
+ break
97
+ case 'themeMode':
98
+ isDarkTheme.value = !isDarkTheme.value
99
+ break
100
+ case 'logout':
101
+ onLogout()
102
+ break
103
+ }
104
+ }
105
+ const topNotifications = computed<number>(
106
+ () => $store.getters['main/getTopNotificationActionId']
107
+ )
108
+ watch(topNotifications, (newValue) => {
109
+ if (newValue === UI_E_TopNotificationActionId.changePassword) {
110
+ isShowChangePasswordModal.value = true
111
+ $store.dispatch('main/A_SET_TOP_NOTIFICATION_ACTION_ID', -1)
112
+ }
113
+ })
114
+ </script>
115
+
116
+ <style scoped lang="scss"></style>
@@ -1,7 +1,7 @@
1
- export type UI_T_UserPreferenceTab =
2
- | 'time-tab'
3
- | 'language-tab'
4
- | 'console-tab'
5
- | 'inventory-tab'
6
- | 'security-tab'
7
- | 'view-tab'
1
+ export type UI_T_UserPreferenceTab =
2
+ | 'time-tab'
3
+ | 'language-tab'
4
+ | 'console-tab'
5
+ | 'inventory-tab'
6
+ | 'security-tab'
7
+ | 'view-tab'
@@ -1,37 +1,37 @@
1
- <template>
2
- <div>
3
- <ui-notification
4
- v-if="topNotifications.length"
5
- :notifications="topNotifications"
6
- @action="onAction"
7
- @remove="onRemove"
8
- />
9
- </div>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import type { UI_I_NotificationItem } from '~/node_modules/bfg-uikit/components/ui/notification/lib/models/interfaces'
14
-
15
- const { $store }: any = useNuxtApp()
16
-
17
- const topNotifications = computed<UI_I_NotificationItem[]>(
18
- () => $store.getters['main/getTopNotifications']
19
- )
20
-
21
- const onAction = (id: number): void => {
22
- $store.dispatch('main/A_SET_TOP_NOTIFICATION_ACTION_ID', id)
23
- }
24
- const onRemove = (id: number): void => {
25
- $store.dispatch('main/A_REMOVE_TOP_NOTIFICATIONS', [id])
26
- }
27
- </script>
28
-
29
- <style scoped lang="scss">
30
- :deep(.ui-notification) {
31
- background-color: #fbce28;
32
-
33
- svg path {
34
- fill: #ffffff;
35
- }
36
- }
37
- </style>
1
+ <template>
2
+ <div>
3
+ <ui-notification
4
+ v-if="topNotifications.length"
5
+ :notifications="topNotifications"
6
+ @action="onAction"
7
+ @remove="onRemove"
8
+ />
9
+ </div>
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import type { UI_I_NotificationItem } from '~/node_modules/bfg-uikit/components/ui/notification/lib/models/interfaces'
14
+
15
+ const { $store }: any = useNuxtApp()
16
+
17
+ const topNotifications = computed<UI_I_NotificationItem[]>(
18
+ () => $store.getters['main/getTopNotifications']
19
+ )
20
+
21
+ const onAction = (id: number): void => {
22
+ $store.dispatch('main/A_SET_TOP_NOTIFICATION_ACTION_ID', id)
23
+ }
24
+ const onRemove = (id: number): void => {
25
+ $store.dispatch('main/A_REMOVE_TOP_NOTIFICATIONS', [id])
26
+ }
27
+ </script>
28
+
29
+ <style scoped lang="scss">
30
+ :deep(.ui-notification) {
31
+ background-color: #fbce28;
32
+
33
+ svg path {
34
+ fill: #ffffff;
35
+ }
36
+ }
37
+ </style>
@@ -1,3 +1,3 @@
1
- export const UI_E_TopNotificationActionId = {
2
- changePassword: 0,
3
- }
1
+ export const UI_E_TopNotificationActionId = {
2
+ changePassword: 0,
3
+ }
@@ -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
+ }