Index: openacs-4/packages/xowiki/tcl/tree-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/tree-procs.tcl,v
diff -u -N -r1.23.2.10 -r1.23.2.11
--- openacs-4/packages/xowiki/tcl/tree-procs.tcl 8 Apr 2021 20:11:09 -0000 1.23.2.10
+++ openacs-4/packages/xowiki/tcl/tree-procs.tcl 3 Feb 2022 18:26:22 -0000 1.23.2.11
@@ -72,12 +72,18 @@
}
}
Tree instproc open_tree {} {;}
- Tree instproc render {{-style mktree} {-js ""} {-context ""}} {
+
+ Tree instproc render {
+ {-style mktree}
+ {-js ""}
+ {-context ""}
+ {-properties ""}
+ } {
set renderer [[self class] renderer $style]
$renderer set context $context
$renderer set js $js
TreeNode instmixin $renderer
- set content [$renderer render [self]]
+ set content [$renderer render -properties $properties [self]]
TreeNode instmixin ""
if {[$renderer set js] ne ""} {
template::add_body_script -script [$renderer set js]
@@ -204,7 +210,7 @@
TreeRenderer instproc include_head_entries {args} {
# to be overloaded
}
- TreeRenderer instproc render {tree} {
+ TreeRenderer instproc render {{-properties ""} tree} {
set content ""
foreach c [$tree children] {append content [$c render] \n}
return $content
@@ -236,11 +242,16 @@
TreeRenderer create TreeRenderer=list
TreeRenderer=list proc include_head_entries {args} {
# In the general case, we have nothing to include. More
- # specialized renders will provide their head entries.
+ # specialized renders could provide their head entries.
}
- TreeRenderer=list proc render {tree} {
- return "
"
+ TreeRenderer=list proc render {{-properties ""} tree} {
+ set ul_class [expr {[dict exists $properties CSSclass_top_ul]
+ && [dict get $properties CSSclass_top_ul] ne ""
+ ? "class='[dict get $properties CSSclass_top_ul]' "
+ : ""}]
+ return ""
}
+
TreeRenderer=list instproc render_item {{-highlight:boolean false} item} {
$item instvar title href
set prefix [$item set prefix]
@@ -301,7 +312,7 @@
#::xo::Page requireJS "/resources/acs-templating/mktree.js"
template::add_body_script -src "/resources/acs-templating/mktree.js"
}
- TreeRenderer=mktree proc render {tree} {
+ TreeRenderer=mktree proc render {{-properties ""} tree} {
return ""
}
@@ -316,7 +327,7 @@
TreeRenderer=samplemenu proc include_head_entries {args} {
# add your CSS here...
}
- TreeRenderer=samplemenu proc render {tree} {
+ TreeRenderer=samplemenu proc render {{-properties ""} tree} {
return ""
}
@@ -368,7 +379,7 @@
return "$entry $content"
}
- TreeRenderer=bootstrap3horizontal proc render {tree} {
+ TreeRenderer=bootstrap3horizontal proc render {{-properties ""} tree} {
set name [$tree name]
if {$name ne ""} {
set navbarLabel [subst {
@@ -420,7 +431,7 @@
}
::xo::Page requireJS urn:ad:js:yui2:treeview/treeview-min
}
- TreeRenderer=yuitree proc render {tree} {
+ TreeRenderer=yuitree proc render {{-properties ""} tree} {
return ""
}
@@ -449,7 +460,7 @@
-script "listdnd_${event}_handler(event);"
}
- TreeRenderer=listdnd proc render {tree} {
+ TreeRenderer=listdnd proc render {{-properties ""} tree} {
#:log "=== TreeRenderer=listdnd render $tree"
#
# Do we allow reorder on the top-level?
@@ -550,7 +561,7 @@
security::csp::require script-src cdnjs.cloudflare.com
}
- TreeRenderer=bootstrap3 proc render {tree} {
+ TreeRenderer=bootstrap3 proc render {{-properties ""} tree} {
set jsTree [string trimright [next] ", \n"]
set id [$tree id]
set options ""
@@ -601,7 +612,7 @@
# Bootstrap3 tree renderer with folder structure
#--------------------------------------------------------------------------------
TreeRenderer create TreeRenderer=bootstrap3-folders -superclass TreeRenderer=bootstrap3
- TreeRenderer=bootstrap3-folders proc render {tree} {
+ TreeRenderer=bootstrap3-folders proc render {{-properties ""} tree} {
set jsTree [string trimright [next] ", \n"]
set id [$tree id]
set options ""