Skip to content

Commit e12e707

Browse files
committed
Prevent Mappings table from overflowing
1 parent 86ba5b9 commit e12e707

File tree

3 files changed

+125
-113
lines changed

3 files changed

+125
-113
lines changed

spring-boot-admin-server-ui/src/main/frontend/views/instances/mappings/DispatcherMappings.vue

Lines changed: 70 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -15,78 +15,86 @@
1515
-->
1616

1717
<template>
18-
<table class="table is-fullwidth">
19-
<template v-for="(handlerMappings, dispatcherName) in this.dispatchers">
20-
<thead :key="`${dispatcherName}`">
21-
<tr>
22-
<th v-text="dispatcherName" colspan="99"/>
23-
</tr>
24-
</thead>
25-
<tbody :key="`${dispatcherName}_mappings`">
26-
<template v-for="(mapping, idx) in handlerMappings">
27-
<template v-if="mapping.details">
28-
<tr :key="`${dispatcherName}_${idx}_pattern`">
29-
<td :rowspan="2 + countNonEmptyArrays(mapping.details.requestMappingConditions, 'methods', 'consumes', 'produces', 'params', 'headers')">
30-
<div v-for="pattern in mapping.details.requestMappingConditions.patterns"
31-
:key="`${dispatcherName}_${idx}_${pattern}`">
32-
<code v-text="pattern"/>
33-
</div>
34-
</td>
35-
</tr>
18+
<div class="table-container">
19+
<table class="table is-fullwidth">
20+
<template v-for="(handlerMappings, dispatcherName) in this.dispatchers">
21+
<thead :key="`${dispatcherName}`">
22+
<tr>
23+
<th v-text="dispatcherName" colspan="99"/>
24+
</tr>
25+
</thead>
26+
<tbody :key="`${dispatcherName}_mappings`">
27+
<template v-for="(mapping, idx) in handlerMappings">
28+
<template v-if="mapping.details">
29+
<tr :key="`${dispatcherName}_${idx}_pattern`">
30+
<td
31+
:rowspan="2 + countNonEmptyArrays(mapping.details.requestMappingConditions, 'methods', 'consumes', 'produces', 'params', 'headers')">
32+
<div v-for="pattern in mapping.details.requestMappingConditions.patterns"
33+
:key="`${dispatcherName}_${idx}_${pattern}`">
34+
<code v-text="pattern"/>
35+
</div>
36+
</td>
37+
</tr>
3638

37-
<tr v-if="mapping.details.requestMappingConditions.methods.length" :key="`${dispatcherName}_${idx}_methods`">
38-
<th class="is-narrow">
39-
<small>Methods</small>
40-
</th>
41-
<td class="monospaced" v-text="mapping.details.requestMappingConditions.methods.join(', ')"/>
42-
</tr>
39+
<tr v-if="mapping.details.requestMappingConditions.methods.length"
40+
:key="`${dispatcherName}_${idx}_methods`">
41+
<th class="is-narrow">
42+
<small>Methods</small>
43+
</th>
44+
<td class="monospaced is-breakable" v-text="mapping.details.requestMappingConditions.methods.join(', ')"/>
45+
</tr>
4346

44-
<tr v-if="mapping.details.requestMappingConditions.consumes.length" :key="`${dispatcherName}_${idx}_consumes`">
45-
<th class="is-narrow">
46-
<small>Consumes</small>
47-
</th>
48-
<td class="monospaced" v-text="mediaTypePredicates(mapping.details.requestMappingConditions.consumes)"/>
49-
</tr>
47+
<tr v-if="mapping.details.requestMappingConditions.consumes.length"
48+
:key="`${dispatcherName}_${idx}_consumes`">
49+
<th class="is-narrow">
50+
<small>Consumes</small>
51+
</th>
52+
<td class="monospaced is-breakable" v-text="mediaTypePredicates(mapping.details.requestMappingConditions.consumes)"/>
53+
</tr>
5054

51-
<tr v-if="mapping.details.requestMappingConditions.produces.length" :key="`${dispatcherName}_${idx}_produces`">
52-
<th class="is-narrow">
53-
<small>Produces</small>
54-
</th>
55-
<td class="monospaced" v-text="mediaTypePredicates(mapping.details.requestMappingConditions.produces)"/>
56-
</tr>
55+
<tr v-if="mapping.details.requestMappingConditions.produces.length"
56+
:key="`${dispatcherName}_${idx}_produces`">
57+
<th class="is-narrow">
58+
<small>Produces</small>
59+
</th>
60+
<td class="monospaced is-breakable" v-text="mediaTypePredicates(mapping.details.requestMappingConditions.produces)"/>
61+
</tr>
5762

58-
<tr v-if="mapping.details.requestMappingConditions.params.length" :key="`${dispatcherName}_${idx}_params`">
59-
<th class="is-narrow">
60-
<small>Parameters</small>
61-
</th>
62-
<td class="monospaced" v-text="paramPredicates(mapping.details.requestMappingConditions.params)"/>
63-
</tr>
63+
<tr v-if="mapping.details.requestMappingConditions.params.length"
64+
:key="`${dispatcherName}_${idx}_params`">
65+
<th class="is-narrow">
66+
<small>Parameters</small>
67+
</th>
68+
<td class="monospaced is-breakable" v-text="paramPredicates(mapping.details.requestMappingConditions.params)"/>
69+
</tr>
6470

65-
<tr v-if="mapping.details.requestMappingConditions.headers.length" :key="`${dispatcherName}_${idx}_headers`">
66-
<th class="is-narrow">
67-
<small>Headers</small>
68-
</th>
69-
<td class="monospaced" v-text="paramPredicates(mapping.details.requestMappingConditions.headers)"/>
70-
</tr>
71+
<tr v-if="mapping.details.requestMappingConditions.headers.length"
72+
:key="`${dispatcherName}_${idx}_headers`">
73+
<th class="is-narrow">
74+
<small>Headers</small>
75+
</th>
76+
<td class="monospaced is-breakable" v-text="paramPredicates(mapping.details.requestMappingConditions.headers)"/>
77+
</tr>
7178

72-
<tr :key="`${dispatcherName}_${idx}_handler`">
73-
<th class="is-narrow">
79+
<tr :key="`${dispatcherName}_${idx}_handler`">
80+
<th class="is-narrow">
81+
<small>Handler</small>
82+
</th>
83+
<td class="is-breakable" v-text="mapping.handler"/>
84+
</tr>
85+
</template>
86+
<tr v-else :key="`${dispatcherName}_${idx}`">
87+
<td><code v-text="mapping.predicate"/></td>
88+
<th class="is-narrow is-breakable">
7489
<small>Handler</small>
7590
</th>
76-
<td v-text="mapping.handler"/>
91+
<td v-text="mapping.handler" colspan="4"/>
7792
</tr>
7893
</template>
79-
<tr v-else :key="`${dispatcherName}_${idx}`">
80-
<td><code v-text="mapping.predicate"/></td>
81-
<th class="is-narrow">
82-
<small>Handler</small>
83-
</th>
84-
<td v-text="mapping.handler" colspan="4"/>
85-
</tr>
86-
</template>
87-
</tbody>
88-
</template>
89-
</table>
94+
</tbody>
95+
</template>
96+
</table>
97+
</div>
9098
</template>
9199
<script>
92100
export default {

spring-boot-admin-server-ui/src/main/frontend/views/instances/mappings/ServletFilterMappings.vue

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,36 +15,38 @@
1515
-->
1616

1717
<template>
18-
<table class="table is-fullwidth" v-if="servletFilters.length">
19-
<thead>
20-
<tr>
21-
<th>Url Pattern</th>
22-
<th>Servlet Name</th>
23-
<th>Filter Name</th>
24-
<th>Class</th>
25-
</tr>
26-
</thead>
27-
<tbody>
28-
<template v-for="servletFilterMapping in servletFilters">
29-
<tr :key="`${servletFilterMapping.name}`">
30-
<td>
31-
<div v-for="mapping in servletFilterMapping.urlPatternMappings"
32-
:key="`${servletFilterMapping.name}_${mapping}`">
33-
<code v-text="mapping"/>
34-
</div>
35-
</td>
36-
<td>
37-
<div v-for="mapping in servletFilterMapping.servletNameMappings"
38-
:key="`${servletFilterMapping.name}_${mapping}`">
39-
<pre v-text="mapping"/>
40-
</div>
41-
</td>
42-
<td v-text="servletFilterMapping.name"/>
43-
<td v-text="servletFilterMapping.className"/>
18+
<div class="table-container">
19+
<table class="table is-fullwidth" v-if="servletFilters.length">
20+
<thead>
21+
<tr>
22+
<th>Url Pattern</th>
23+
<th>Servlet Name</th>
24+
<th>Filter Name</th>
25+
<th>Class</th>
4426
</tr>
45-
</template>
46-
</tbody>
47-
</table>
27+
</thead>
28+
<tbody>
29+
<template v-for="servletFilterMapping in servletFilters">
30+
<tr :key="`${servletFilterMapping.name}`">
31+
<td>
32+
<div v-for="mapping in servletFilterMapping.urlPatternMappings"
33+
:key="`${servletFilterMapping.name}_${mapping}`">
34+
<code v-text="mapping"/>
35+
</div>
36+
</td>
37+
<td>
38+
<div v-for="mapping in servletFilterMapping.servletNameMappings"
39+
:key="`${servletFilterMapping.name}_${mapping}`"
40+
v-text="mapping"
41+
class="is-breakable"/>
42+
</td>
43+
<td class="is-breakable" v-text="servletFilterMapping.name"/>
44+
<td class="is-breakable" v-text="servletFilterMapping.className"/>
45+
</tr>
46+
</template>
47+
</tbody>
48+
</table>
49+
</div>
4850
</template>
4951
<script>
5052
export default {

spring-boot-admin-server-ui/src/main/frontend/views/instances/mappings/ServletMappings.vue

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,31 @@
1515
-->
1616

1717
<template>
18-
<table class="table is-fullwidth" v-if="servlets.length">
19-
<thead>
20-
<tr>
21-
<th>Url Pattern</th>
22-
<th>Servlet Name</th>
23-
<th>Class</th>
24-
</tr>
25-
</thead>
26-
<tbody>
27-
<template v-for="servletMapping in servlets">
28-
<tr :key="`${servletMapping.name}`">
29-
<td>
30-
<div v-for="mapping in servletMapping.mappings"
31-
:key="`${servletMapping.name}_${mapping}`">
32-
<code v-text="mapping"/>
33-
</div>
34-
</td>
35-
<td v-text="servletMapping.name"/>
36-
<td v-text="servletMapping.className"/>
18+
<div class="table-container">
19+
<table class="table is-fullwidth" v-if="servlets.length">
20+
<thead>
21+
<tr>
22+
<th>Url Pattern</th>
23+
<th>Servlet Name</th>
24+
<th>Class</th>
3725
</tr>
38-
</template>
39-
</tbody>
40-
</table>
26+
</thead>
27+
<tbody>
28+
<template v-for="servletMapping in servlets">
29+
<tr :key="`${servletMapping.name}`">
30+
<td>
31+
<div v-for="mapping in servletMapping.mappings"
32+
:key="`${servletMapping.name}_${mapping}`">
33+
<code v-text="mapping"/>
34+
</div>
35+
</td>
36+
<td class="is-breakable" v-text="servletMapping.name"/>
37+
<td class="is-breakable" v-text="servletMapping.className"/>
38+
</tr>
39+
</template>
40+
</tbody>
41+
</table>
42+
</div>
4143
</template>
4244
<script>
4345
export default {

0 commit comments

Comments
 (0)