bfg-common 1.4.579 → 1.4.581
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/img/icons/icons-sprite-dark-1.svg +407 -437
- package/assets/img/icons/icons-sprite-dark-2.svg +343 -347
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-4.svg +255 -259
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-dark-6.svg +94 -94
- package/assets/img/icons/icons-sprite-light-1.svg +407 -437
- package/assets/img/icons/icons-sprite-light-2.svg +343 -347
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-4.svg +255 -259
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-6.svg +94 -94
- package/assets/scss/common/icons/icons-6.scss +156 -156
- package/assets/scss/common/theme.scss +2 -0
- package/components/common/browse/blocks/lib/models/types.ts +1 -1
- package/components/common/browse/lib/models/interfaces.ts +5 -5
- package/components/common/diagramMain/Diagram.vue +95 -82
- package/components/common/diagramMain/DiagramMain.vue +22 -1
- package/components/common/diagramMain/Header.vue +211 -211
- package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
- package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
- package/components/common/diagramMain/adapter/Contents.vue +21 -3
- package/components/common/diagramMain/lib/config/initial.ts +50 -50
- package/components/common/diagramMain/lib/config/positions.ts +1 -1
- package/components/common/diagramMain/lib/models/enums.ts +1 -1
- package/components/common/diagramMain/lib/models/types.ts +21 -21
- package/components/common/diagramMain/lib/utils/utils.ts +331 -331
- package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
- package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
- package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
- package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
- package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
- package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
- package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
- package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +537 -537
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
- package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +3 -2
- package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +6 -1
- package/components/common/diagramMain/network/Contents.vue +4 -1
- package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +1 -1
- package/components/common/diagramMain/port/Port.vue +2 -0
- package/components/common/diagramMain/port/Ports.vue +47 -47
- package/components/common/pages/home/headline/HeadlineNew.vue +48 -71
- package/components/common/pages/home/resource/ResourceNew.vue +58 -63
- package/components/common/pages/home/widgets/WidgetsNew.vue +74 -79
- package/components/common/split/horizontal/HorizontalNew.vue +354 -354
- package/components/common/wizards/network/add/lib/config/steps.ts +464 -464
- package/package.json +2 -2
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import type { UI_I_SelectVmkernelAdapter } from '~/components/common/wizards/network/add/lib/models/interfaces'
|
|
2
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
3
|
-
import type { UI_I_WizardStep, UI_I_ValidationReturn } from '~/components/atoms/wizard/lib/models/interfaces'
|
|
4
|
-
import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
|
|
5
|
-
import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
|
|
6
|
-
|
|
7
|
-
export const validateSelectedVmLocal = (
|
|
8
|
-
localization: UI_I_Localization,
|
|
9
|
-
data: UI_I_SelectVmkernelAdapter,
|
|
10
|
-
wizard: Wizard
|
|
11
|
-
): void => {
|
|
12
|
-
wizard.validateFieldLocal(
|
|
13
|
-
0,
|
|
14
|
-
'vm',
|
|
15
|
-
data.vm === '',
|
|
16
|
-
'',
|
|
17
|
-
localization.common.noVmKernelNetworkAdapterSelectedForMigration
|
|
18
|
-
)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const checkSelectedVmSync = (
|
|
22
|
-
localization: UI_I_Localization,
|
|
23
|
-
data: UI_I_SelectVmkernelAdapter,
|
|
24
|
-
wizard: Wizard,
|
|
25
|
-
value: UI_I_WizardStep[]
|
|
26
|
-
): UI_I_ValidationReturn => {
|
|
27
|
-
let stepHasError = false
|
|
28
|
-
|
|
29
|
-
if (data.vm === '') {
|
|
30
|
-
stepHasError = wizard.setValidation(
|
|
31
|
-
0,
|
|
32
|
-
UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
|
|
33
|
-
{
|
|
34
|
-
fieldMessage: '',
|
|
35
|
-
alertMessage: localization.common.noVmKernelNetworkAdapterSelectedForMigration,
|
|
36
|
-
}
|
|
37
|
-
)
|
|
38
|
-
} else if (
|
|
39
|
-
wizard.hasMessage(0, UI_E_MigrationValidationFields.SELECT_ADAPTER_VM)
|
|
40
|
-
) {
|
|
41
|
-
value = wizard.removeValidation(
|
|
42
|
-
0,
|
|
43
|
-
UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
|
|
44
|
-
value
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
newValue: value,
|
|
50
|
-
stepHasError,
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
import type { UI_I_SelectVmkernelAdapter } from '~/components/common/wizards/network/add/lib/models/interfaces'
|
|
2
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
3
|
+
import type { UI_I_WizardStep, UI_I_ValidationReturn } from '~/components/atoms/wizard/lib/models/interfaces'
|
|
4
|
+
import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
|
|
5
|
+
import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
|
|
6
|
+
|
|
7
|
+
export const validateSelectedVmLocal = (
|
|
8
|
+
localization: UI_I_Localization,
|
|
9
|
+
data: UI_I_SelectVmkernelAdapter,
|
|
10
|
+
wizard: Wizard
|
|
11
|
+
): void => {
|
|
12
|
+
wizard.validateFieldLocal(
|
|
13
|
+
0,
|
|
14
|
+
'vm',
|
|
15
|
+
data.vm === '',
|
|
16
|
+
'',
|
|
17
|
+
localization.common.noVmKernelNetworkAdapterSelectedForMigration
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const checkSelectedVmSync = (
|
|
22
|
+
localization: UI_I_Localization,
|
|
23
|
+
data: UI_I_SelectVmkernelAdapter,
|
|
24
|
+
wizard: Wizard,
|
|
25
|
+
value: UI_I_WizardStep[]
|
|
26
|
+
): UI_I_ValidationReturn => {
|
|
27
|
+
let stepHasError = false
|
|
28
|
+
|
|
29
|
+
if (data.vm === '') {
|
|
30
|
+
stepHasError = wizard.setValidation(
|
|
31
|
+
0,
|
|
32
|
+
UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
|
|
33
|
+
{
|
|
34
|
+
fieldMessage: '',
|
|
35
|
+
alertMessage: localization.common.noVmKernelNetworkAdapterSelectedForMigration,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
} else if (
|
|
39
|
+
wizard.hasMessage(0, UI_E_MigrationValidationFields.SELECT_ADAPTER_VM)
|
|
40
|
+
) {
|
|
41
|
+
value = wizard.removeValidation(
|
|
42
|
+
0,
|
|
43
|
+
UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
|
|
44
|
+
value
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
newValue: value,
|
|
50
|
+
stepHasError,
|
|
51
|
+
}
|
|
52
|
+
}
|
package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
validateVlanIdConnectionSettingsLocal,
|
|
3
|
-
validateNetworkConnectionSettingsLocal,
|
|
4
|
-
checkConnectionSettingsSync,
|
|
5
|
-
checkNetworkAsync,
|
|
6
|
-
} from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings'
|
|
7
|
-
import {
|
|
8
|
-
checkSelectedVmSync,
|
|
9
|
-
validateSelectedVmLocal,
|
|
10
|
-
} from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter'
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
validateVlanIdConnectionSettingsLocal,
|
|
14
|
-
validateNetworkConnectionSettingsLocal,
|
|
15
|
-
checkConnectionSettingsSync,
|
|
16
|
-
checkNetworkAsync,
|
|
17
|
-
checkSelectedVmSync,
|
|
18
|
-
validateSelectedVmLocal,
|
|
19
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
validateVlanIdConnectionSettingsLocal,
|
|
3
|
+
validateNetworkConnectionSettingsLocal,
|
|
4
|
+
checkConnectionSettingsSync,
|
|
5
|
+
checkNetworkAsync,
|
|
6
|
+
} from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings'
|
|
7
|
+
import {
|
|
8
|
+
checkSelectedVmSync,
|
|
9
|
+
validateSelectedVmLocal,
|
|
10
|
+
} from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter'
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
validateVlanIdConnectionSettingsLocal,
|
|
14
|
+
validateNetworkConnectionSettingsLocal,
|
|
15
|
+
checkConnectionSettingsSync,
|
|
16
|
+
checkNetworkAsync,
|
|
17
|
+
checkSelectedVmSync,
|
|
18
|
+
validateSelectedVmLocal,
|
|
19
|
+
}
|
|
@@ -107,9 +107,10 @@ const viewSettingsTabContent = (tab: number): UI_I_ViewSettingsFields[] =>
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.table-fixed-height {
|
|
110
|
-
min-height: 400px;
|
|
111
|
-
max-height: 400px;
|
|
110
|
+
min-height: min(calc(100vh - 270px), 400px);
|
|
111
|
+
max-height: min(calc(100vh - 270px), 400px);
|
|
112
112
|
overflow-y: auto;
|
|
113
|
+
overflow-x: hidden;
|
|
113
114
|
padding-right: 32px;
|
|
114
115
|
padding-top: 16px;
|
|
115
116
|
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
style="text-decoration: none"
|
|
17
17
|
cursor="pointer"
|
|
18
18
|
data-title="network-name-link"
|
|
19
|
+
class="network-title-link"
|
|
19
20
|
@click="onSelectNetwork(props.network.id)"
|
|
20
21
|
>
|
|
21
22
|
<foreignObject
|
|
@@ -430,6 +431,8 @@ const onTogglePorts = (
|
|
|
430
431
|
|
|
431
432
|
:root.is-new-view {
|
|
432
433
|
.network-title {
|
|
434
|
+
user-select: none;
|
|
435
|
+
-webkit-user-select: none;
|
|
433
436
|
line-height: 26px;
|
|
434
437
|
color: var(--diagram-content-text);
|
|
435
438
|
|
|
@@ -440,7 +443,7 @@ const onTogglePorts = (
|
|
|
440
443
|
&.is-selected {
|
|
441
444
|
color: var(--diagram-content-text-selected);
|
|
442
445
|
&:hover {
|
|
443
|
-
color: var(--diagram-content-text-selected);
|
|
446
|
+
color: var(--diagram-content-text-selected-hover);
|
|
444
447
|
text-decoration: unset;
|
|
445
448
|
}
|
|
446
449
|
}
|
|
@@ -532,6 +532,8 @@ const onSelectPort = (networkId: string, portId: string): void => {
|
|
|
532
532
|
|
|
533
533
|
:root.is-new-view {
|
|
534
534
|
.port-text.text-ellipsis {
|
|
535
|
+
user-select: none;
|
|
536
|
+
-webkit-user-select: none;
|
|
535
537
|
line-height: 25px;
|
|
536
538
|
padding-left: 18px;
|
|
537
539
|
color: var(--diagram-content-text);
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<g>
|
|
3
|
-
<template v-if="props.network.toggle">
|
|
4
|
-
<template v-for="port in props.network.ports" :key="port.id">
|
|
5
|
-
<common-diagram-main-port
|
|
6
|
-
:network="props.network"
|
|
7
|
-
:port="port"
|
|
8
|
-
:is-dark-mode="props.isDarkMode"
|
|
9
|
-
:selected-port="props.selectedPort"
|
|
10
|
-
:selected-adapter="props.selectedAdapter"
|
|
11
|
-
@select-port="onSelectPort"
|
|
12
|
-
@show-modal="onShowModal"
|
|
13
|
-
/>
|
|
14
|
-
</template>
|
|
15
|
-
</template>
|
|
16
|
-
</g>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
<script setup lang="ts">
|
|
20
|
-
import type {
|
|
21
|
-
UI_I_ModalsInitialData,
|
|
22
|
-
UI_I_NetworkFullWithPositions,
|
|
23
|
-
UI_I_SelectedAdapter,
|
|
24
|
-
UI_I_SelectedPort,
|
|
25
|
-
} from '~/components/common/diagramMain/lib/models/interfaces'
|
|
26
|
-
|
|
27
|
-
const props = defineProps<{
|
|
28
|
-
network: UI_I_NetworkFullWithPositions
|
|
29
|
-
selectedPort: UI_I_SelectedPort
|
|
30
|
-
selectedAdapter: UI_I_SelectedAdapter
|
|
31
|
-
isDarkMode: boolean
|
|
32
|
-
}>()
|
|
33
|
-
|
|
34
|
-
const emits = defineEmits<{
|
|
35
|
-
(event: 'select-port', networkId: string, portId: string): void
|
|
36
|
-
(
|
|
37
|
-
event: 'show-modal',
|
|
38
|
-
value: string,
|
|
39
|
-
properties?: UI_I_ModalsInitialData
|
|
40
|
-
): void
|
|
41
|
-
}>()
|
|
42
|
-
|
|
43
|
-
const onSelectPort = (networkId: string, portId: string) =>
|
|
44
|
-
emits('select-port', networkId, portId)
|
|
45
|
-
const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
|
|
46
|
-
emits('show-modal', value, properties)
|
|
47
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<g>
|
|
3
|
+
<template v-if="props.network.toggle">
|
|
4
|
+
<template v-for="port in props.network.ports" :key="port.id">
|
|
5
|
+
<common-diagram-main-port
|
|
6
|
+
:network="props.network"
|
|
7
|
+
:port="port"
|
|
8
|
+
:is-dark-mode="props.isDarkMode"
|
|
9
|
+
:selected-port="props.selectedPort"
|
|
10
|
+
:selected-adapter="props.selectedAdapter"
|
|
11
|
+
@select-port="onSelectPort"
|
|
12
|
+
@show-modal="onShowModal"
|
|
13
|
+
/>
|
|
14
|
+
</template>
|
|
15
|
+
</template>
|
|
16
|
+
</g>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import type {
|
|
21
|
+
UI_I_ModalsInitialData,
|
|
22
|
+
UI_I_NetworkFullWithPositions,
|
|
23
|
+
UI_I_SelectedAdapter,
|
|
24
|
+
UI_I_SelectedPort,
|
|
25
|
+
} from '~/components/common/diagramMain/lib/models/interfaces'
|
|
26
|
+
|
|
27
|
+
const props = defineProps<{
|
|
28
|
+
network: UI_I_NetworkFullWithPositions
|
|
29
|
+
selectedPort: UI_I_SelectedPort
|
|
30
|
+
selectedAdapter: UI_I_SelectedAdapter
|
|
31
|
+
isDarkMode: boolean
|
|
32
|
+
}>()
|
|
33
|
+
|
|
34
|
+
const emits = defineEmits<{
|
|
35
|
+
(event: 'select-port', networkId: string, portId: string): void
|
|
36
|
+
(
|
|
37
|
+
event: 'show-modal',
|
|
38
|
+
value: string,
|
|
39
|
+
properties?: UI_I_ModalsInitialData
|
|
40
|
+
): void
|
|
41
|
+
}>()
|
|
42
|
+
|
|
43
|
+
const onSelectPort = (networkId: string, portId: string) =>
|
|
44
|
+
emits('select-port', networkId, portId)
|
|
45
|
+
const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
|
|
46
|
+
emits('show-modal', value, properties)
|
|
47
|
+
</script>
|
|
@@ -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
|
-
|
|
10
|
-
width="
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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>
|