Index: openacs-4/packages/xowiki/tcl/link-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/link-procs.tcl,v diff -u -N -r1.80 -r1.81 --- openacs-4/packages/xowiki/tcl/link-procs.tcl 15 Nov 2010 13:49:07 -0000 1.80 +++ openacs-4/packages/xowiki/tcl/link-procs.tcl 15 Nov 2010 15:26:21 -0000 1.81 @@ -11,19 +11,25 @@ # generic links # Class create BaseLink -parameter { - cssclass href label title target extra_query_parameter + cssclass cssid href label title target extra_query_parameter {anchor ""} {query ""} } - BaseLink instproc mk_css_class {-additional {-default ""}} { + BaseLink instproc mk_css_class {{-additional ""} {-default ""}} { set cls [expr {[my exists cssclass] ? [my cssclass] : $default}] - if {[info exists additional]} { + if {$additional ne ""} { if {$cls eq ""} {set cls $additional} else {append cls " " $additional} } if {$cls ne ""} {set cls "class='$cls'"} return $cls } + BaseLink instproc mk_css_class_and_id {{-additional ""} {-default ""}} { + if {[my exists cssid]} {set id "id='[my cssid]'"} else {set id ""} + set cls [my mk_css_class -additional external] + return "$cls $id" + } + # # external links # @@ -33,7 +39,8 @@ set title_att "" if {[info exists title]} {append title_att " title='[string map [list ' {'}] $title]'"} if {[info exists target]} {append title_att " target='$target'"} - return "$label " + set css_atts [my mk_css_class_and_id -additional external] + return "$label " } # @@ -73,13 +80,13 @@ return [my item_id] } Link instproc render_found {href label} { - return "$label" + return "$label" } Link instproc render_not_found {href label} { if {$href eq ""} { return \[$label\] } else { - return " \[ $label\ + return " \[ $label\ \] " } } @@ -199,7 +206,7 @@ } if {$link ne ""} { $page lappend lang_links($image_css_class) \ - "$lang" } return "" @@ -256,7 +263,7 @@ if {$style ne ""} {set style "style='$style'"} if {[my exists geometry]} {append link "?geometry=[my set geometry]"} set label [string map [list ' "'"] $label] - set cls [my mk_css_class -default image] + set cls [my mk_css_class_and_id -default image] if {[my exists href]} { set href [my set href] if {[string match "java*" $href]} {set href .} @@ -298,7 +305,7 @@ set internal_href [export_vars -base $internal_href [my extra_query_parameter]] } if {![info exists embed_options]} { - return "$label " + return "$label " } else { set internal_href [string map [list %2e .] $internal_href] return "" @@ -474,7 +481,7 @@ ::xo::Page requireJS "/resources/xowiki/popup-handler.js" ::xo::Page requireJS "/resources/xowiki/overlib/overlib.js" return "$label" + [my mk_css_class_and_id -additional glossary]>$label" } #