Class ::Generic::List (public)

 ::xotcl::Class ::Generic::List[i] [ -actions actions ] \
    [ -bulk_action_method bulk_action_method ] [ -elements elements ] \
    [ -rows_per_page rows_per_page ] [ -row_code row_code ] \
    [ -class class ] [ -no_create_p no_create_p ] \
    [ -create_url create_url ] [ -no_edit_p no_edit_p ] \
    [ -edit_url edit_url ] [ -edit_template edit_template ] \
    [ -no_delete_p no_delete_p ] [ -delete_url delete_url ] \
    [ -delete_template delete_template ] [ -package_id package_id ] \
    [ -html_class html_class ] [ -html_main_class html_main_class ] \
    [ -html_sub_class html_sub_class ]

Defined in /var/www/openacs.org/packages/xotcl-core/tcl/generic-procs.tcl

Simple OO interface to template::list. This class has been built to allow quick creation of list UIs for generic acs_objects.

Many parameters are homonymous to those for template::list::create and work in the same way, unless stated differently in this documentation.

Despite the high number of object's members, most of them are there for backward compatibility with the procedural API and they seldom need to be specified.

An example of instantiation could just look as this:

    # Must be an existing acs_object class on the system.
    set class "::dev::Location"

    # As we are talking about acs_objects, our 'delete'
    # page could of course be the same for every object
    # in the system.
    ::Generic::List create list1  -class $class  -package_id $package_id  -rows_per_page $rows_per_page  -delete_url "../delete"  -elements {
          name {
            label "Name"
          }
          street {
            label "Street"
          }
          number {
            label "Number"
          }
          city {
            label "City"
          }
          region {
            label "Region"
          }
          country {
            label "Country"
          }
          coords {
            label "Coordinates"
          }
        } -orderby {
          default_value name
          name {
            label "Name"
            orderby_desc "name desc"
            orderby_asc "name asc"
          }
        } -row_code {
          set coords "$latitude $longitude"
        }

    list1 generate
    
...while the ADP template would include this:
    <listtemplate name="list1"></listtemplate>
    
Notice that in this case we didn't have to specify queries, nor populate any multirow by hand: they have come directly from class's data-model. A list built in this way will be paginated automatically.

Switches:
-actions (optional)
Behaves as in template::list::create. If missing, can be automatically generated acting on create_url and no_create_p parameters (see below).
-bulk_action_method (optional)
Behaves as in template::list::create, but will default to POST method, as it is safer with respect to possible high number of query parameters.
-elements (optional)
Behaves as in template::list::create. It must be possible to build every element either through class's instance members, or programmatically (see row_code below).
-rows_per_page (optional)
Behaves as template::list::create's page_size parameter. Pagination is automatically for this class. To turn it off, just set this parameter to "" .
-row_code (optional)
This snippet will be executed for every instance/row in the list, so is similar in spirit to code_block argument for db_multirow. This will allow the user to build programmatically other elements outside object's data model, override edit and delete url and so on. Code will have access to every variable in the caller scope and to each instance's variable.
-class (optional)
Is the class (descendant of acs_object) for which this list will be built.
-no_create_p (optional)
Tells to the list we don't want instance creation action button to be built automatically.
-create_url (optional)
When instance creation url is automatically built, tells the list to which url make it point.
-no_edit_p (optional)
Tells to the list we don't want instance edit action button to be built automatically.
-edit_url (optional)
When instance edit element is automatically built, tells the list to which url make it point. Page pointed must accept an item_id parameter, that will be the primary key of edited instance.
-edit_template (optional)
When instance edit element is automatically built, use this template to build the element.
-no_delete_p (optional)
Tells to the list we don't want instance delete action button to be built automatically.
-delete_url (optional)
When instance delete url is automatically built, tells the list to which url make it point. Page pointed must accept an item_id parameter, that will be the primary key of deleted instance.
-delete_template (optional)
When instance delete element is automatically built, use this template to build the element.
-package_id (optional)
Is the package for this instance. It has no use for now.
-html_class (optional)
Behaves as class parameter in template::list::create.
-html_main_class (optional)
Behaves as main_class parameter in template::list::create.
-html_sub_class (optional)
Behaves as sub_class parameter in template::list::create.
Author:
Antonio Pisano <antonio@elettrotecnica.it>

Testcases:
No testcase defined.
Source code:
namespace eval ::Generic {}
::nsf::object::alloc ::xotcl::Class ::Generic::List {set :__default_metaclass ::xotcl::Class
   set :__default_superclass ::xotcl::Object}
::Generic::List instproc get_filters {} {
    if {${:rows_per_page} ne "" &&
        "rows_per_page" ni ${:filters}} {
      set opts {}
      set opt [expr {int(${:rows_per_page} / 2)}]
      for {set i 0} {$i < 3} {incr i} {
        lappend opts [list $opt $opt]
        set opt [expr {$opt*($i+2)}]
      }
            append :filters "
        rows_per_page {
          label \"[_ acs-templating.Page_Size]\"
          values {$opts}
          default_value ${:rows_per_page}
        }"
    }
    set ulevel [expr {${:ulevel} + 1}]
    set :filters [uplevel $ulevel [list subst ${:filters}]]
    return ${:filters}
  }
::Generic::List instproc get_actions {} {
    if {[string is false ${:no_create_p}]} {
      set type ${:pretty_name}
      if {${:create_url} eq ""} {set create_url add-edit}
      set create_action [list  [_ xotcl-core.create_new_type] ${:create_url} [_ xotcl-core.create_new_type]]
      set :actions [concat $create_action ${:actions}]
    }
    return ${:actions}
  }
::Generic::List instproc generate {} {
    set cmd [list  template::list::create  -ulevel [expr {${:ulevel}+1}]  -name ${:list_name}  -multirow ${:list_name}  -actions [:get_actions]  -elements [:get_elements]  -filters [:get_filters]  -orderby ${:orderby}]
    if {${:bulk_actions} ne ""} {
      lappend cmd  -bulk_actions ${:bulk_actions}  -bulk_action_method ${:bulk_action_method}  -bulk_action_export_vars ${:bulk_action_export_vars}  -key ${:id_column}
    }
    if {${:formats} ne ""} {
      lappend cmd  -formats ${:formats}  -selected_format ${:selected_format}
    }
    if {${:rows_per_page} ne ""} {
      lappend cmd  -page_flush_p t  -page_size ${:rows_per_page}  -page_groupsize ${:page_groupsize}  -page_query [:page_query]
    }
    lappend cmd  -row_pretty_plural ${:pretty_plural}
    # These properties will be passed as they are
    foreach prop {
      pass_properties
      checkbox_name
      orderby_name
      no_data
      caption
      bulk_action_click_function
      html
    } {
      set val [set :$prop]
      if {$val ne ""} {
        lappend cmd -${prop} $val
      }
    }
    foreach prop {
      html_main_class
      html_sub_class
      html_class
    } {
      set val [set :$prop]
      set prop [string range $prop 5 end]
      if {$val ne ""} {
        lappend cmd -${prop} $val
      }
    }
    {*}$cmd
    :multirow

    # Don't put handlers directly on the HTML, but rather define them in JavaScript afterwards
    template::add_confirm_handler -CSSclass acs-confirm -message [_ acs-subsite.Delete]?
  }
::Generic::List instproc init {} {
    set :id_column     [${:class} id_column]
    set :pretty_name   [${:class} pretty_name]
    set :pretty_plural [${:class} pretty_plural]
    set :list_name     ${:name}
  }
::Generic::List instproc extend_cols {} {
    set cols {}
    set specs {}
    foreach {el spec} [:get_elements] {
      lappend cols $el
      foreach {prop val} $spec {
        if {$prop in
            {display_col
              link_url_col}} {
          lappend cols $val}
      }}; return $cols
  }
::Generic::List instproc page_query {} {
    if {${:orderby} ne ""} {
      set orderby {:orderby}
      return [${:class} instance_select_query  -select_attributes [list ${:id_column}]  -where_clause "\[template::list::filter_where_clauses -name ${:list_name} -and\]"  -orderby "\[lrange \[template::list::orderby_clause -name ${:list_name} -orderby\] 2 end\]"]
    } else {
      return [${:class} instance_select_query  -select_attributes [list ${:id_column}]  -where_clause "\[template::list::filter_where_clauses -name ${:list_name} -and\]"]
    }
  }
::Generic::List instproc multirow {} {
    :instvar list_name id_column no_edit_p {edit_url base_edit_url} no_delete_p {delete_url base_delete_url} row_code
    set ulevel [expr {${:ulevel} + 1}]
    if {$base_edit_url   eq ""} {set base_edit_url "add-edit"}
    if {$base_delete_url eq ""} {set base_delete_url "delete"}
    set this_url [::xo::cc url]
    set extend_cols [:extend_cols]
    # Create the multirow
    {*}"template::multirow create $list_name $extend_cols"
    set multirow_append "template::multirow append $list_name"
    foreach col $extend_cols {lappend multirow_append "\$$col"}
    # Loop through objects in this page...
    foreach item_id [:get_ids] {
      # ...get the object
      set o [::xo::db::Class get_instance_from_db -id $item_id]
      set obj_vars [$o info vars]
      {*}"$o instvar $obj_vars"
      set item_id [set $id_column]
      if {!$no_edit_p} {
        set edit_url [export_vars -base $base_edit_url {item_id}]
      }
      if {!$no_delete_p} {
        set delete_url [export_vars -base $base_delete_url {item_id {return_url $this_url}}]
      }
      # ensure object variables exist and
      # bring them to the caller scope
      set upvars [lsort -unique [concat $extend_cols $obj_vars]]
      foreach col $upvars {
        if {![info exists $col]} {set $col ""}
        uplevel $ulevel [list set $col [set $col]]
      }
      if {$row_code ne ""} {
        uplevel $ulevel $row_code
      }
      {*}[uplevel $ulevel [list subst $multirow_append]]
      # Need to clear the area or code block could suffer
      # variable pollution from leftovers
      {*}"unset $upvars"
    }
  }
::Generic::List instproc get_elements {} {
    set elements {}
    # build the edit button
    if {!${:no_edit_p}} {
      set type ${:pretty_name}
      set title [_ xotcl-core.edit_type]
      lappend elements  edit [list  link_url_col edit_url  display_template ${:edit_template}  link_html [list title $title]  sub_class narrow]
    }
    # edit button will be the first list element,
    # in between there will be user's elements,
    # delete button will be last
    lappend elements {*}${:elements}
    # build delete button
    if {!${:no_delete_p}} {
      set title [_ xotcl-core.delete_item]
      lappend elements  delete [list  link_url_col delete_url  link_html [list title $title class acs-confirm]  display_template ${:delete_template}  sub_class narrow]
    }
    return $elements
  }
::Generic::List instproc to_csv {} {
    template::list::write_csv -name ${:list_name}
  }
::Generic::List instproc get_ids {} {
    if {${:rows_per_page} ne ""} {
      return [template::list::page_get_ids -name ${:list_name} -tcl_list]
    }
    # If we are not paginating, just get all ids in table
    return [::xo::dc list query [subst [:page_query]]]
  }
::Generic::List instparametercmd edit_url
::Generic::List instparametercmd filters
::Generic::List instparametercmd no_edit_p
::Generic::List instparametercmd actions
::Generic::List instparametercmd html_class
::Generic::List instparametercmd row_code
::Generic::List instparametercmd bulk_action_method
::Generic::List instparametercmd page_groupsize
::Generic::List instparametercmd rows_per_page
::Generic::List instparametercmd ulevel
::Generic::List instparametercmd page
::Generic::List instparametercmd elements
::Generic::List instparametercmd bulk_actions
::Generic::List instparametercmd bulk_action_export_vars
::Generic::List instparametercmd checkbox_name
::Generic::List instparametercmd package_id
::Generic::List instparametercmd selected_format
::Generic::List instparametercmd edit_template
::Generic::List instparametercmd name
::Generic::List instparametercmd html_sub_class
::Generic::List instparametercmd pass_properties
::Generic::List instparametercmd formats
::Generic::List instparametercmd bulk_action_click_function
::Generic::List instparametercmd delete_url
::Generic::List instparametercmd html
::Generic::List instparametercmd html_main_class
::Generic::List instparametercmd class
::Generic::List instparametercmd create_url
::Generic::List instparametercmd caption
::Generic::List instparametercmd delete_template
::Generic::List instparametercmd no_delete_p
::Generic::List instparametercmd no_data
::Generic::List instparametercmd no_create_p
::Generic::List instparametercmd orderby
::Generic::List instparametercmd orderby_name

::nx::slotObj -container slot ::Generic::List
::Generic::List::slot eval {set :__parameter {
    {actions ""}
    {name {[namespace tail [self]]}}
    {bulk_actions ""}
    {bulk_action_method "post"}
    {bulk_action_export_vars ""}
    elements
    {filters ""}
    {formats ""}
    {selected_format ""}
    {rows_per_page 30}
    {page 1}
    {orderby ""}
    {page_groupsize 10}
    {row_code ""}
    class
    {create_url ""}
    {edit_url   ""}
    {edit_template {<adp:icon name="edit">}}
    {delete_url ""}
    {delete_template {<adp:icon name="trash">}}
    {no_create_p f}
    {no_edit_p   f}
    {no_delete_p f}
    {package_id ""}
    {ulevel 1}
    {pass_properties ""}
    {checkbox_name ""}
    {orderby_name ""}
    {no_data ""}
    {html_main_class ""}
    {html_sub_class ""}
    {html_class ""}
    {html ""}
    {caption ""}
    {bulk_action_click_function ""}
  }}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::ulevel {set :accessor public
   set :configurable true
   set :convert false
   set :default 1
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::ulevel
   set :methodname ulevel
   set :multiplicity 1..1
   set :name ulevel
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::page {set :accessor public
   set :configurable true
   set :convert false
   set :default 1
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::page
   set :methodname page
   set :multiplicity 1..1
   set :name page
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::elements {set :accessor public
   set :configurable true
   set :convert false
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::elements
   set :methodname elements
   set :multiplicity 1..1
   set :name elements
   set :per-object false
   set :position 0
   set :required false
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::no_delete_p {set :accessor public
   set :configurable true
   set :convert false
   set :default f
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::no_delete_p
   set :methodname no_delete_p
   set :multiplicity 1..1
   set :name no_delete_p
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::no_data {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::no_data
   set :methodname no_data
   set :multiplicity 1..1
   set :name no_data
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::delete_template {set :accessor public
   set :configurable true
   set :convert false
   set :default {<adp:icon name="trash">}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::delete_template
   set :methodname delete_template
   set :multiplicity 1..1
   set :name delete_template
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::caption {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::caption
   set :methodname caption
   set :multiplicity 1..1
   set :name caption
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::class {set :accessor public
   set :configurable true
   set :convert false
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::class
   set :methodname class
   set :multiplicity 1..1
   set :name class
   set :per-object false
   set :position 0
   set :required false
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::html_main_class {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::html_main_class
   set :methodname html_main_class
   set :multiplicity 1..1
   set :name html_main_class
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::bulk_actions {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::bulk_actions
   set :methodname bulk_actions
   set :multiplicity 1..1
   set :name bulk_actions
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::orderby {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::orderby
   set :methodname orderby
   set :multiplicity 1..1
   set :name orderby
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::no_create_p {set :accessor public
   set :configurable true
   set :convert false
   set :default f
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::no_create_p
   set :methodname no_create_p
   set :multiplicity 1..1
   set :name no_create_p
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::package_id {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::package_id
   set :methodname package_id
   set :multiplicity 1..1
   set :name package_id
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::name {set :accessor public
   set :configurable true
   set :convert false
   set :default {[namespace tail [self]]}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::name
   set :methodname name
   set :multiplicity 1..1
   set :name name
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::filters {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::filters
   set :methodname filters
   set :multiplicity 1..1
   set :name filters
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::no_edit_p {set :accessor public
   set :configurable true
   set :convert false
   set :default f
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::no_edit_p
   set :methodname no_edit_p
   set :multiplicity 1..1
   set :name no_edit_p
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::actions {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::actions
   set :methodname actions
   set :multiplicity 1..1
   set :name actions
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::html_sub_class {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::html_sub_class
   set :methodname html_sub_class
   set :multiplicity 1..1
   set :name html_sub_class
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::html {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::html
   set :methodname html
   set :multiplicity 1..1
   set :name html
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::delete_url {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::delete_url
   set :methodname delete_url
   set :multiplicity 1..1
   set :name delete_url
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::bulk_action_click_function {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::bulk_action_click_function
   set :methodname bulk_action_click_function
   set :multiplicity 1..1
   set :name bulk_action_click_function
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::rows_per_page {set :accessor public
   set :configurable true
   set :convert false
   set :default 30
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::rows_per_page
   set :methodname rows_per_page
   set :multiplicity 1..1
   set :name rows_per_page
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::create_url {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::create_url
   set :methodname create_url
   set :multiplicity 1..1
   set :name create_url
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::orderby_name {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::orderby_name
   set :methodname orderby_name
   set :multiplicity 1..1
   set :name orderby_name
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::bulk_action_export_vars {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::bulk_action_export_vars
   set :methodname bulk_action_export_vars
   set :multiplicity 1..1
   set :name bulk_action_export_vars
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::checkbox_name {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::checkbox_name
   set :methodname checkbox_name
   set :multiplicity 1..1
   set :name checkbox_name
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::edit_url {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::edit_url
   set :methodname edit_url
   set :multiplicity 1..1
   set :name edit_url
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::edit_template {set :accessor public
   set :configurable true
   set :convert false
   set :default {<adp:icon name="edit">}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::edit_template
   set :methodname edit_template
   set :multiplicity 1..1
   set :name edit_template
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::selected_format {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::selected_format
   set :methodname selected_format
   set :multiplicity 1..1
   set :name selected_format
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::html_class {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::html_class
   set :methodname html_class
   set :multiplicity 1..1
   set :name html_class
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::row_code {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::row_code
   set :methodname row_code
   set :multiplicity 1..1
   set :name row_code
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::pass_properties {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::pass_properties
   set :methodname pass_properties
   set :multiplicity 1..1
   set :name pass_properties
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::bulk_action_method {set :accessor public
   set :configurable true
   set :convert false
   set :default post
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::bulk_action_method
   set :methodname bulk_action_method
   set :multiplicity 1..1
   set :name bulk_action_method
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::formats {set :accessor public
   set :configurable true
   set :convert false
   set :default {}
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::formats
   set :methodname formats
   set :multiplicity 1..1
   set :name formats
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}

::nsf::object::alloc ::xotcl::Attribute ::Generic::List::slot::page_groupsize {set :accessor public
   set :configurable true
   set :convert false
   set :default 10
   set :defaultmethods {}
   set :disposition alias
   set :domain ::Generic::List
   set :incremental 0
   set :manager ::Generic::List::slot::page_groupsize
   set :methodname page_groupsize
   set :multiplicity 1..1
   set :name page_groupsize
   set :per-object false
   set :position 0
   set :required false
   set :substdefault 0b111
   set :trace none
   : init}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: