Changes for page InfoboxStyles

Last modified by Mads Pedersen on 2026/07/28 06:53

From version 8.11
edited by Mads Pedersen
on 2026/01/20 14:55
Change comment: There is no comment for this version
To version 8.28
edited by Mads Pedersen
on 2026/01/21 12:49
Change comment: There is no comment for this version

Summary

Details

XWiki.WikiMacroClass[0]
Macro code
... ... @@ -1,15 +1,45 @@
1 1  {{velocity}}
2 2  {{html clean="false"}}
3 -<div style="float:right; width:280px; margin:0 0 1em 1em; border:1px solid #aaa; background:#f8f9fa; font-size:0.9em; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 1.5; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
4 - <table style="width:100%; border-collapse:collapse;">
5 - ## Title Row
3 +
4 +#set($width = $xcontext.macro.params.width)
5 +#set($labelWidth = $xcontext.macro.params.labelWidth)
6 +
7 +## Default values if parameters are missing
8 +#if("$!width" == "") #set($width = "22") #end
9 +#if("$!labelWidth" == "") #set($labelWidth = "35%") #end
10 +
11 +<style>
12 + .custom-infobox {
13 + float: right;
14 + margin: 0 0 1em 1em;
15 + border: 1px solid #aaa;
16 + background: #f8f9fa;
17 + font-size: 0.9em;
18 + font-family: sans-serif;
19 + line-height: 1.5;
20 + box-shadow: 0 2px 4px rgba(0,0,0,0.1);
21 + }
22 +
23 + @media print {
24 + .custom-infobox {
25 + float: none !important;
26 + width: 100% !important;
27 + margin: 1em 0 !important;
28 + box-shadow: none !important;
29 + }
30 + }
31 +</style>
32 +
33 +<div class="custom-infobox" style="width:${width}rem;">
34 + <table style="width:100%; border-collapse:collapse; table-layout: fixed;">
35 + ## Header
6 6   #if($xcontext.macro.params.title && "$!xcontext.macro.params.title" != "")
7 - <caption style="background:#eeeeee; font-weight:bold; padding:10px; border:1px solid #aaa; border-bottom:none; color: #000; font-size: 1.1em;">
37 + <caption style="background:#eeeeee; font-weight:bold; padding:10px; border:1px solid #aaa; border-bottom:none; color: #000;">
8 8   $xcontext.macro.params.title
9 9   </caption>
10 10   #end
11 11  
12 - ## Image Row
42 + ## Image
13 13   #if($xcontext.macro.params.image && "$!xcontext.macro.params.image" != "")
14 14   <tr>
15 15   <td colspan="2" style="text-align:center; padding:8px; background: #fff;">
... ... @@ -21,19 +21,18 @@
21 21   </tr>
22 22   #end
23 23  
24 - ## Data Rows (Label=Value)
25 - #set($content = $xcontext.macro.params.data)
26 - #if($content && "$!content" != "")
27 - #foreach($line in $content.split("\n"))
28 - ## Trim the line and check if it has a "=" and isn't just whitespace
54 + ## Parse the Macro Content
55 + #set($macroContent = $xcontext.macro.content)
56 + #if($macroContent && "$!macroContent.trim()" != "")
57 + #foreach($line in $macroContent.split("\n"))
29 29   #set($trimmedLine = $line.trim())
30 30   #if($trimmedLine.contains("=") && $trimmedLine.length() > 2)
31 31   #set($parts = $trimmedLine.split("=", 2))
32 32   <tr>
33 - <th style="border-top:1px solid #ddd; padding:8px; text-align:left; background:#f9f9f9; width:35%; vertical-align: top; font-weight: 600;">
62 + <th style="border-top:1px solid #ddd; padding:8px; text-align:left; background:#f9f9f9; width:${labelWidth}; vertical-align: top; font-weight: 600; word-break: break-word;">
34 34   $parts[0].trim()
35 35   </th>
36 - <td style="border-top:1px solid #ddd; padding:8px; vertical-align: top; background: #fff;">
65 + <td style="border-top:1px solid #ddd; padding:8px; vertical-align: top; background: #fff; word-break: break-word;">
37 37   $parts[1].trim()
38 38   </td>
39 39   </tr>
Content description (Not applicable for "No content" type)
... ... @@ -1,0 +1,1 @@
1 +Write lines into the infobox like "Label=Example text"
Macro content availability
... ... @@ -1,1 +1,1 @@
1 -No content
1 +Mandatory
XWiki.WikiMacroParameterClass[3]
Parameter description
... ... @@ -1,1 +1,1 @@
1 -Write lines into the infobox like "Label=Example text"
1 +The width of the box. Default 20
Parameter name
... ... @@ -1,1 +1,1 @@
1 -data
1 +width
Parameter order property
... ... @@ -1,1 +1,0 @@
1 -13
Parameter type
... ... @@ -1,1 +1,0 @@
1 -TextArea
XWiki.WikiMacroParameterClass[4]
Parameter description
... ... @@ -1,0 +1,1 @@
1 +Width of the left column, defaults to 35%
Parameter name
... ... @@ -1,0 +1,1 @@
1 +labelWidth