bfg-common 1.4.582 → 1.4.583

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 (118) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +23 -53
  2. package/assets/img/icons/icons-sprite-dark-2.svg +1 -5
  3. package/assets/img/icons/icons-sprite-dark-4.svg +3 -7
  4. package/assets/img/icons/icons-sprite-dark-6.svg +92 -92
  5. package/assets/img/icons/icons-sprite-light-1.svg +23 -53
  6. package/assets/img/icons/icons-sprite-light-2.svg +1 -5
  7. package/assets/img/icons/icons-sprite-light-4.svg +3 -7
  8. package/assets/img/icons/icons-sprite-light-6.svg +92 -92
  9. package/assets/scss/common/icons/icons-6.scss +156 -156
  10. package/assets/scss/common/theme.scss +9 -1
  11. package/components/atoms/TheIcon3.vue +50 -50
  12. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  13. package/components/atoms/stack/StackBlock.vue +185 -185
  14. package/components/atoms/table/dataGrid/DataGrid.vue +1633 -1633
  15. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  16. package/components/common/browse/BrowseNew.vue +237 -237
  17. package/components/common/browse/BrowseOld.vue +217 -217
  18. package/components/common/browse/blocks/contents/Files.vue +35 -35
  19. package/components/common/browse/blocks/contents/FilesOld.vue +70 -70
  20. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +92 -92
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/context/lib/models/interfaces.ts +30 -30
  23. package/components/common/context/recursion/Recursion.vue +86 -86
  24. package/components/common/context/recursion/RecursionNew.vue +199 -199
  25. package/components/common/context/recursion/RecursionOld.vue +213 -213
  26. package/components/common/diagramMain/Diagram.vue +95 -82
  27. package/components/common/diagramMain/DiagramMain.vue +22 -1
  28. package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
  29. package/components/common/diagramMain/adapter/Contents.vue +21 -3
  30. package/components/common/diagramMain/lib/config/positions.ts +1 -1
  31. package/components/common/diagramMain/lib/models/enums.ts +1 -1
  32. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +3 -2
  33. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +6 -1
  34. package/components/common/diagramMain/network/Contents.vue +4 -1
  35. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +1 -1
  36. package/components/common/diagramMain/port/Port.vue +2 -0
  37. package/components/common/layout/theHeader/helpMenu/About.vue +85 -85
  38. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  39. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +152 -152
  40. package/components/common/pages/home/headline/HeadlineNew.vue +48 -71
  41. package/components/common/pages/home/resource/ResourceNew.vue +58 -63
  42. package/components/common/pages/home/widgets/WidgetsNew.vue +74 -79
  43. package/components/common/pages/shortcuts/block/BlockNew.vue +71 -80
  44. package/components/common/spiceConsole/Drawer.vue +370 -370
  45. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  46. package/components/common/split/horizontal/HorizontalNew.vue +354 -354
  47. package/components/common/split/vertical/Vertical.vue +160 -223
  48. package/components/common/split/vertical/VerticalNew.vue +123 -0
  49. package/components/common/split/vertical/VerticalOld.vue +108 -0
  50. package/components/common/vm/actions/add/Add.vue +617 -617
  51. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  52. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  53. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +264 -264
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -118
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +55 -55
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +74 -74
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +27 -27
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +100 -100
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  103. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  104. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  105. package/components/common/vm/actions/common/select/storage/new/New.vue +159 -159
  106. package/components/common/vm/actions/editSettings/EditSettings.vue +214 -214
  107. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +182 -182
  108. package/components/common/vm/actions/editSettings/new/New.vue +176 -176
  109. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  110. package/composables/productNameLocal.ts +30 -30
  111. package/package.json +2 -2
  112. package/plugins/date.ts +233 -233
  113. package/plugins/recursion.ts +311 -311
  114. package/public/spice-console/lib/images/bitmap.js +203 -203
  115. package/public/spice-console/network/spicechannel.js +383 -383
  116. package/store/main/mutations.ts +7 -7
  117. package/store/main/state.ts +7 -7
  118. package/store/tasks/mappers/recentTasks.ts +2 -2
@@ -1,152 +1,152 @@
1
- <template>
2
- <common-main-navigation-panel-new
3
- v-if="props.isNewView"
4
- v-model:main-menu-hovered="mainMenuHovered"
5
- v-model:menu-pined="menuPined"
6
- :main-menu-status="props.mainMenuStatus"
7
- :navigation-items="props.navigationItems"
8
- :parent-status="props.parentStatus"
9
- :disabled-pin="props.disabledPin"
10
- :menu-collapsed="menuCollapsed"
11
- :show-menu="showMenu"
12
- @toggle="emits('toggle', $event)"
13
- @collapse-menu="collapseMenu"
14
- @change-menu-pin="changeMenuPin"
15
- @hide-main-menu="hideMainMenu"
16
- />
17
- <common-main-navigation-panel-old
18
- v-else
19
- v-model:main-menu-hovered="mainMenuHovered"
20
- v-model:menu-pined="menuPined"
21
- :main-menu-status="props.mainMenuStatus"
22
- :navigation-items="props.navigationItems"
23
- :parent-status="props.parentStatus"
24
- :disabled-pin="props.disabledPin"
25
- :menu-collapsed="menuCollapsed"
26
- :show-menu="showMenu"
27
- @toggle="emits('toggle', $event)"
28
- @collapse-menu="collapseMenu"
29
- @change-menu-pin="changeMenuPin"
30
- @hide-main-menu="hideMainMenu"
31
- />
32
- </template>
33
-
34
- <script setup lang="ts">
35
- import type { UI_I_NavigationItem } from '~/components/common/mainNavigationPanel/lib/models/interfaces'
36
- import type { UI_T_ParentStatus } from '~/components/common/mainNavigationPanel/lib/models/types'
37
-
38
- const props = withDefaults(
39
- defineProps<{
40
- mainMenuStatus: boolean
41
- navigationItems: UI_I_NavigationItem[][]
42
- parentStatus: UI_T_ParentStatus
43
- disabledPin: boolean
44
- isNewView?: boolean
45
- }>(),
46
- {
47
- isNewView: false,
48
- }
49
- )
50
-
51
- const emits = defineEmits<{
52
- (event: 'toggle', value: boolean): void
53
- }>()
54
-
55
- const { $store }: any = useNuxtApp()
56
-
57
- const route = useRoute()
58
-
59
- const showMenu = computed<boolean>(
60
- () => props.mainMenuStatus || menuPined.value
61
- )
62
-
63
- const menuPined = ref<boolean>(false)
64
- const changeMenuPin = (): void => {
65
- useLocalStorage('menuPined', menuPined.value)
66
- }
67
- const setMenuPined = (): void => {
68
- menuPined.value = props.disabledPin ? false : useLocalStorage('menuPined')
69
- }
70
- watch(
71
- () => props.disabledPin,
72
- () => {
73
- setMenuPined()
74
- },
75
- { immediate: true }
76
- )
77
-
78
- const menuCollapsed = ref<boolean>(false)
79
- const collapseMenu = (): void => {
80
- menuCollapsed.value = !menuCollapsed.value
81
- useLocalStorage('menuCollapsed', menuCollapsed.value)
82
- }
83
-
84
- const mainMenuHovered = ref<boolean>(false)
85
-
86
- const clickWindow = (event: Event): void => {
87
- const target = event.target as any
88
- if (
89
- menuPined.value ||
90
- mainMenuHovered.value ||
91
- target.className.baseVal?.includes('menu-icon') ||
92
- target.className.baseVal?.includes('clr-i-outline')
93
- ) {
94
- return
95
- }
96
-
97
- emits('toggle', false)
98
- }
99
-
100
- const mountedReady = ref<boolean>(false)
101
- onMounted(() => {
102
- mountedReady.value = true
103
- window.addEventListener('click', clickWindow)
104
- })
105
-
106
- onUnmounted(() => {
107
- window.removeEventListener('click', clickWindow)
108
- })
109
-
110
- watch(
111
- [mountedReady, (): any => route.fullPath, (): any => props.parentStatus],
112
- ([newValue1, newValue2, newValue3]: [
113
- boolean,
114
- any,
115
- UI_T_ParentStatus
116
- ]): void => {
117
- if (newValue3 === 1) return
118
-
119
- const name = location.pathname.split('/')[1]
120
-
121
- if (!newValue1 || name === 'auth') return
122
-
123
- setSidebarOptions()
124
- useLocalStorage('navigationHistoryRoute', newValue2)
125
- },
126
- { immediate: true, deep: true }
127
- )
128
-
129
- const setSidebarOptions = (): void => {
130
- setMenuPined()
131
- menuCollapsed.value = useLocalStorage('menuCollapsed')
132
-
133
- if (menuPined.value) {
134
- emits('toggle', true)
135
- }
136
- }
137
-
138
- const hideMainMenu = (): void => {
139
- if (menuPined.value) return
140
- emits('toggle', false)
141
- }
142
-
143
- watch(
144
- menuPined,
145
- (newValue) => {
146
- $store.dispatch('main/A_MENU_PINED', newValue)
147
- },
148
- { immediate: true }
149
- )
150
- </script>
151
-
152
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-main-navigation-panel-new
3
+ v-if="props.isNewView"
4
+ v-model:main-menu-hovered="mainMenuHovered"
5
+ v-model:menu-pined="menuPined"
6
+ :main-menu-status="props.mainMenuStatus"
7
+ :navigation-items="props.navigationItems"
8
+ :parent-status="props.parentStatus"
9
+ :disabled-pin="props.disabledPin"
10
+ :menu-collapsed="menuCollapsed"
11
+ :show-menu="showMenu"
12
+ @toggle="emits('toggle', $event)"
13
+ @collapse-menu="collapseMenu"
14
+ @change-menu-pin="changeMenuPin"
15
+ @hide-main-menu="hideMainMenu"
16
+ />
17
+ <common-main-navigation-panel-old
18
+ v-else
19
+ v-model:main-menu-hovered="mainMenuHovered"
20
+ v-model:menu-pined="menuPined"
21
+ :main-menu-status="props.mainMenuStatus"
22
+ :navigation-items="props.navigationItems"
23
+ :parent-status="props.parentStatus"
24
+ :disabled-pin="props.disabledPin"
25
+ :menu-collapsed="menuCollapsed"
26
+ :show-menu="showMenu"
27
+ @toggle="emits('toggle', $event)"
28
+ @collapse-menu="collapseMenu"
29
+ @change-menu-pin="changeMenuPin"
30
+ @hide-main-menu="hideMainMenu"
31
+ />
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import type { UI_I_NavigationItem } from '~/components/common/mainNavigationPanel/lib/models/interfaces'
36
+ import type { UI_T_ParentStatus } from '~/components/common/mainNavigationPanel/lib/models/types'
37
+
38
+ const props = withDefaults(
39
+ defineProps<{
40
+ mainMenuStatus: boolean
41
+ navigationItems: UI_I_NavigationItem[][]
42
+ parentStatus: UI_T_ParentStatus
43
+ disabledPin: boolean
44
+ isNewView?: boolean
45
+ }>(),
46
+ {
47
+ isNewView: false,
48
+ }
49
+ )
50
+
51
+ const emits = defineEmits<{
52
+ (event: 'toggle', value: boolean): void
53
+ }>()
54
+
55
+ const { $store }: any = useNuxtApp()
56
+
57
+ const route = useRoute()
58
+
59
+ const showMenu = computed<boolean>(
60
+ () => props.mainMenuStatus || menuPined.value
61
+ )
62
+
63
+ const menuPined = ref<boolean>(false)
64
+ const changeMenuPin = (): void => {
65
+ useLocalStorage('menuPined', menuPined.value)
66
+ }
67
+ const setMenuPined = (): void => {
68
+ menuPined.value = props.disabledPin ? false : useLocalStorage('menuPined')
69
+ }
70
+ watch(
71
+ () => props.disabledPin,
72
+ () => {
73
+ setMenuPined()
74
+ },
75
+ { immediate: true }
76
+ )
77
+
78
+ const menuCollapsed = ref<boolean>(false)
79
+ const collapseMenu = (): void => {
80
+ menuCollapsed.value = !menuCollapsed.value
81
+ useLocalStorage('menuCollapsed', menuCollapsed.value)
82
+ }
83
+
84
+ const mainMenuHovered = ref<boolean>(false)
85
+
86
+ const clickWindow = (event: Event): void => {
87
+ const target = event.target as any
88
+ if (
89
+ menuPined.value ||
90
+ mainMenuHovered.value ||
91
+ target.className.baseVal?.includes('menu-icon') ||
92
+ target.className.baseVal?.includes('clr-i-outline')
93
+ ) {
94
+ return
95
+ }
96
+
97
+ emits('toggle', false)
98
+ }
99
+
100
+ const mountedReady = ref<boolean>(false)
101
+ onMounted(() => {
102
+ mountedReady.value = true
103
+ window.addEventListener('click', clickWindow)
104
+ })
105
+
106
+ onUnmounted(() => {
107
+ window.removeEventListener('click', clickWindow)
108
+ })
109
+
110
+ watch(
111
+ [mountedReady, (): any => route.fullPath, (): any => props.parentStatus],
112
+ ([newValue1, newValue2, newValue3]: [
113
+ boolean,
114
+ any,
115
+ UI_T_ParentStatus
116
+ ]): void => {
117
+ if (newValue3 === 1) return
118
+
119
+ const name = location.pathname.split('/')[1]
120
+
121
+ if (!newValue1 || name === 'auth') return
122
+
123
+ setSidebarOptions()
124
+ useLocalStorage('navigationHistoryRoute', newValue2)
125
+ },
126
+ { immediate: true, deep: true }
127
+ )
128
+
129
+ const setSidebarOptions = (): void => {
130
+ setMenuPined()
131
+ menuCollapsed.value = useLocalStorage('menuCollapsed')
132
+
133
+ if (menuPined.value) {
134
+ emits('toggle', true)
135
+ }
136
+ }
137
+
138
+ const hideMainMenu = (): void => {
139
+ if (menuPined.value) return
140
+ emits('toggle', false)
141
+ }
142
+
143
+ watch(
144
+ menuPined,
145
+ (newValue) => {
146
+ $store.dispatch('main/A_MENU_PINED', newValue)
147
+ },
148
+ { immediate: true }
149
+ )
150
+ </script>
151
+
152
+ <style scoped lang="scss"></style>
@@ -1,71 +1,48 @@
1
- <template>
2
- <div class="container-flex">
3
- <h1>{{ localization.mainNavigation.home }}</h1>
4
-
5
- <ui-select
6
- v-if="isProjectSphere"
7
- v-model="selectedZoneModel"
8
- :items="selectItems"
9
- :disabled="!selectItems.length"
10
- width="165px"
11
- select-width="100%"
12
- size="sm"
13
- test-id="home-zone-select"
14
- >
15
- <template v-if="!selectItems.length" #toggleContent>
16
- <div class="default-toggle-content">
17
- <span class="default-icon vsphere-icon-vcenter"></span>
18
- <span class="text">{{ localization.common.default }}</span>
19
- </div>
20
- </template>
21
- </ui-select>
22
- </div>
23
- </template>
24
-
25
- <script lang="ts" setup>
26
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
27
- import type { UI_I_Localization } from '~/lib/models/interfaces'
28
- import type { UI_T_Project } from '~/lib/models/types'
29
-
30
- const props = defineProps<{
31
- project: UI_T_Project
32
- }>()
33
- const selectedZoneModel = defineModel<number>({ required: true })
34
-
35
- const localization = computed<UI_I_Localization>(() => useLocal())
36
-
37
- const isProjectSphere = computed<boolean>(() => props.project === 'sphere')
38
-
39
- const selectItems = computed<UI_I_Dropdown[]>(() => {
40
- return []
41
- })
42
- </script>
43
-
44
- <style lang="scss" scoped>
45
- @import '/assets/scss/common/mixins';
46
- .container-flex {
47
- @include flex($align: center, $just: space-between);
48
- & > h1 {
49
- color: var(--home-title-color);
50
- font-size: 22px;
51
- font-weight: 400;
52
- line-height: 26.63px;
53
- margin-bottom: 19px;
54
- }
55
-
56
- .default-toggle-content {
57
- display: flex;
58
- align-items: center;
59
- grid-gap: 8px;
60
-
61
- .default-icon {
62
- width: 20px;
63
- height: 20px;
64
- }
65
- .text {
66
- font-size: 13px;
67
- font-weight: 400;
68
- }
69
- }
70
- }
71
- </style>
1
+ <template>
2
+ <div class="container-flex">
3
+ <h1>{{ localization.mainNavigation.home }}</h1>
4
+
5
+ <ui-select
6
+ v-if="isProjectSphere"
7
+ v-model="selectedZoneModel"
8
+ :items="selectItems"
9
+ width="165px"
10
+ select-width="100%"
11
+ size="sm"
12
+ test-id="home-zone-select"
13
+ />
14
+ </div>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
19
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
20
+ import type { UI_T_Project } from '~/lib/models/types'
21
+
22
+ const props = defineProps<{
23
+ project: UI_T_Project
24
+ }>()
25
+ const selectedZoneModel = defineModel<number>({ required: true })
26
+
27
+ const localization = computed<UI_I_Localization>(() => useLocal())
28
+
29
+ const isProjectSphere = computed<boolean>(() => props.project === 'sphere')
30
+
31
+ const selectItems = computed<UI_I_Dropdown[]>(() => {
32
+ return []
33
+ })
34
+ </script>
35
+
36
+ <style lang="scss" scoped>
37
+ @import '/assets/scss/common/mixins';
38
+ .container-flex {
39
+ @include flex($align: center, $just: space-between);
40
+ & > h1 {
41
+ color: var(--home-title-color);
42
+ font-size: 22px;
43
+ font-weight: 400;
44
+ line-height: 26.63px;
45
+ margin-bottom: 19px;
46
+ }
47
+ }
48
+ </style>
@@ -1,63 +1,58 @@
1
- <template>
2
- <div class="total-usages">
3
- <h1>{{ localization.home.totalUsages }}</h1>
4
- <div class="total-usages__container">
5
- <ui-widget v-for="(item, key) in resourceMeter" :key="key">
6
- <template v-if="props.loading">
7
- <ui-widget-items-skeleton-line-bar />
8
- </template>
9
- <ui-widget-items-progress-bar-linear
10
- v-else
11
- id="host-summary-memory"
12
- container-id="host"
13
- :icon="item.icon"
14
- :title="item.title"
15
- :data="item.data"
16
- :used-title="item.usedTitle"
17
- :capacity-title="item.capacityTitle"
18
- :status="item.status"
19
- />
20
- </ui-widget>
21
- </div>
22
- </div>
23
- </template>
24
-
25
- <script lang="ts" setup>
26
- import type { UI_I_Localization } from '~/lib/models/interfaces'
27
- import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
28
- import type { UI_I_ResourceBlock } from '~/components/common/pages/home/resource/lib/models/interfaces'
29
- import { constructResourceMeter } from '~/components/common/pages/home/resource/lib/utils/resourceMeter'
30
-
31
- const props = defineProps<{
32
- items: UI_I_Resources[]
33
- loading: boolean
34
- }>()
35
-
36
- const localization = computed<UI_I_Localization>(() => useLocal())
37
-
38
- const resourceMeter = computed<UI_I_ResourceBlock[]>(() =>
39
- constructResourceMeter(props.items, localization.value)
40
- )
41
- </script>
42
-
43
- <style lang="scss" scoped>
44
- .total-usages {
45
- & > h1 {
46
- font-size: 14px;
47
- font-weight: 400;
48
- line-height: 16.94px;
49
- color: #9da6ad;
50
- margin-bottom: 12px;
51
- }
52
- &__container {
53
- display: grid;
54
- grid-template-columns: repeat(3, 1fr);
55
- grid-column-gap: 12px;
56
-
57
- @media (max-width: 1440px) {
58
- grid-template-columns: 1fr;
59
- grid-row-gap: 12px;
60
- }
61
- }
62
- }
63
- </style>
1
+ <template>
2
+ <div class="total-usages">
3
+ <h1>{{ localization.home.totalUsages }}</h1>
4
+ <div class="total-usages__container">
5
+ <ui-widget v-for="(item, key) in resourceMeter" :key="key">
6
+ <template v-if="props.loading">
7
+ <ui-widget-items-skeleton-line-bar />
8
+ </template>
9
+ <ui-widget-items-progress-bar-linear
10
+ v-else
11
+ id="host-summary-memory"
12
+ container-id="host"
13
+ :icon="item.icon"
14
+ :title="item.title"
15
+ :data="item.data"
16
+ :used-title="item.usedTitle"
17
+ :capacity-title="item.capacityTitle"
18
+ :status="item.status"
19
+ />
20
+ </ui-widget>
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script lang="ts" setup>
26
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
27
+ import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
28
+ import type { UI_I_ResourceBlock } from '~/components/common/pages/home/resource/lib/models/interfaces'
29
+ import { constructResourceMeter } from '~/components/common/pages/home/resource/lib/utils/resourceMeter'
30
+
31
+ const props = defineProps<{
32
+ items: UI_I_Resources[]
33
+ loading: boolean
34
+ }>()
35
+
36
+ const localization = computed<UI_I_Localization>(() => useLocal())
37
+
38
+ const resourceMeter = computed<UI_I_ResourceBlock[]>(() =>
39
+ constructResourceMeter(props.items, localization.value)
40
+ )
41
+ </script>
42
+
43
+ <style lang="scss" scoped>
44
+ .total-usages {
45
+ & > h1 {
46
+ font-size: 14px;
47
+ font-weight: 400;
48
+ line-height: 16.94px;
49
+ color: #9da6ad;
50
+ margin-bottom: 12px;
51
+ }
52
+ &__container {
53
+ display: grid;
54
+ grid-template-columns: repeat(3, 1fr);
55
+ grid-column-gap: 12px;
56
+ }
57
+ }
58
+ </style>