Änderungen von Dokument Show Hide Macro

Zuletzt geändert von jklein am 2025/06/02 14:04

Von Version 5.2
bearbeitet von jklein
am 2025/06/02 09:16
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 5.1
bearbeitet von jklein
am 2025/06/02 09:12
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,29 +1,16 @@
1 1  require(['jquery'], function($) {
2 2   function onClick () {
3 3   var button = $(this),
4 - content = button.parent().next(),
5 - effect = button.attr('data-show-effect'),
6 - data = button.data();
7 -
8 - if ($.inArray(effect, ['toggle', 'fadeToggle', 'slideToggle']) == -1)
9 - effect = 'toggle';
10 -
11 - // Toggle-Zustand berechnen
4 + content = button.parent().next(),
5 + effect = button.attr('data-show-effect'),
6 + data = button.data();
7 + if($.inArray(effect,['toggle','fadeToggle','slideToggle']) == -1) effect = 'toggle';
12 12   data.showHideState = !(('showHideState' in data) ? data.showHideState : content.is(':visible'));
13 -
14 - // Pfeil und Text setzen
15 - var message = button.attr(data.showHideState ? 'data-hide-message' : 'data-show-message');
16 - var icon = data.showHideState ? '▼ ' : '► ';
17 - button.html(icon + message);
18 -
19 - // Inhalt ein-/ausblenden
9 + button.html(button.attr(data.showHideState ? 'data-hide-message' : 'data-show-message'));
20 20   content.stop()[effect](parseInt(button.attr('data-show-duration')));
21 -
22 22   return false;
23 23   }
24 -
25 25   $(document).ready(function() {
26 26   $('.showhidebutton').children('a').on('click', onClick);
27 27   });
28 28  });
29 -
XWiki.WikiMacroClass[0]
Makro-Code
... ... @@ -22,7 +22,7 @@
22 22  (% class="showhidebutton" %)
23 23  (((
24 24  {{html clean=false}}
25 -<a href="javascript:void(0)" #if($id && $id!="")id="showhidebuttontext${id}" #end data-show-duration="$effectduration" data-show-effect="$effect" data-show-message="$showmessage" data-hide-message="$hidemessage">$showmessage</a>
25 +<a href="javascript:void(0)" #if($id && $id!="")id="showhidebuttontext${id}" #end data-show-duration="$effectduration" data-show-effect="$effect" data-show-message="$showmessage" data-hide-message="$hidemessage">$mparams.showmessage</a>
26 26  {{/html}}
27 27  )))
28 28  (% class="showhidecontent" #if($id && $id!="")id="showhidecontent${id}" #end#if($xcontext.action != 'edit') style="display: none;"#end %)
© Aagon GmbH 2025
Besuchen Sie unsere Aagon-Community