bfg-common 1.5.123 → 1.5.124

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 (124) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  5. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  6. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  7. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  8. package/components/common/context/lib/models/interfaces.ts +31 -31
  9. package/components/common/context/recursion/Recursion.vue +87 -87
  10. package/components/common/context/recursion/RecursionNew.vue +238 -238
  11. package/components/common/diagramMain/DiagramMain.vue +897 -897
  12. package/components/common/diagramMain/Header.vue +214 -214
  13. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  14. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  15. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  16. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  17. package/components/common/pages/home/headline/Headline.vue +45 -45
  18. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  19. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  20. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  21. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  22. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  23. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  24. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  25. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  26. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  27. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  28. package/components/common/pages/packages/Packages.vue +208 -208
  29. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  30. package/components/common/readyToComplete/New.vue +66 -66
  31. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  32. package/components/common/recursionTree/RecursionTree.vue +223 -223
  33. package/components/common/select/button/ButtonDropdown.vue +108 -108
  34. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  35. package/components/common/vm/actions/add/Add.vue +785 -785
  36. package/components/common/vm/actions/add/New.vue +556 -556
  37. package/components/common/vm/actions/add/Old.vue +371 -371
  38. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  39. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  40. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  41. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  42. package/components/common/vm/actions/clone/Clone.vue +801 -798
  43. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  44. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  45. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +149 -149
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +74 -74
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  90. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  91. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -100
  92. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  93. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  94. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  95. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  96. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  97. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  98. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  99. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  100. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  101. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  102. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  103. package/components/common/vm/actions/common/select/storage/Storage.vue +131 -131
  104. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -326
  105. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  106. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  107. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  108. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  109. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  110. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  111. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  112. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  113. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  114. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  115. package/composables/productNameLocal.ts +30 -30
  116. package/composables/useAppVersion.ts +21 -21
  117. package/package.json +1 -1
  118. package/plugins/date.ts +233 -233
  119. package/plugins/directives.ts +24 -24
  120. package/public/spice-console/lib/images/bitmap.js +203 -203
  121. package/public/spice-console/network/spicechannel.js +383 -383
  122. package/store/main/mutations.ts +7 -7
  123. package/store/main/state.ts +7 -7
  124. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,139 +1,139 @@
1
- <template>
2
- <div class="charts-view">
3
- <div v-if="!props.allData.length" class="content-global-loading">
4
- {{ localization.common.loading }}...
5
- </div>
6
- <template v-else>
7
- <template
8
- v-for="(chartData, key) in props.allData"
9
- :key="chartData.title"
10
- >
11
- <div :class="['chart-container', `graph-${chartData.title}`]">
12
- <div v-if="chartData.loader" class="graphic-loader-block">
13
- <div class="spinner"></div>
14
- <p>{{ localization.inventoryMonitor.retrievingData }}...</p>
15
- </div>
16
- <common-graph
17
- v-else-if="chartData.data"
18
- :data="chartData.data"
19
- :chart="props.charts[key]"
20
- :update="props.updateHelper"
21
- />
22
- <div v-else class="graph-empty-block">
23
- <div class="title">{{ chartData.title }}</div>
24
- <div class="body-block">
25
- {{ localization.common.emptyGraphText }}
26
- </div>
27
- </div>
28
- </div>
29
- </template>
30
- </template>
31
- </div>
32
- </template>
33
-
34
- <script setup lang="ts">
35
- import type { UI_I_Localization } from '~/lib/models/interfaces'
36
- import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
37
-
38
- const props = defineProps<{
39
- charts: (UI_I_GraphDataSettingItem | null)[]
40
- allData: UI_I_GraphDataSettingItem[]
41
- updateHelper: number
42
- }>()
43
-
44
- const localization = computed<UI_I_Localization>(() => useLocal())
45
- </script>
46
-
47
- <style>
48
- :root {
49
- --loader-bg-color: #ffffff;
50
- }
51
- :root.dark-theme {
52
- --loader-bg-color: #22343c;
53
- }
54
- </style>
55
-
56
- <style scoped lang="scss">
57
- .charts-view {
58
- position: relative;
59
- display: flex;
60
- flex-direction: row;
61
- flex-wrap: wrap;
62
- justify-content: space-between;
63
- overflow: auto;
64
- height: 100%;
65
-
66
- .graphic-loader-block {
67
- background-color: var(--loader-bg-color);
68
- height: 100%;
69
- display: flex;
70
- flex-direction: column;
71
- align-items: center;
72
- justify-content: center;
73
- }
74
-
75
- .graph-empty-block {
76
- display: flex;
77
- flex-direction: column;
78
- height: 100%;
79
- background-color: var(--loader-bg-color);
80
-
81
- .title {
82
- text-align: center;
83
- font-size: 18px;
84
- margin-top: 10px;
85
- color: var(--global-font-color);
86
- }
87
-
88
- .body-block {
89
- height: 100%;
90
- display: flex;
91
- justify-content: center;
92
- text-align: center;
93
- align-items: center;
94
- color: var(--global-font-color);
95
- }
96
- }
97
-
98
- .chart-container {
99
- box-sizing: border-box;
100
- flex-grow: 1;
101
- padding: 5px;
102
- min-height: 300px;
103
- height: 100%;
104
- min-width: 300px;
105
- width: 100%;
106
- position: relative;
107
-
108
- &:first-child:last-child {
109
- height: 100%;
110
- width: 100%;
111
- }
112
-
113
- &:first-child:nth-last-child(2),
114
- &:nth-child(2):last-child {
115
- width: 50%;
116
- height: 100%;
117
- }
118
- }
119
-
120
- .content-global-loading {
121
- width: 100%;
122
- height: 100%;
123
- display: flex;
124
- align-items: center;
125
- justify-content: center;
126
- color: var(--global-font-color);
127
- }
128
- }
129
- @media (min-width: 1280px) {
130
- .charts-view .chart-container {
131
- width: 50%;
132
- }
133
- }
134
- @media (min-height: 800px) {
135
- .charts-view .chart-container {
136
- height: 50%;
137
- }
138
- }
139
- </style>
1
+ <template>
2
+ <div class="charts-view">
3
+ <div v-if="!props.allData.length" class="content-global-loading">
4
+ {{ localization.common.loading }}...
5
+ </div>
6
+ <template v-else>
7
+ <template
8
+ v-for="(chartData, key) in props.allData"
9
+ :key="chartData.title"
10
+ >
11
+ <div :class="['chart-container', `graph-${chartData.title}`]">
12
+ <div v-if="chartData.loader" class="graphic-loader-block">
13
+ <div class="spinner"></div>
14
+ <p>{{ localization.inventoryMonitor.retrievingData }}...</p>
15
+ </div>
16
+ <common-graph
17
+ v-else-if="chartData.data"
18
+ :data="chartData.data"
19
+ :chart="props.charts[key]"
20
+ :update="props.updateHelper"
21
+ />
22
+ <div v-else class="graph-empty-block">
23
+ <div class="title">{{ chartData.title }}</div>
24
+ <div class="body-block">
25
+ {{ localization.common.emptyGraphText }}
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </template>
30
+ </template>
31
+ </div>
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
36
+ import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
37
+
38
+ const props = defineProps<{
39
+ charts: (UI_I_GraphDataSettingItem | null)[]
40
+ allData: UI_I_GraphDataSettingItem[]
41
+ updateHelper: number
42
+ }>()
43
+
44
+ const localization = computed<UI_I_Localization>(() => useLocal())
45
+ </script>
46
+
47
+ <style>
48
+ :root {
49
+ --loader-bg-color: #ffffff;
50
+ }
51
+ :root.dark-theme {
52
+ --loader-bg-color: #22343c;
53
+ }
54
+ </style>
55
+
56
+ <style scoped lang="scss">
57
+ .charts-view {
58
+ position: relative;
59
+ display: flex;
60
+ flex-direction: row;
61
+ flex-wrap: wrap;
62
+ justify-content: space-between;
63
+ overflow: auto;
64
+ height: 100%;
65
+
66
+ .graphic-loader-block {
67
+ background-color: var(--loader-bg-color);
68
+ height: 100%;
69
+ display: flex;
70
+ flex-direction: column;
71
+ align-items: center;
72
+ justify-content: center;
73
+ }
74
+
75
+ .graph-empty-block {
76
+ display: flex;
77
+ flex-direction: column;
78
+ height: 100%;
79
+ background-color: var(--loader-bg-color);
80
+
81
+ .title {
82
+ text-align: center;
83
+ font-size: 18px;
84
+ margin-top: 10px;
85
+ color: var(--global-font-color);
86
+ }
87
+
88
+ .body-block {
89
+ height: 100%;
90
+ display: flex;
91
+ justify-content: center;
92
+ text-align: center;
93
+ align-items: center;
94
+ color: var(--global-font-color);
95
+ }
96
+ }
97
+
98
+ .chart-container {
99
+ box-sizing: border-box;
100
+ flex-grow: 1;
101
+ padding: 5px;
102
+ min-height: 300px;
103
+ height: 100%;
104
+ min-width: 300px;
105
+ width: 100%;
106
+ position: relative;
107
+
108
+ &:first-child:last-child {
109
+ height: 100%;
110
+ width: 100%;
111
+ }
112
+
113
+ &:first-child:nth-last-child(2),
114
+ &:nth-child(2):last-child {
115
+ width: 50%;
116
+ height: 100%;
117
+ }
118
+ }
119
+
120
+ .content-global-loading {
121
+ width: 100%;
122
+ height: 100%;
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ color: var(--global-font-color);
127
+ }
128
+ }
129
+ @media (min-width: 1280px) {
130
+ .charts-view .chart-container {
131
+ width: 50%;
132
+ }
133
+ }
134
+ @media (min-height: 800px) {
135
+ .charts-view .chart-container {
136
+ height: 50%;
137
+ }
138
+ }
139
+ </style>
@@ -1,45 +1,45 @@
1
- <template>
2
- <div class="home-headline">
3
- <common-pages-home-headline-new
4
- v-if="isNewView"
5
- v-model="selectedZone"
6
- :data="zoneOptionList"
7
- :project="props.project"
8
- />
9
-
10
- <common-pages-home-headline-old
11
- v-else
12
- v-model="selectedZone"
13
- :data="zoneOptionList"
14
- :project="props.project"
15
- />
16
- </div>
17
- </template>
18
-
19
- <script lang="ts" setup>
20
- import type { UI_I_ZoneList } from '~/components/common/pages/home/lib/models/interfaces'
21
- import type { UI_T_Project } from '~/lib/models/types'
22
-
23
- const selectedZone = defineModel<string>('selectedZone', { required: true })
24
-
25
- const props = defineProps<{
26
- zoneList: UI_I_ZoneList[]
27
- project: UI_T_Project
28
- }>()
29
-
30
- const { $store }: any = useNuxtApp()
31
-
32
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
-
34
- const zoneOptionList = computed<UI_I_ZoneList[]>(() => props.zoneList)
35
- </script>
36
-
37
- <style lang="scss">
38
- :root {
39
- --home-title-color: #4d5d69;
40
- }
41
-
42
- :root.dark-theme {
43
- --home-title-color: #e9eaec;
44
- }
45
- </style>
1
+ <template>
2
+ <div class="home-headline">
3
+ <common-pages-home-headline-new
4
+ v-if="isNewView"
5
+ v-model="selectedZone"
6
+ :data="zoneOptionList"
7
+ :project="props.project"
8
+ />
9
+
10
+ <common-pages-home-headline-old
11
+ v-else
12
+ v-model="selectedZone"
13
+ :data="zoneOptionList"
14
+ :project="props.project"
15
+ />
16
+ </div>
17
+ </template>
18
+
19
+ <script lang="ts" setup>
20
+ import type { UI_I_ZoneList } from '~/components/common/pages/home/lib/models/interfaces'
21
+ import type { UI_T_Project } from '~/lib/models/types'
22
+
23
+ const selectedZone = defineModel<string>('selectedZone', { required: true })
24
+
25
+ const props = defineProps<{
26
+ zoneList: UI_I_ZoneList[]
27
+ project: UI_T_Project
28
+ }>()
29
+
30
+ const { $store }: any = useNuxtApp()
31
+
32
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
+
34
+ const zoneOptionList = computed<UI_I_ZoneList[]>(() => props.zoneList)
35
+ </script>
36
+
37
+ <style lang="scss">
38
+ :root {
39
+ --home-title-color: #4d5d69;
40
+ }
41
+
42
+ :root.dark-theme {
43
+ --home-title-color: #e9eaec;
44
+ }
45
+ </style>
@@ -1,42 +1,42 @@
1
- <template>
2
- <h2 class="headline-title">
3
- {{ localization.mainNavigation.home }}
4
- </h2>
5
-
6
- <atoms-select-the-select
7
- v-if="isProjectSphere"
8
- v-model="selectedZoneModel"
9
- :options="props.data"
10
- test-id="home-zone-select"
11
- @update:model-value="emits('update')"
12
- >
13
- <span class="vsphere-icon-vcenter" />
14
- </atoms-select-the-select>
15
- </template>
16
-
17
- <script lang="ts" setup>
18
- import type { UI_T_Project } from '~/lib/models/types'
19
- import type { UI_I_Localization } from '~/lib/models/interfaces'
20
- import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
21
-
22
- const selectedZoneModel = defineModel<string>({ required: true })
23
- const props = defineProps<{
24
- project: UI_T_Project
25
- data: UI_I_Option[]
26
- }>()
27
- const emits = defineEmits<{
28
- (event: 'update'): void
29
- }>()
30
-
31
- const localization = computed<UI_I_Localization>(() => useLocal())
32
-
33
- const isProjectSphere = ref<boolean>(props.project === 'sphere')
34
- </script>
35
-
36
- <style lang="scss" scoped>
37
- .headline-title {
38
- font-size: 28px;
39
- font-weight: 200;
40
- letter-spacing: normal;
41
- }
42
- </style>
1
+ <template>
2
+ <h2 class="headline-title">
3
+ {{ localization.mainNavigation.home }}
4
+ </h2>
5
+
6
+ <atoms-select-the-select
7
+ v-if="isProjectSphere"
8
+ v-model="selectedZoneModel"
9
+ :options="props.data"
10
+ test-id="home-zone-select"
11
+ @update:model-value="emits('update')"
12
+ >
13
+ <span class="vsphere-icon-vcenter" />
14
+ </atoms-select-the-select>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import type { UI_T_Project } from '~/lib/models/types'
19
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
20
+ import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
21
+
22
+ const selectedZoneModel = defineModel<string>({ required: true })
23
+ const props = defineProps<{
24
+ project: UI_T_Project
25
+ data: UI_I_Option[]
26
+ }>()
27
+ const emits = defineEmits<{
28
+ (event: 'update'): void
29
+ }>()
30
+
31
+ const localization = computed<UI_I_Localization>(() => useLocal())
32
+
33
+ const isProjectSphere = ref<boolean>(props.project === 'sphere')
34
+ </script>
35
+
36
+ <style lang="scss" scoped>
37
+ .headline-title {
38
+ font-size: 28px;
39
+ font-weight: 200;
40
+ letter-spacing: normal;
41
+ }
42
+ </style>
@@ -1,48 +1,48 @@
1
- import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
2
- import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
3
- import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
4
-
5
- export interface UI_I_ZoneList extends UI_I_Option {}
6
- export interface UI_I_Hosts {
7
- connected: number
8
- disconnected: number
9
- maintenance: number
10
- total: number
11
- }
12
-
13
- export interface UI_I_Vms {
14
- powered_on: number
15
- powered_off: number
16
- suspended: number
17
- total: number
18
- }
19
-
20
- export interface UI_I_Alert {
21
- item: string
22
- type: UI_T_NodeType
23
- id: number
24
- alerts: number
25
- warnings: number
26
- }
27
-
28
- export interface UI_I_Service {
29
- id: number
30
- item: string
31
- statusIcon: string
32
- statusText: string
33
- version: string
34
- }
35
-
36
- export interface UI_I_HomeInfo {
37
- resource_meter: UI_I_Resources[]
38
- vms: UI_I_Vms
39
- alerts: UI_I_Alert[]
40
- services: UI_I_Service[]
41
- hosts?: UI_I_Hosts
42
- }
43
-
44
- export interface UI_I_Card {
45
- text: string
46
- value: number
47
- icon?: string
48
- }
1
+ import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
2
+ import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
3
+ import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
4
+
5
+ export interface UI_I_ZoneList extends UI_I_Option {}
6
+ export interface UI_I_Hosts {
7
+ connected: number
8
+ disconnected: number
9
+ maintenance: number
10
+ total: number
11
+ }
12
+
13
+ export interface UI_I_Vms {
14
+ powered_on: number
15
+ powered_off: number
16
+ suspended: number
17
+ total: number
18
+ }
19
+
20
+ export interface UI_I_Alert {
21
+ item: string
22
+ type: UI_T_NodeType
23
+ id: number
24
+ alerts: number
25
+ warnings: number
26
+ }
27
+
28
+ export interface UI_I_Service {
29
+ id: number
30
+ item: string
31
+ statusIcon: string
32
+ statusText: string
33
+ version: string
34
+ }
35
+
36
+ export interface UI_I_HomeInfo {
37
+ resource_meter: UI_I_Resources[]
38
+ vms: UI_I_Vms
39
+ alerts: UI_I_Alert[]
40
+ services: UI_I_Service[]
41
+ hosts?: UI_I_Hosts
42
+ }
43
+
44
+ export interface UI_I_Card {
45
+ text: string
46
+ value: number
47
+ icon?: string
48
+ }
@@ -1,49 +1,49 @@
1
- <template>
2
- <common-pages-home-widgets-new
3
- v-if="isNewView"
4
- :vms="vms"
5
- :hosts="hosts"
6
- :alerts="alerts || []"
7
- :services="services || []"
8
- :loading="props.loading"
9
- :project="props.project"
10
- />
11
-
12
- <common-pages-home-widgets-old
13
- v-else
14
- :vms="vms"
15
- :hosts="hosts"
16
- :alerts="alerts || []"
17
- :services="services || []"
18
- :project="props.project"
19
- />
20
- </template>
21
-
22
- <script lang="ts" setup>
23
- import type {
24
- UI_I_Alert,
25
- UI_I_HomeInfo,
26
- UI_I_Hosts,
27
- UI_I_Vms,
28
- UI_I_Service,
29
- } from '~/components/common/pages/home/lib/models/interfaces'
30
- import type { UI_T_Project } from '~/lib/models/types'
31
-
32
- const props = defineProps<{
33
- homeInfo: UI_I_HomeInfo
34
- loading: boolean
35
- project?: UI_T_Project
36
- }>()
37
-
38
- const { $store }: any = useNuxtApp()
39
-
40
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
-
42
- const vms = computed<UI_I_Vms>(() => props.homeInfo.vms || {})
43
- const hosts = computed<UI_I_Hosts>(() => props.homeInfo.hosts || {})
44
-
45
- const alerts = computed<UI_I_Alert[]>(() => props.homeInfo.alerts || 0)
46
- const services = computed<UI_I_Service[]>(() => props.homeInfo.services || 0)
47
- </script>
48
-
49
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-pages-home-widgets-new
3
+ v-if="isNewView"
4
+ :vms="vms"
5
+ :hosts="hosts"
6
+ :alerts="alerts || []"
7
+ :services="services || []"
8
+ :loading="props.loading"
9
+ :project="props.project"
10
+ />
11
+
12
+ <common-pages-home-widgets-old
13
+ v-else
14
+ :vms="vms"
15
+ :hosts="hosts"
16
+ :alerts="alerts || []"
17
+ :services="services || []"
18
+ :project="props.project"
19
+ />
20
+ </template>
21
+
22
+ <script lang="ts" setup>
23
+ import type {
24
+ UI_I_Alert,
25
+ UI_I_HomeInfo,
26
+ UI_I_Hosts,
27
+ UI_I_Vms,
28
+ UI_I_Service,
29
+ } from '~/components/common/pages/home/lib/models/interfaces'
30
+ import type { UI_T_Project } from '~/lib/models/types'
31
+
32
+ const props = defineProps<{
33
+ homeInfo: UI_I_HomeInfo
34
+ loading: boolean
35
+ project?: UI_T_Project
36
+ }>()
37
+
38
+ const { $store }: any = useNuxtApp()
39
+
40
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
+
42
+ const vms = computed<UI_I_Vms>(() => props.homeInfo.vms || {})
43
+ const hosts = computed<UI_I_Hosts>(() => props.homeInfo.hosts || {})
44
+
45
+ const alerts = computed<UI_I_Alert[]>(() => props.homeInfo.alerts || 0)
46
+ const services = computed<UI_I_Service[]>(() => props.homeInfo.services || 0)
47
+ </script>
48
+
49
+ <style lang="scss" scoped></style>