Summary
-
Objects (3 modified, 0 added, 0 removed)
Details
- 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
-
... ... @@ -2,8 +2,9 @@ 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; 5 + padding: 10px 12px; 6 + cursor: pointer; 7 + user-select: none; 7 7 } 8 8 9 9 .showhide-header-flex { ... ... @@ -10,45 +10,25 @@ 10 10 display: flex; 11 11 justify-content: space-between; 12 12 align-items: center; 13 - padding: 6px 0px; 14 - font-weight: bold; 15 15 } 16 16 17 17 .showhide-title { 18 18 flex: 1; 19 19 text-align: left; 19 + font-weight: bold; 20 20 } 21 21 22 -.showhidebutton a { 23 - text-decoration: none; 24 - cursor: pointer; 25 - font-weight: normal; 22 +.showhide-arrow { 23 + display: inline-block; 24 + transition: transform 0.3s ease; 25 + transform: rotate(0deg); 26 + font-size: 16px; 27 + color: #0645ad; 26 26 } 27 27 28 -.showhidecontent { 29 - border: 1px solid #ccc; 30 - border-top: none; 31 - border-radius: 0 0 4px 4px; 32 - padding: 10px; 33 - background-color: #fff; 30 +/* Wenn Container 'open' ist → Pfeil dreht sich */ 31 +.showhide-header.open .showhide-arrow { 32 + transform: rotate(90deg); 34 34 } 35 35 36 -.showhide-header:hover { 37 - background-color: #f0f0f0; 38 - cursor: default; 39 -} 40 40 41 -.showhidebutton a:hover { 42 - text-decoration: underline; 43 -} 44 - 45 -.showhide-icon { 46 - color: #0645ad; /* typisches Link-Blau */ 47 - text-decoration: underline; 48 - cursor: pointer; 49 -} 50 - 51 -.showhide-header:hover .showhide-icon { 52 - text-decoration: underline; 53 - color: #0b0080; /* dunkler beim Hover */ 54 -}
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -27,10 +27,12 @@ 27 27 data-show-effect="$effect"> 28 28 <div class="showhide-header-flex"> 29 29 <div class="showhide-title">$title</div> 30 - <div class="showhide-arrow"> ►</div>30 + <div class="showhide-arrow">▶</div> ## Unicode ▶ 31 31 </div> 32 32 </div> 33 33 {{/html}} 34 +</div> 35 +{{/html}} 34 34 (% class="showhidecontent" #if($id && $id!="")id="showhidecontent${id}" #end#if($xcontext.action != 'edit') style="display: none;"#end %) 35 35 ((( 36 36 (((

