Class ::xowiki::includelet::PageReorderSupport

::xowiki::includelet::PageReorderSupport[i] create ...

Class Relations

  • class: ::xotcl::Class[i]
  • superclass: ::xotcl::Object[i]
  • instmixinof: ::xowiki::includelet::book[i], ::xowiki::includelet::selection[i], ::xowiki::includelet::toc[i]
::xotcl::Class create ::xowiki::includelet::PageReorderSupport \
     -superclass ::xotcl::Object

Methods (to be applied on instances)

  • page_reorder_check_allow (scripted)

    if {$allow_reorder ne ""} {
      set granted [::${:package_id} check_permissions  -user_id [[::${:package_id} context] user_id]  -package_id ${:package_id}  ${:package_id} change-page-order]
      #:msg "granted=$granted"
      if {$granted} {
        if {$with_head_entries} {
          ::xo::Page requireJS "/resources/xowiki/listdnd.js"
        }
      } else {
        # the user has not enough permissions, so disallow
        set allow_reorder ""
      }
    }
    return $allow_reorder
  • page_reorder_init_vars (scripted)

    :upvar $js_ js $last_level_ last_level $ID_ ID $min_level_ min_level
    #set js "YAHOO.xo_page_order_region.DDApp.package_url = '[::${:package_id} package_url]';\n"
    set last_level 0
    set ID [:js_name]
    if {[nsf::is integer $allow_reorder]} {
      set min_level $allow_reorder
    } else {
      set min_level 1
    }
  • page_reorder_item_id (scripted)

    :upvar $js_ js
    set key :__count($prefix_js)
    set p [incr $key]
    set id ${ID}_${prefix_js}_$p
    #append js "YAHOO.xo_page_order_region.DDApp.cd\['$id'\] = '$page_order';\n"
    return $id
  • page_reorder_open_ul (scripted)

    set l1 [expr {$l + 2}]
    set id ${ID}__l${l1}_${prefix_js}
    set css_class [expr {$l1 >= $min_level ? "page_order_region" : "page_order_region_no_target"}]
    return "<ul id='$id' class='$css_class'>\n"