bfg-common 1.5.723 → 1.5.725

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 (119) 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/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  16. package/components/common/diagramMain/port/Port.vue +580 -580
  17. package/components/common/layout/console/Console.vue +70 -70
  18. package/components/common/layout/theHeader/{TheHeaderNew.vue → New.vue} +2 -5
  19. package/components/common/layout/theHeader/TheHeader.vue +10 -33
  20. package/components/common/layout/theHeader/ThemeSwitch.vue +8 -18
  21. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +6 -8
  22. package/components/common/layout/theHeader/helpMenu/{About.vue → about/About.vue} +69 -79
  23. package/components/common/layout/theHeader/helpMenu/{aboutNew/AboutNew.vue → about/New.vue} +97 -96
  24. package/components/common/layout/theHeader/helpMenu/about/Old.vue +78 -0
  25. package/components/common/layout/theHeader/helpMenu/{helpMenuNew/HelpMenuNew.vue → new/New.vue} +1 -1
  26. package/components/common/layout/theHeader/helpMenu/{helpMenuNew → new}/lib/config/dropMenu.ts +1 -1
  27. package/components/common/layout/theHeader/helpMenu/{helpMenuOld/HelpMenuOld.vue → old/Old.vue} +2 -2
  28. package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/config/dropMenu.ts +1 -1
  29. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +8 -10
  30. package/components/common/layout/theHeader/userMenu/UserMenu.vue +8 -7
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesNew.vue → New.vue} +1 -0
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesOld.vue → Old.vue} +0 -2
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +9 -21
  34. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  35. package/components/common/layout/theHeader/userMenu/{userMenuNew/UserMenuNew.vue → new/New.vue} +1 -1
  36. package/components/common/layout/theHeader/userMenu/{userMenuOld/UserMenuOld.vue → old/Old.vue} +2 -2
  37. package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/config/dropMenu.ts +1 -1
  38. package/components/common/pages/backups/DetailView.vue +52 -52
  39. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  40. package/components/common/pages/backups/modals/Modals.vue +243 -243
  41. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  42. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  43. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  44. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  45. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +84 -84
  46. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +113 -113
  47. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  48. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  49. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  50. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  51. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  52. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  53. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  54. package/components/common/pages/tasks/Tasks.vue +125 -125
  55. package/components/common/pages/tasks/table/Table.vue +373 -373
  56. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  57. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  58. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  59. package/components/common/select/radio/RadioGroup.vue +137 -137
  60. package/components/common/spiceConsole/Drawer.vue +420 -420
  61. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  62. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  63. package/components/common/tools/Actions.vue +207 -207
  64. package/components/common/treeView/TreeView.vue +52 -52
  65. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  66. package/components/common/vm/actions/clone/new/New.vue +438 -438
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  69. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  70. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  71. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  72. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  73. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  74. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  75. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  76. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  77. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  78. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  79. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  80. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  81. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  82. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  83. package/components/common/wizards/common/steps/name/New.vue +221 -221
  84. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  85. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  86. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  87. package/components/common/wizards/datastore/add/Add.vue +228 -228
  88. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  89. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  90. package/composables/useAppVersion.ts +21 -21
  91. package/composables/useBrowse.ts +24 -24
  92. package/composables/useLocal.ts +6 -6
  93. package/composables/useLocalCommon.ts +39 -39
  94. package/lib/models/types.ts +59 -59
  95. package/package.json +1 -1
  96. package/plugins/console.ts +21 -21
  97. package/plugins/mouse.ts +21 -21
  98. package/plugins/panelStates.ts +70 -70
  99. package/plugins/text.ts +59 -59
  100. package/public/spice-console/application/clientgui.js +854 -854
  101. package/public/spice-console/application/packetfactory.js +211 -211
  102. package/public/spice-console/application/virtualmouse.js +147 -147
  103. package/public/spice-console/lib/images/bitmap.js +203 -203
  104. package/public/spice-console/network/spicechannel.js +440 -440
  105. package/public/spice-console/process/cursorprocess.js +128 -128
  106. package/public/spice-console/process/inputprocess.js +227 -227
  107. package/public/spice-console/process/mainprocess.js +212 -212
  108. package/public/spice-console/run.js +210 -210
  109. package/store/main/mutations.ts +7 -7
  110. package/store/main/state.ts +7 -7
  111. package/store/tasks/mappers/recentTasks.ts +123 -123
  112. package/store/tasks/mutations.ts +82 -82
  113. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +0 -79
  114. /package/components/common/layout/theHeader/{TheHeaderOld.vue → Old.vue} +0 -0
  115. /package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/models/types.ts +0 -0
  116. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectNew.vue → New.vue} +0 -0
  117. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectOld.vue → Old.vue} +0 -0
  118. /package/components/common/layout/theHeader/userMenu/{userMenuNew → new}/lib/config/dropMenu.ts +0 -0
  119. /package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/models/types.ts +0 -0
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <atoms-modal :title="props.title" show width="864px" test-id="about-modal">
3
+ <template #modalHeader>
4
+ <div class="flex-align-center">
5
+ <h3 class="modal-title">{{ brandName }}® {{ props.projectName }}</h3>
6
+ <span class="separator" />
7
+ <h4 class="secondary-title">
8
+ {{ props.subtitle }}
9
+ </h4>
10
+ </div>
11
+ <button id="about-modal-button-close" class="close">
12
+ <atoms-the-icon
13
+ data-id="about-modal-button-close-icon"
14
+ class="close-icon"
15
+ name="close"
16
+ @click="() => emits('hide')"
17
+ />
18
+ </button>
19
+ </template>
20
+
21
+ <template #modalBody>
22
+ <div class="about-vsphere-dialog-legal-section">
23
+ <p>{{ props.aboutHeadingText }}</p>
24
+ <p>{{ localization.layout.aboutSubtitle }}</p>
25
+ </div>
26
+
27
+ <div class="about-vsphere-dialog-legal-section description">
28
+ {{ props.aboutDescOne
29
+ }}<a
30
+ id="about-description-link"
31
+ :href="url"
32
+ data-id="about-description-link"
33
+ target="_blank"
34
+ >{{ props.url }}</a
35
+ >{{ props.aboutDescSecond }}
36
+ </div>
37
+ </template>
38
+
39
+ <template #modalFooter>
40
+ <span></span>
41
+ </template>
42
+ </atoms-modal>
43
+ </template>
44
+
45
+ <script lang="ts" setup>
46
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
47
+
48
+ const props = defineProps<{
49
+ title: string
50
+ subtitle: string
51
+ aboutHeadingText: string
52
+ aboutDescOne: string
53
+ aboutDescSecond: string
54
+ projectName: string
55
+ url: string
56
+ }>()
57
+ const emits = defineEmits<{
58
+ (event: 'hide'): void
59
+ }>()
60
+
61
+ const localization = computed<UI_I_Localization>(() => useLocal())
62
+ const config = useRuntimeConfig()
63
+
64
+ const brandName = computed<string>(
65
+ () => config.public[`TRADEMARK_${useEnvLanguage()}`]
66
+ )
67
+ </script>
68
+
69
+ <style lang="scss" scoped>
70
+ .modal-title {
71
+ color: var(--main-color-mode);
72
+ }
73
+ .description {
74
+ padding-top: 10px;
75
+ font-size: 13px;
76
+ line-height: 19px;
77
+ }
78
+ </style>
@@ -83,7 +83,7 @@
83
83
  <script setup lang="ts">
84
84
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
85
85
  import type { UI_I_Localization } from '~/lib/models/interfaces'
86
- import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/helpMenuNew/lib/config/dropMenu'
86
+ import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/new/lib/config/dropMenu'
87
87
 
88
88
  const emits = defineEmits<{
89
89
  (event: 'select-dropdown', value: string): void
@@ -1,5 +1,5 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
1
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
2
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
3
3
 
4
4
  export const helpMenuFunc = (
5
5
  localization: UI_I_Localization
@@ -15,8 +15,8 @@
15
15
  <script setup lang="ts">
16
16
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
17
17
  import type { UI_I_Localization } from '~/lib/models/interfaces'
18
- import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/models/types'
19
- import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/config/dropMenu'
18
+ import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/old/lib/models/types'
19
+ import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/old/lib/config/dropMenu'
20
20
 
21
21
  const emits = defineEmits<{
22
22
  (event: 'select-dropdown', value: string): void
@@ -1,6 +1,6 @@
1
1
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
2
2
  import type { UI_I_Localization } from '~/lib/models/interfaces'
3
- import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/models/types'
3
+ import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/old/lib/models/types'
4
4
 
5
5
  export const helpMenuFunc = (
6
6
  localization: UI_I_Localization
@@ -1,14 +1,7 @@
1
1
  <template>
2
- <common-layout-the-header-modals-reconnect-new
3
- v-if="isNewView && isShow"
4
- :title="title"
5
- :timer="timer"
6
- :total-time="totalTime"
7
- @logout="onLogout"
8
- @reconnect="onReconnect"
9
- />
10
- <common-layout-the-header-modals-reconnect-old
11
- v-else-if="!isNewView && isShow"
2
+ <component
3
+ v-if="isShow"
4
+ :is="currentComponent"
12
5
  :title="title"
13
6
  :timer="timer"
14
7
  :total-time="totalTime"
@@ -25,6 +18,11 @@ const { $store }: any = useNuxtApp()
25
18
  const localization = computed<UI_I_Localization>(() => useLocal())
26
19
 
27
20
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
21
+ const currentComponent = computed(() =>
22
+ isNewView.value
23
+ ? defineAsyncComponent(() => import('./New.vue'))
24
+ : defineAsyncComponent(() => import('./Old.vue'))
25
+ )
28
26
 
29
27
  const isShow = computed<boolean>(
30
28
  () => $store.getters['main/isShowReconnectModal']
@@ -1,11 +1,6 @@
1
1
  <template>
2
- <common-layout-the-header-user-menu-user-menu-new
3
- v-if="props.newView"
4
- :hostname="props.hostname"
5
- @select-dropdown="onSelectDropdown"
6
- />
7
- <common-layout-the-header-user-menu-user-menu-old
8
- v-else
2
+ <component
3
+ :is="currentComponent"
9
4
  :hostname="props.hostname"
10
5
  @select-dropdown="onSelectDropdown"
11
6
  />
@@ -76,6 +71,12 @@ const emits = defineEmits<{
76
71
 
77
72
  const { $store }: any = useNuxtApp()
78
73
 
74
+ const currentComponent = computed(() =>
75
+ props.newView
76
+ ? defineAsyncComponent(() => import('./new/New.vue'))
77
+ : defineAsyncComponent(() => import('./old/Old.vue'))
78
+ )
79
+
79
80
  const isShowChangePasswordModal = ref<boolean>(false)
80
81
 
81
82
  const onLogout = async (): Promise<void> => {
@@ -81,6 +81,7 @@ const props = defineProps<{
81
81
  selectedLanguageType: UI_T_LangValue
82
82
  newView: boolean
83
83
  recovery: UI_I_Recovery | null // для Сферы
84
+ securityLoader: boolean // для warning console
84
85
  }>()
85
86
  const emits = defineEmits<{
86
87
  (event: 'hide'): void
@@ -108,8 +108,6 @@ const emits = defineEmits<{
108
108
  (event: 'submit'): void
109
109
  }>()
110
110
 
111
- // const { $store }: any = useNuxtApp()
112
-
113
111
  const localization = computed<UI_I_Localization>(() => useLocal())
114
112
 
115
113
  const isLoading = ref<boolean>(false)
@@ -1,25 +1,6 @@
1
1
  <template>
2
- <common-layout-the-header-user-menu-modals-preferences-new
3
- v-if="props.newView"
4
- v-model:security="security"
5
- v-model:new-view-local="newViewLocal"
6
- v-model:time-format="timeFormat"
7
- v-model:console-value="consoleValue"
8
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
9
- :project="props.project"
10
- :new-view="props.newView"
11
- :selected-language-type="props.selectedLanguageType"
12
- :selected-language="props.selectedLanguage"
13
- :recovery="props.recovery"
14
- @hide="emits('hide')"
15
- @reset="emits('reset')"
16
- @update-language="emits('update-language', $event)"
17
- @update-is-browser="emits('update-is-browser', $event)"
18
- @security-confirm="emits('security-confirm', $event)"
19
- @submit="emits('submit')"
20
- />
21
- <common-layout-the-header-user-menu-modals-preferences-old
22
- v-else
2
+ <component
3
+ :is="currentComponent"
23
4
  v-model:security="security"
24
5
  v-model:new-view-local="newViewLocal"
25
6
  v-model:time-format="timeFormat"
@@ -32,6 +13,7 @@
32
13
  :security-loader="props.securityLoader"
33
14
  :recovery="props.recovery"
34
15
  @hide="emits('hide')"
16
+ @reset="emits('reset')"
35
17
  @update-language="emits('update-language', $event)"
36
18
  @update-is-browser="emits('update-is-browser', $event)"
37
19
  @security-confirm="emits('security-confirm', $event)"
@@ -68,4 +50,10 @@ const emits = defineEmits<{
68
50
  (event: 'security-confirm', value: boolean): void
69
51
  (event: 'submit'): void
70
52
  }>()
53
+
54
+ const currentComponent = computed(() =>
55
+ props.newView
56
+ ? defineAsyncComponent(() => import('./New.vue'))
57
+ : defineAsyncComponent(() => import('./Old.vue'))
58
+ )
71
59
  </script>
@@ -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'
@@ -64,7 +64,7 @@
64
64
  <script setup lang="ts">
65
65
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
66
66
  import type { UI_I_Localization } from '~/lib/models/interfaces'
67
- import { userMenuFunc } from '~/components/common/layout/theHeader/userMenu/userMenuNew/lib/config/dropMenu'
67
+ import { userMenuFunc } from '~/components/common/layout/theHeader/userMenu/new/lib/config/dropMenu'
68
68
 
69
69
  const props = defineProps<{
70
70
  hostname: string
@@ -12,8 +12,8 @@
12
12
  <script setup lang="ts">
13
13
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
14
14
  import type { UI_I_Localization } from '~/lib/models/interfaces'
15
- import type { UI_T_ActionTypeUserMenu } from '~/components/common/layout/theHeader/userMenu/userMenuOld/lib/models/types'
16
- import { accountMenuFunc } from '~/components/common/layout/theHeader/userMenu/userMenuOld/lib/config/dropMenu'
15
+ import type { UI_T_ActionTypeUserMenu } from '~/components/common/layout/theHeader/userMenu/old/lib/models/types'
16
+ import { accountMenuFunc } from '~/components/common/layout/theHeader/userMenu/old/lib/config/dropMenu'
17
17
 
18
18
  const props = defineProps<{
19
19
  hostname: string
@@ -1,6 +1,6 @@
1
1
  import type { UI_I_Localization } from '~/lib/models/interfaces'
2
2
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
3
- import type { UI_T_ActionTypeUserMenu } from '~/components/common/layout/theHeader/userMenu/userMenuOld/lib/models/types'
3
+ import type { UI_T_ActionTypeUserMenu } from '~/components/common/layout/theHeader/userMenu/old/lib/models/types'
4
4
 
5
5
  export const accountMenuFunc = (
6
6
  localization: UI_I_Localization
@@ -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
+ }