- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::xowiki::TreeRenderer=listdnd
::xowiki::TreeRenderer=listdndcreate ...
Class Relations
::xowiki::TreeRenderer create ::xowiki::TreeRenderer=listdnd \ -superclass ::xowiki::TreeRenderer=listMethods (to be applied on the object)
add_handler (scripted)
template::add_event_listener -id $id -event $event -preventdefault=false -script "listdnd_${event}_handler(event);"include_head_entries (scripted)
::xo::Page requireJS "/resources/xowiki/listdnd.js"min_level (scripted)
if {[dict exists ${:context} min_level]} { return [dict get ${:context} min_level] } return ""render (scripted)
#:log "=== TreeRenderer=listdnd render $tree" # # Do we allow reorder on the top-level? # set id [$tree id]-topul if {[:min_level] == -1} { set css_class "page_order_region" foreach event {drop dragover dragleave} { :add_handler -id $id -event $event } } else { set css_class "page_order_region_no_target" } #:log "=== TreeRenderer=listdnd render $tree min_level <[:min_level]>" if {[$tree exists owner]} { # # assume, the "owner" is an includelet. set owner [$tree set owner] set page [$owner set __including_page] set package_url [::[$page package_id] package_url] set package_url_data " data-package_url='$package_url' data-folder_id='[$page parent_id]'" } else { set package_url_data "" } return [subst {<div id='[$tree id]' $package_url_data> <ul id='$id' class='$css_class'>[next] </ul></div> }]Methods (to be applied on instances)
render_node (scripted)
#:log "=== TreeRenderer=listdnd render_node $cat_content" #set open_state [expr {${:open_requests} > 0 ?"class='liOpen'" : "class='liClosed'"}] ${:object} instvar page_order set :li_id [::xowiki::Includelet js_name [${:owner} set id]_$page_order] set :ul_id [::xowiki::Includelet js_name [${:owner} set id]__l${:level}_$page_order] set min_level [[self class] min_level] set reorder_child [expr {$min_level ne "" && ${:level} >= $min_level}] set reorder_self [expr {$min_level ne "" && ${:level} > $min_level}] #:log "=== render_node $page_order min_level $min_level level ${:level} reorder_child $reorder_child reorder_self $reorder_self" if {$reorder_child} { foreach event {drop dragover dragleave} { [self class] add_handler -id ${:ul_id} -event $event } set :ul_class "page_order_region" } else { set :ul_class "page_order_region_no_target" } if {$reorder_self} { set :li_atts [subst {data-value='$page_order' draggable='true'}] [self class] add_handler -id ${:li_id} -event dragstart } set :ul_id [::xowiki::Includelet js_name [${:owner} set id]__l${:level}_$page_order] return [next]
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables