Skip to content

Commit 071969a

Browse files
authored
fix: update panel state management in details components (#4652)
1 parent b598934 commit 071969a

File tree

8 files changed

+61
-39
lines changed

8 files changed

+61
-39
lines changed

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-gc.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
<sba-accordion
1919
v-if="hasLoaded"
2020
:id="`gc-details-panel__${instance.id}`"
21-
v-model="panelCollapsed"
21+
v-model="panelOpen"
2222
:title="$t('instances.details.gc.title')"
2323
>
2424
<template #title>
2525
<div
2626
class="ml-2 text-xs font-mono transition-opacity flex-1 justify-items-end"
27-
:class="{ 'opacity-0': !panelCollapsed }"
27+
:class="{ 'opacity-0': !panelOpen }"
2828
>
2929
<ul class="flex gap-4">
3030
<li>
@@ -95,7 +95,7 @@ export default {
9595
},
9696
},
9797
data: () => ({
98-
panelCollapsed: false,
98+
panelOpen: true,
9999
hasLoaded: false,
100100
error: null,
101101
current: null,

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-health.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<template>
1818
<sba-accordion
1919
:id="`health-details-panel__${instance.id}`"
20-
v-model="panelCollapsed"
20+
v-model="panelOpen"
2121
:title="$t('instances.details.health.title')"
2222
:loading="loading"
2323
>
@@ -26,7 +26,7 @@
2626
v-if="health.status"
2727
:status="health.status"
2828
class="ml-2 transition-opacity"
29-
:class="{ 'opacity-0': !panelCollapsed }"
29+
:class="{ 'opacity-0': !panelOpen }"
3030
/>
3131
</template>
3232

@@ -109,7 +109,7 @@ export default {
109109
loading: false,
110110
liveHealth: null,
111111
healthGroups: [],
112-
panelCollapsed: false,
112+
panelOpen: true,
113113
healthGroupOpenStatus: {} as {
114114
isOpen: boolean;
115115
collapsible: boolean;

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-info.vue

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@
1717
<template>
1818
<sba-accordion
1919
:id="`info-details-panel__${instance.id}`"
20-
v-model="panelCollapsed"
20+
v-model="panelOpen"
2121
:title="$t('instances.details.info.title')"
2222
:loading="loading"
2323
>
2424
<template #title>
25-
<div
26-
class="ml-2 transition-opacity"
27-
:class="{ 'opacity-0': !panelCollapsed }"
28-
>
25+
<div class="ml-2 transition-opacity" :class="{ 'opacity-0': !panelOpen }">
2926
({{ Object.keys(info).length }})
3027
</div>
3128
</template>
@@ -67,7 +64,7 @@ export default {
6764
},
6865
},
6966
data: () => ({
70-
panelCollapsed: false,
67+
panelOpen: true,
7168
error: null,
7269
loading: false,
7370
liveInfo: null,

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-memory.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
<sba-accordion
1919
v-if="hasLoaded"
2020
:id="`memory-details-panel__${type}__${instance.id}`"
21-
v-model="panelCollapsed"
21+
v-model="panelOpen"
2222
:title="$t('instances.details.memory.title') + `: ${name}`"
2323
>
2424
<template #title>
2525
<div
2626
class="ml-2 text-xs font-mono transition-opacity flex-1 justify-items-end"
27-
:class="{ 'opacity-0': !panelCollapsed }"
27+
:class="{ 'opacity-0': !panelOpen }"
2828
>
2929
<div class="flex">
3030
{{ prettyBytes(current.used) }} /
@@ -117,7 +117,7 @@ export default defineComponent({
117117
},
118118
},
119119
data: () => ({
120-
panelCollapsed: true,
120+
panelOpen: true,
121121
hasLoaded: false,
122122
error: null,
123123
current: null,

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-metadata.vue

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@
1717
<template>
1818
<sba-accordion
1919
:id="`metadata-details-panel__${instance.id}`"
20-
v-model="panelCollapsed"
20+
v-model="panelOpen"
2121
:title="$t('instances.details.metadata.title')"
2222
:seamless="true"
2323
>
2424
<template #title>
25-
<div
26-
class="ml-2 transition-opacity"
27-
:class="{ 'opacity-0': !panelCollapsed }"
28-
>
25+
<div class="ml-2 transition-opacity" :class="{ 'opacity-0': !panelOpen }">
2926
({{ Object.keys(metadata).length }})
3027
</div>
3128
</template>
@@ -43,7 +40,7 @@ const { instance } = defineProps<{
4340
instance: Instance;
4441
}>();
4542
46-
const panelCollapsed = ref(false);
43+
const panelOpen = ref(true);
4744
4845
const metadata = computed(() => {
4946
return instance.registration.metadata;

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-process.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
<sba-accordion
1919
v-if="hasLoaded"
2020
:id="`process-details-panel__${instance.id}`"
21-
v-model="panelCollapsed"
21+
v-model="panelOpen"
2222
:title="$t('instances.details.process.title')"
2323
>
2424
<template #title>
2525
<div
2626
class="ml-2 text-xs font-mono transition-opacity flex-1 justify-items-end"
27-
:class="{ 'opacity-0': !panelCollapsed }"
27+
:class="{ 'opacity-0': !panelOpen }"
2828
>
2929
<ul class="flex gap-4">
3030
<li>
@@ -125,7 +125,7 @@ const uptime = ref<UptimeData>({ value: null, baseUnit: null });
125125
const systemCpuLoad = ref<number | null>(null);
126126
const processCpuLoad = ref<number | null>(null);
127127
const systemCpuCount = ref<number | null>(null);
128-
const panelCollapsed = ref<boolean>(false);
128+
const panelOpen = ref<boolean>(true);
129129
130130
// Berechnete Eigenschaften
131131
const tableData = computed<TableDataMap>(() => {

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/details-threads.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
<sba-accordion
1919
v-if="hasLoaded"
2020
:id="`threads-details-panel__${instance.id}`"
21-
v-model="panelCollapsed"
21+
v-model="panelOpen"
2222
:title="$t('instances.details.threads.title')"
2323
>
2424
<template #title>
2525
<div
2626
class="ml-2 text-xs font-mono transition-opacity flex-1 justify-items-end"
27-
:class="{ 'opacity-0': !panelCollapsed }"
27+
:class="{ 'opacity-0': !panelOpen }"
2828
>
2929
<ul class="flex gap-4">
3030
<li>
@@ -99,7 +99,7 @@ export default {
9999
},
100100
},
101101
data: () => ({
102-
panelCollapsed: false,
102+
panelOpen: true,
103103
hasLoaded: false,
104104
error: null,
105105
current: null,

spring-boot-admin-server-ui/src/main/frontend/views/instances/details/index.vue

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,46 @@
2121
<details-hero :instance="instance" />
2222
</template>
2323

24-
<div class="grid grid-cols-2 gap-4 items-start">
25-
<details-info v-if="hasInfo" :instance="instance" />
26-
<details-health :instance="instance" />
27-
<details-metadata v-if="hasMetadata" :instance="instance" />
28-
<details-process v-if="hasProcess" :instance="instance" />
29-
<details-gc v-if="hasGc" :instance="instance" />
30-
<details-threads v-if="hasThreads" :instance="instance" />
31-
<details-memory v-if="hasMemory" :instance="instance" type="heap" />
32-
<details-memory v-if="hasMemory" :instance="instance" type="nonheap" />
33-
<details-datasources v-if="hasDatasources" :instance="instance" />
34-
<details-caches v-if="hasCaches" :instance="instance" />
24+
<div class="flex gap-6 flex-col lg:flex-row">
25+
<div class="flex-1">
26+
<details-info v-if="hasInfo" :instance="instance" />
27+
<details-metadata v-if="hasMetadata" :instance="instance" />
28+
</div>
29+
<div class="flex-1">
30+
<details-health :instance="instance" />
31+
</div>
32+
</div>
33+
34+
<div class="flex gap-6 flex-col lg:flex-row">
35+
<div class="flex-1">
36+
<details-process
37+
v-if="hasProcess"
38+
:instance="instance"
39+
class="break-inside-avoid"
40+
/>
41+
<details-gc v-if="hasGc" :instance="instance" />
42+
</div>
43+
<div class="flex-1">
44+
<details-threads v-if="hasThreads" :instance="instance" />
45+
</div>
46+
</div>
47+
48+
<div class="flex gap-6 flex-col lg:flex-row">
49+
<div class="flex-1">
50+
<details-memory v-if="hasMemory" :instance="instance" type="heap" />
51+
</div>
52+
<div class="flex-1">
53+
<details-memory v-if="hasMemory" :instance="instance" type="nonheap" />
54+
</div>
55+
</div>
56+
57+
<div class="flex gap-6 flex-col lg:flex-row">
58+
<div class="flex-1">
59+
<details-datasources v-if="hasDatasources" :instance="instance" />
60+
</div>
61+
<div class="flex-1">
62+
<details-caches v-if="hasCaches" :instance="instance" />
63+
</div>
3564
</div>
3665
</sba-instance-section>
3766
</template>
@@ -79,7 +108,6 @@ export default {
79108
},
80109
},
81110
data: () => ({
82-
masonryId: 'details-masonry',
83111
hasLoaded: true,
84112
error: null,
85113
metrics: [],

0 commit comments

Comments
 (0)