Configuration

The options object you pass at initialization contains all of the configuration options for the tree.

You could save some time and pass only the properties that are different from the defaults:

Configuration defaults
{
    data    
: {
        type    
: "predefined", // ENUM [json, xml_flat, xml_nested, predefined]
        method  
: "GET",        // HOW TO REQUEST FILES
        async  
: false,        // BOOL - async loading onopen
        async_data
: function (NODE) { return { id : $(NODE).attr("id") || 0 } }, // PARAMETERS PASSED TO SERVER
        url    
: false,        // FALSE or STRING - url to document to be used (async or not)
        json    
: false,        // FALSE or OBJECT if type is JSON and async is false - the tree dump as json
        xml    
: false         // FALSE or STRING
   
},
    selected    
: false,        // FALSE or STRING or ARRAY
    opened      
: [],           // ARRAY OF INITIALLY OPENED NODES
    languages  
: [],           // ARRAY of string values (which will be used as CSS classes - so they must be valid)
    path        
: false,        // FALSE or STRING (if false - will be autodetected)
    cookies    
: false,        // FALSE or OBJECT (prefix, open, selected, opts - from jqCookie - expires, path, domain, secure)
    ui      
: {
        dots        
: true,     // BOOL - dots or no dots
        rtl        
: false,    // BOOL - is the tree right-to-left
        animation  
: 0,        // INT - duration of open/close animations in miliseconds
        hover_mode  
: true,     // SHOULD get_* functions chage focus or change hovered item
        scroll_spd  
: 4,
        theme_path  
: false,    // Path to themes
        theme_name  
: "default",// Name of theme
        context    
: [
           
{
                id      
: "create",
                label  
: "Create",
                icon    
: "create.png",
                visible
: function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
                action  
: function (NODE, TREE_OBJ) { TREE_OBJ.create(false, TREE_OBJ.get_node(NODE)); }
           
},
           
"separator",
           
{
                id      
: "rename",
                label  
: "Rename",
                icon    
: "rename.png",
                visible
: function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("renameable", NODE); },
                action  
: function (NODE, TREE_OBJ) { TREE_OBJ.rename(); }
           
},
           
{
                id      
: "delete",
                label  
: "Delete",
                icon    
: "remove.png",
                visible
: function (NODE, TREE_OBJ) { var ok = true; $.each(NODE, function () { if(TREE_OBJ.check("deletable", this) == false) ok = false; return false; }); return ok; },
                action  
: function (NODE, TREE_OBJ) { $.each(NODE, function () { TREE_OBJ.remove(this); }); }
           
}
       
]
   
},
    rules  
: {
        multiple    
: false,    // FALSE | CTRL | ON - multiple selection off/ with or without holding Ctrl
        metadata    
: false,    // FALSE or STRING - attribute name (use metadata plugin)
        type_attr  
: "rel",    // STRING attribute name (where is the type stored if no metadata)
        multitree  
: false,    // BOOL - is drag n drop between trees allowed
        createat    
: "bottom", // STRING (top or bottom) new nodes get inserted at top or bottom
        use_inline  
: false,    // CHECK FOR INLINE RULES - REQUIRES METADATA
        clickable  
: "all",    // which node types can the user select | default - all
        renameable  
: "all",    // which node types can the user select | default - all
        deletable  
: "all",    // which node types can the user delete | default - all
        creatable  
: "all",    // which node types can the user create in | default - all
        draggable  
: "none",   // which node types can the user move | default - none | "all"
        dragrules  
: "all",    // what move operations between nodes are allowed | default - none | "all"
        drag_copy  
: false,    // FALSE | CTRL | ON - drag to copy off/ with or without holding Ctrl
        droppable  
: [],
        drag_button
: "left"
   
},
    lang
: {
        new_node    
: "New folder",
        loading    
: "Loading ..."
   
},
    callback    
: {             // various callbacks to attach custom logic to
       
// before focus  - should return true | false
        beforechange
: function(NODE,TREE_OBJ) { return true },
        beforeopen  
: function(NODE,TREE_OBJ) { return true },
        beforeclose
: function(NODE,TREE_OBJ) { return true },
       
// before move   - should return true | false
        beforemove  
: function(NODE,REF_NODE,TYPE,TREE_OBJ) { return true },
       
// before create - should return true | false
        beforecreate
: function(NODE,REF_NODE,TYPE,TREE_OBJ) { return true },
       
// before rename - should return true | false
        beforerename
: function(NODE,LANG,TREE_OBJ) { return true },
       
// before delete - should return true | false
        beforedelete
: function(NODE,TREE_OBJ) { return true },

        onJSONdata  
: function(DATA,TREE_OBJ) { return DATA; },
        onselect    
: function(NODE,TREE_OBJ) { },                  // node selected
        ondeselect  
: function(NODE,TREE_OBJ) { },                  // node deselected
        onchange    
: function(NODE,TREE_OBJ) { },                  // focus changed
        onrename    
: function(NODE,LANG,TREE_OBJ,RB) { },              // node renamed ISNEW - TRUE|FALSE, current language
        onmove      
: function(NODE,REF_NODE,TYPE,TREE_OBJ,RB) { }, // move completed (TYPE is BELOW|ABOVE|INSIDE)
        oncopy      
: function(NODE,REF_NODE,TYPE,TREE_OBJ,RB) { }, // copy completed (TYPE is BELOW|ABOVE|INSIDE)
        oncreate    
: function(NODE,REF_NODE,TYPE,TREE_OBJ,RB) { }, // node created, parent node (TYPE is createat)
        ondelete    
: function(NODE, TREE_OBJ,RB) { },                  // node deleted
        onopen      
: function(NODE, TREE_OBJ) { },                 // node opened
        onopen_all  
: function(TREE_OBJ) { },                       // all nodes opened
        onclose    
: function(NODE, TREE_OBJ) { },                 // node closed
        error      
: function(TEXT, TREE_OBJ) { },                 // error occured
       
// double click on node - defaults to open/close & select
        ondblclk    
: function(NODE, TREE_OBJ) { TREE_OBJ.toggle_branch.call(TREE_OBJ, NODE); TREE_OBJ.select_branch.call(TREE_OBJ, NODE); },
       
// right click - to prevent use: EV.preventDefault(); EV.stopPropagation(); return false
        onrgtclk    
: function(NODE, TREE_OBJ, EV) { },
        onload      
: function(TREE_OBJ) { },
        onfocus    
: function(TREE_OBJ) { },
        ondrop      
: function(NODE,REF_NODE,TYPE,TREE_OBJ) {}
   
}
}