[dw-free] Having the classes applied to the link instead of the surrounding list item in navlinks ca
[commit: http://hg.dwscoalition.org/dw-free/rev/c3fd821250d8]
http://bugs.dwscoalition.org/show_bug.cgi?id=3424
Let styles choose whether to apply a CSS class to the li of a module list
item (useful for, say, navlinks). No styles currently use it.
Patch by
fu.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=3424
Let styles choose whether to apply a CSS class to the li of a module list
item (useful for, say, navlinks). No styles currently use it.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- bin/upgrading/s2layers/core2.s2
-------------------------------------------------------------------------------- diff -r 0a1d6b8603a0 -r c3fd821250d8 bin/upgrading/s2layers/core2.s2 --- a/bin/upgrading/s2layers/core2.s2 Tue Jan 25 18:10:41 2011 +0800 +++ b/bin/upgrading/s2layers/core2.s2 Wed Jan 26 14:16:24 2011 +0800 @@ -3851,11 +3851,25 @@ function close_module() { close_module(false); } -function print_module_list(string[] list) { +function print_module_list(string[] list) +"Takes a straight list of strings, prints them out as a list for a module" +{ if (size $list) { println """<ul class="module-list">"""; foreach var string s ($list) { print safe """<li class="module-list-item">$s</li>\n"""; + } + println """</ul>"""; + } +} + +function print_module_list(string{}[] list) +"Takes a list of hashes in the form of [ { class => list_of_classes, item => list_item_contents }], prints them out as a list for a module" +{ + if (size $list) { + println """<ul class="module-list">"""; + foreach var string{} s ($list) { + print safe """<li class="module-list-item $s{"class"}">$s{"item"}</li>\n"""; } println """</ul>"""; } @@ -3899,17 +3913,39 @@ function print_module_userprofile() { close_module(); } +function print_module_navlinks( bool apply_class_to_link ) { + var Page p = get_page(); + open_module("navlinks", "", ""); + + if ( $apply_class_to_link ) { + var string[] links = []; + foreach var string k ($p.views_order) { + var string css = """ class="$k" """; + if ($p.view == $k) { $css = """ class="current $k" """; } + $links[size $links] = """<a href="$p.view_url{$k}"$css>"""+lang_viewname($k)+"""</a>"""; + + } + print_module_list($links); + } else { + var string{}[] links = []; + + foreach var string k ($p.views_order) { + var string class = $k; + if ($p.view == $k) { $class = "current $k"; } + $links[size $links] = { "class" => $class, "item" => """<a href="$p.view_url{$k}">"""+lang_viewname($k)+"""</a>""" }; + } + print_module_list($links); + } + + close_module(); + +} + function print_module_navlinks() { - var Page p = get_page(); - open_module("navlinks", "", ""); - var string[] links = []; - foreach var string k ($p.views_order) { - var string css = """ class="$k" """; - if ($p.view == $k) { $css = """ class="current $k" """; } - $links[size $links] = """<a href="$p.view_url{$k}"$css>"""+lang_viewname($k)+"""</a>"""; - } - print_module_list($links); - close_module(); + # prints as <li><a class="current view..."> + # styles may override and change to print_module_navlinks( false ) + # to print as <li class="current view..."> + print_module_navlinks( true ); } function print_module_time() { --------------------------------------------------------------------------------
no subject
no subject