Add tag visibility indicators as style classes in core2.
Patch by foxfirefey.
diffs (136 lines):
diff -r 229b842c341e -r 19a2914f670b bin/upgrading/s2layers/core2.s2
--- a/bin/upgrading/s2layers/core2.s2 Sat Aug 15 23:06:29 2009 -0500
+++ b/bin/upgrading/s2layers/core2.s2 Sat Aug 15 23:32:05 2009 -0500
@@ -3101,21 +3101,23 @@ function print_tag_manage_link() "Prints
}
function print_list_tags(TagDetail[] tagslist, string{} opts) "Prints out a
list of tags. Takes as arguments the taglist and a hash with optional arguments
'list-class' and 'item-class'. 'print_uses' option can be 'number', 'text' or
'title' to determine whether to display the uses as a number, as full text, or
in the link title. It defaults to full text"
-{
+{
var string list_class = $opts{"list-class"} ?
"""class="$opts{"list-class"}" """ : "";
- var string item_class = $opts{"item-class"} ?
"""class="$opts{"item-class"}" """ : "";
+ var string item_class = $opts{"item-class"} ? $opts{"item-class"} : "";
var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} : "text";
if (size $tagslist) {
println """<ul $list_class>""";
+
foreach var TagDetail t ($tagslist) {
+ var string tag_class = """class="visibility-$t.visibility
$item_class" """;
if ($print_uses == "title") {
var string uses = get_plural_phrase($t.use_count,
"text_tag_uses");
- println """<li $item_class><a href="$t.url"
title="$uses">$t.name</a></li>\n""";
+ println """<li $tag_class><a href="$t.url"
title="$uses">$t.name</a></li>\n""";
} elseif ($print_uses == "number") {
- println """<li $item_class><a href="$t.url">$t.name</a>
[$t.use_count]</li>\n""";
+ println """<li $tag_class><a href="$t.url">$t.name</a>
[$t.use_count]</li>\n""";
} else {
var string uses = get_plural_phrase($t.use_count,
"text_tag_uses");
- println """<li $item_class><a href="$t.url">$t.name</a> -
$uses</li>\n""";
+ println """<li $tag_class><a href="$t.url">$t.name</a> -
$uses</li>\n""";
}
}
println """</ul>""";
@@ -3125,7 +3127,7 @@ function print_cloud_tags(TagDetail[] ta
function print_cloud_tags(TagDetail[] tagslist, string{} opts) "Prints out a
list of tags in a cloud. Takes as arguments the taglist and a hash with
optional arguments 'min_size' (minimum size in ems, times 10), 'maz_size'
(maximum size in ems, times 10), 'list-class' and 'item-class'. 'print_uses'
option can be 'number', 'text' or 'title' to determine whether to display the
uses as a number, as full text, or in the link title. It defaults to the link
title"
{
var string list_class = $opts{"list-class"} ?
"""class="$opts{"list-class"}" """ : "";
- var string item_class = $opts{"item-class"} ?
"""class="$opts{"item-class"}" """ : "";
+ var string item_class = $opts{"item-class"} ? $opts{"item-class"}: "";
var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} :
"title";
var int min_size = $opts{"min_size"} ? int($opts{"maz_size"}) : 9;
@@ -3134,31 +3136,30 @@ function print_cloud_tags(TagDetail[] ta
println """<div $list_class>""";
foreach var TagDetail t ($tagslist)
- {
- if ($t.use_count > $high_count) { $high_count = $t.use_count; }
- }
-
- foreach var TagDetail t ($tagslist)
+ {
+ if ($t.use_count > $high_count) { $high_count = $t.use_count; }
+ }
+
+ foreach var TagDetail t ($tagslist)
+ {
+ var string tag_size = string($min_size);
+ var string tag_class = """class="visibility-$t.visibility $item_class"
""";
+ if ($t.use_count > 1)
{
- var string tag_size = string($min_size);
- if ($t.use_count > 1)
- {
- $tag_size =
string((($maz_size-$min_size)*$t.use_count)/$high_count + $min_size);
- }
- var string tag_size_em =
$tag_size->substr(0,($tag_size->length())-1) + "." +
$tag_size->substr(($tag_size->length())-1,1) + "em";
- if ($print_uses == "number") {
- println """<span $item_class style="font-size:
$tag_size_em;"><a href="$t.url">$t.name</a> [$t.use_count]</span>\n""";
- } elseif ($print_uses == "text") {
- var string uses = get_plural_phrase($t.use_count,
"text_tag_uses");
- println """<span $item_class style="font-size:
$tag_size_em;"><a href="$t.url">$t.name</a> - $uses</span>\n""";
- } else {
- var string uses = get_plural_phrase($t.use_count,
"text_tag_uses");
- println """<span $item_class style="font-size:
$tag_size_em;"><a href="$t.url" title="$uses">$t.name</a></span>\n""";
- }
-
- }
+ $tag_size =
string((($maz_size-$min_size)*$t.use_count)/$high_count + $min_size);
+ }
+ var string tag_size_em = $tag_size->substr(0,($tag_size->length())-1)
+ "." + $tag_size->substr(($tag_size->length())-1,1) + "em";
+ if ($print_uses == "number") {
+ println """<span $tag_class style="font-size: $tag_size_em;"><a
href="$t.url">$t.name</a> [$t.use_count]</span>\n""";
+ } elseif ($print_uses == "text") {
+ var string uses = get_plural_phrase($t.use_count, "text_tag_uses");
+ println """<span $tag_class style="font-size: $tag_size_em;"><a
href="$t.url">$t.name</a> - $uses</span>\n""";
+ } else {
+ var string uses = get_plural_phrase($t.use_count, "text_tag_uses");
+ println """<span $tag_class style="font-size: $tag_size_em;"><a
href="$t.url" title="$uses">$t.name</a></span>\n""";
+ }
+ }
println """</div>""";
-
}
function print_multilevel_tags(TagDetail[] tagslist, string{} opts) "Prints
out a list of multilevel tags. Takes as arguments the taglist and a hash with
optional arguments 'list-class' and 'item-class'. 'print_uses' option can be
'number', 'text' or 'title' to determine whether to display the uses as a
number, as full text, or in the link title. It defaults to uses as a number"
@@ -3166,7 +3167,7 @@ function print_multilevel_tags(TagDetail
if (size($tagslist) < 1) { return; }
var string list_class = $opts{"list-class"} ?
"""class="$opts{"list-class"}" """ : "";
- var string item_class = $opts{"item-class"} ?
"""class="$opts{"item-class"}" """ : "";
+ var string item_class = $opts{"item-class"} ? $opts{"item-class"} : "";
var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} :
"number";
var string[] closing_html;
@@ -3178,6 +3179,7 @@ function print_multilevel_tags(TagDetail
foreach var TagDetail t ($tagslist) {
var string[] tags = $t.name->split($*text_tagsmultilevel_delimiter);
+ var string tag_class = """class="visibility-$t.visibility $item_class"
""";
var int pos = 0;
var bool show_lower_tiers = false;
@@ -3211,7 +3213,7 @@ function print_multilevel_tags(TagDetail
# $prev_tags has fewer tiers than current tag.
if ($prev_tags[$pos] == "") {
- print """\n<ul $list_class><li $item_class>$tier_code""";
+ print """\n<ul $list_class><li $tag_class>$tier_code""";
$closing_html[$pos] = "</li></ul>";
}
elseif (($tags[$pos] != $prev_tags[$pos]) or ($show_lower_tiers)) {
@@ -3235,12 +3237,12 @@ function print_multilevel_tags(TagDetail
if ($closing_html[$pos] == "") {
# This is the first tier at this level, so open list.
- print """\n<ul $list_class><li $item_class>$tier_code""";
+ print """\n<ul $list_class><li $tag_class>$tier_code""";
$closing_html[$pos] = "</li></ul>";
}
else {
# There have already been tiers added at this level
- print """</li>\n<li $item_class>$tier_code""";
+ print """</li>\n<li $tag_class>$tier_code""";
}
}
else {
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog