Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (3 modified, 0 added, 2 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,15 @@ 1 -{{apimacro}} 2 -Code 1 +{{aagon.floatingbox/}} 3 3 4 -Code 3 +{{apimacro title="Text"}} 4 +Text 5 +Text 6 +Text 7 +{{/apimacro}} 5 5 9 +{{apimacro title="Code"}} 6 6 Code 7 7 {{/apimacro}} 12 + 13 +{{apimacro title="APIMacro"}} 14 + 15 +{{/apimacro}}
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -3,24 +3,19 @@ 3 3 var header = $(this), 4 4 content = header.next('.showhidecontent'), 5 5 effect = header.attr('data-show-effect'), 6 - duration = parseInt(header.attr('data-show-duration')) || 300, 7 - iconEl = header.find('.showhide-icon'); 6 + duration = parseInt(header.attr('data-show-duration')) || 300; 8 8 9 - // Sicherheitsprüfung für Effekt 10 10 if ($.inArray(effect, ['toggle', 'fadeToggle', 'slideToggle']) === -1) { 11 11 effect = 'toggle'; 12 12 } 13 13 14 - // Sichtbarkeitsstatus 15 15 var isVisible = content.is(':visible'); 16 16 var newState = !isVisible; 17 17 18 - // Nachricht + Pfeil setzen 19 - var message = newState ? header.attr('data-hide-message') : header.attr('data-show-message'); 20 - var icon = newState ? '▼ ' : '► '; 21 - iconEl.html(icon + message); 15 + // Toggle 'open'-Klasse für Rotation 16 + header.toggleClass('open', newState); 22 22 23 - // Inhalt ein-/ausblenden18 + // Ein-/Ausblenden des Inhalts 24 24 content.stop()[effect](duration); 25 25 } 26 26 - Name
-
... ... @@ -1,1 +1,1 @@ 1 -APIMacro Script1 +APIMacro
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -1,32 +1,18 @@ 1 1 .showhide-header { 2 + overflow: hidden; 2 2 border: 1px solid #ccc; 3 3 background-color: #f7f7f7; 4 4 border-radius: 4px 4px 0 0; 5 - padding: 8px 12px; 6 - margin-bottom: 0; 7 -} 8 - 9 -.showhide-header-flex { 10 - display: flex; 11 - justify-content: space-between; 12 - align-items: center; 13 - padding: 6px 0px; 14 - font-weight: bold; 15 -} 16 - 17 -.showhide-title { 18 - flex: 1; 19 - text-align: left; 20 -} 21 - 22 -.showhidebutton a { 23 - text-decoration: none; 6 + margin: 6px 0 0; 7 + padding: 10px 12px; 24 24 cursor: pointer; 25 - font-weight: normal;9 + user-select: none; 26 26 } 27 27 28 28 .showhidecontent { 29 29 border: 1px solid #ccc; 14 + overflow: hidden; 15 + margin-bottom: 20px; 30 30 border-top: none; 31 31 border-radius: 0 0 4px 4px; 32 32 padding: 10px; ... ... @@ -33,22 +33,29 @@ 33 33 background-color: #fff; 34 34 } 35 35 36 -.showhide-header:hover { 37 - background-color: #f0f0f0; 38 - cursor: default; 22 +.showhide-header-flex { 23 + display: flex; 24 + justify-content: space-between; 25 + align-items: center; 39 39 } 40 40 41 -.showhidebutton a:hover { 42 - text-decoration: underline; 28 +.showhide-title { 29 + flex: 1; 30 + text-align: left; 31 + font-weight: bold; 43 43 } 44 44 45 -.showhide-icon { 46 - color: #0645ad; /* typisches Link-Blau */ 47 - text-decoration: underline; 48 - cursor: pointer; 34 +.showhide-arrow { 35 + display: inline-block; 36 + transition: transform 0.3s ease; 37 + transform: rotate(0deg); 38 + font-size: 16px; 39 + color: #0645ad; 49 49 } 50 50 51 - .showhide-header:hover.showhide-icon{52 - text-decoration:underline;53 - color: #0b0080; /* dunklerbeimHover */42 +/* Wenn Container 'open' ist → Pfeil dreht sich */ 43 +.showhide-header.open .showhide-arrow { 44 + transform: rotate(90deg); 54 54 } 46 + 47 +
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,14 +1,14 @@ 1 1 {{velocity}} 2 -#set($discard = $xwiki.jsx.use("Macros. ShowHideMacro"))2 +#set($discard = $xwiki.jsx.use("Macros.APIMacro")) 3 3 #set($mparams = $wikimacro.parameters) 4 4 #if(!$mparams) 5 5 #set($mparams = $xcontext.macro.params) 6 6 #end 7 + 8 +## Parameter vorbereiten 7 7 #if($mparams.id) 8 8 #set($id = $util.convertToAlphaNumeric($mparams.id)) 9 9 #end 10 -#set($showmessage = $escapetool.xml($mparams.showmessage)) 11 -#set($hidemessage = $escapetool.xml($mparams.hidemessage)) 12 12 #set($divstyle = $escapetool.xml($mparams.style)) 13 13 #set($effect = $escapetool.xml($mparams.effect)) 14 14 #if($effect == "appear" || $effect == "fade") ... ... @@ -17,9 +17,14 @@ 17 17 #set($effect = "slideToggle") 18 18 #end 19 19 #set($effectduration = $mathtool.mul(1000,$mparams.effectduration)) 20 -#set($title = $escapetool.xml($mparams.title)) 21 -(% #if($divstyle && $divstyle!="") style="${divstyle}" #end %) 22 -((( 20 +#set($rawTitle = $mparams.title) 21 +#if($rawTitle && $rawTitle != "") 22 + #set($wikiSyntaxTitle = "= $rawTitle =") 23 + #set($titleRendered = $xwiki.renderText($wikiSyntaxTitle, $doc.syntaxId)) 24 +#else 25 + #set($titleRendered = "") 26 +#end 27 + 23 23 {{html clean=false}} 24 24 <div class="showhide-header" 25 25 #if($id && $id!="") id="showhideheader${id}" #end ... ... @@ -26,16 +26,17 @@ 26 26 data-show-duration="$effectduration" 27 27 data-show-effect="$effect"> 28 28 <div class="showhide-header-flex"> 29 - <div class="showhide-title">$title</div> 30 - <div class="showhide-arrow"> ►</div>34 + <div class="showhide-title">$!titleRendered</div> 35 + <div class="showhide-arrow">▶</div> ## Unicode ▶ 31 31 </div> 32 32 </div> 33 33 {{/html}} 39 + 34 34 (% class="showhidecontent" #if($id && $id!="")id="showhidecontent${id}" #end#if($xcontext.action != 'edit') style="display: none;"#end %) 35 -((( 36 -((( 41 +((( 42 +((( 37 37 {{wikimacrocontent /}} 44 +))) 38 38 ))) 39 -))) 40 -))) 41 41 {{/velocity}} 47 + - Macro description
-
... ... @@ -1,1 +1,1 @@ 1 - Show/hidecontentwith animations.1 +Makro für PublicAPI-Commands
- XWiki.WikiMacroParameterClass[3]
-
- Parameter default value
-
... ... @@ -1,1 +1,0 @@ 1 -slide - Parameter description
-
... ... @@ -1,1 +1,0 @@ 1 -Scriptaculous Effect - Parameter mandatory
-
... ... @@ -1,1 +1,0 @@ 1 -No - Parameter name
-
... ... @@ -1,1 +1,0 @@ 1 -effect
- XWiki.WikiMacroParameterClass[5]
-
- Parameter default value
-
... ... @@ -1,1 +1,0 @@ 1 -0 - Parameter description
-
... ... @@ -1,1 +1,0 @@ 1 -Effect duration - Parameter mandatory
-
... ... @@ -1,1 +1,0 @@ 1 -No - Parameter name
-
... ... @@ -1,1 +1,0 @@ 1 -effectduration

