Changes for page APIMacro

Last modified by jklein on 2025/06/24 11:07

From version 43.3
edited by jklein
on 2025/06/03 08:00
Change comment: There is no comment for this version
To version 31.13
edited by jklein
on 2025/06/02 14:54
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,15 +1,7 @@
1 -{{aagon.floatingbox/}}
1 +{{apimacro title="APIMacro"}}
2 +Code
2 2  
3 -{{apimacro title="Text"}}
4 -Text
5 -Text
6 -Text
7 -{{/apimacro}}
4 +Code
8 8  
9 -{{apimacro title="Code"}}
10 10  Code
11 11  {{/apimacro}}
12 -
13 -{{apimacro title="APIMacro"}}
14 -
15 -{{/apimacro}}
XWiki.StyleSheetExtension[0]
Code
... ... @@ -1,9 +1,12 @@
1 -.showhide-header {
1 +.showhide-wrapper {
2 + margin-bottom: 20px;
2 2   overflow: hidden;
4 +}
5 +
6 +.showhide-header {
3 3   border: 1px solid #ccc;
4 4   background-color: #f7f7f7;
5 5   border-radius: 4px 4px 0 0;
6 - margin: 6px 0 0;
7 7   padding: 10px 12px;
8 8   cursor: pointer;
9 9   user-select: none;
... ... @@ -11,8 +11,6 @@
11 11  
12 12  .showhidecontent {
13 13   border: 1px solid #ccc;
14 - overflow: hidden;
15 - margin-bottom: 20px;
16 16   border-top: none;
17 17   border-radius: 0 0 4px 4px;
18 18   padding: 10px;
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -5,38 +5,38 @@
5 5   #set($mparams = $xcontext.macro.params)
6 6  #end
7 7  
8 -#set($id = $util.convertToAlphaNumeric($mparams.id))
9 -#set($effect = $mparams.effect)
8 +## Parameter vorbereiten
9 +#if($mparams.id)
10 + #set($id = $util.convertToAlphaNumeric($mparams.id))
11 +#end
12 +#set($divstyle = $escapetool.xml($mparams.style))
13 +#set($effect = $escapetool.xml($mparams.effect))
10 10  #if($effect == "appear" || $effect == "fade")
11 11   #set($effect = "fadeToggle")
12 -#elseif($effect == "blind" || $effect == "slide")
16 +#elseif ($effect == "blind" || $effect == "slide")
13 13   #set($effect = "slideToggle")
14 14  #end
15 15  #set($effectduration = $mathtool.mul(1000,$mparams.effectduration))
16 -#set($language = $mparams.language)
17 -#if(!$language || $language == "")
18 - #set($language = "bash")
19 -#end
20 +#set($title = $escapetool.xml($mparams.title))
20 20  
21 -#set($codeStart = '{{code language="' + $language + '"}}')
22 -#set($codeEnd = '{{/code}}')
23 -#set($content = $codeStart + $wikimacrocontent + $codeEnd)
24 24  {{html clean=false}}
25 -<div class="showhide-header"
26 - id="showhideheader${id}"
27 - data-show-effect="$effect"
28 - data-show-duration="$effectduration">
29 - <div class="showhide-header-flex">
30 - <div class="showhide-title">$mparams.title</div>
31 - <div class="showhide-arrow">&#9654;</div>
23 +<div class="showhide-wrapper" #if($divstyle && $divstyle != "") style="$divstyle" #end>
24 + <div class="showhide-header"
25 + #if($id && $id != "") id="showhideheader${id}" #end
26 + data-show-duration="$effectduration"
27 + data-show-effect="$effect">
28 + <div class="showhide-header-flex">
29 + <div class="showhide-title">$title</div>
30 + <div class="showhide-arrow">&#9654;</div>
31 + </div>
32 32   </div>
33 -</div>
34 -
35 -<div class="showhidecontent"
36 - id="showhidecontent${id}"
37 - style="display: none;">
38 - $xwiki.renderText($content, $doc.syntaxId)
39 -</div>
40 40  {{/html}}
34 +
35 +(% class="showhidecontent" #if($id && $id!="")id="showhidecontent${id}" #end#if($xcontext.action != 'edit') style="display: none;"#end %)
36 +(((
37 +(((
38 +{{wikimacrocontent /}}
39 +)))
40 +)))
41 41  {{/velocity}}
42 42  
© Aagon GmbH 2025
Besuchen Sie unsere Aagon-Community