 |
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | | Expands the node with nodeId and all parent nodes so it will become visible. | |
< < | jmaki.publish("/dojo/tree/colapseNode", {targetId : 'root'}); | > > | jmaki.publish("/dojo/tree/collapseNode", {targetId : 'root'}); | | |
Add Nodes: |
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | | children ::= "'children'" ":" "[" ... "]"
| |
> > | JSON schema format is:
{
"description" : "jMaki Tree",
"type":"object",
"properties": {
"tree" : {
"type" : "object",
"properties" : {
"id" : {"type": "string", "optional":true},
"label" : {"type": "string"},
"expanded" : {"type": "boolean","optional":true, "default":true},
"action" : {"type" : "object","optional":true,
"properties": {
"topic": {"type" : "string", "optional" : true},
"message": {"type" : "string", "optional" : true}
}
}
},
"children" : {"type" : "object",
"properties": {
"id" : {"type": "string", "optional":true},
"label" : {"type": "string"},
"expanded" : {"type": "boolean","optional":true, "default":true},
"action" : {"type" : "object","optional":true,
"properties": {
"topic": {"type" : "string", "optional" : true},
"message": {"type" : ["string","object"],, "optional" : true}
}
}
}
} // children
}
}
}
| | | (2.1) Property Descriptions
The tree element represents an individual node in the underlying tree data structure. The outermost tree element identifies the single root node of the tree. |
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | | The tree widgets supporting the event model all have the following handlers accessible through the action property. Below is the list of handlers and the expected payload described in this model. You will also find examples on usage. Coomands occur on the widget so they are a way to manipulate the widget itself.
| Commands | Payload (object literal) |
| |
< < |
| addNodes | {targetId: <string> , value: tree}] |
| > > |
| addNodes | {targetId: <string> , value: tree} |
| | |
| collapseNode | {targetId , <string>} |
| expandNode | {targetId , <string>} |
| |
< < |
| removeNode | { targetId , <string>]} |
| > > |
| removeNode | { targetId , <string>} |
| | |
| removeChildren | {targetId , <string>} |
| collapseAll | |
| expandAll | |
|
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | | (2.1) Subscribe Events | |
< < |
| Event Type | Argument (object literal) |
| addNodes | {targetId , <value>}] |
| collapseNode | {targetId , <targetId>} |
| expandNode | {targetId , <targetId>} |
| removeNode | { targetId , <targetId>]} |
| removeChildren | {targetId , <targetId>} |
| > > | The tree widgets supporting the event model all have the following handlers accessible through the action property. Below is the list of handlers and the expected payload described in this model. You will also find examples on usage. Coomands occur on the widget so they are a way to manipulate the widget itself.
| Commands | Payload (object literal) |
| addNodes | {targetId: <string> , value: tree}] |
| collapseNode | {targetId , <string>} |
| expandNode | {targetId , <string>} |
| removeNode | { targetId , <string>]} |
| removeChildren | {targetId , <string>} |
| | |
| | | Following are the events published by a tree. | |
< < |
| Event type | Argument (object literal) | Event |
| > > |
| Event type | Payload (object literal) | Event |
| | |
| onClick | { widgetId : widget id, type : 'onClick', targetId: <tree>}] | When the user clicks on a leaf node that does not have an action assoicated to it. |
| onCollapse | { widgetId : widget id, type : 'onCollapse', targetId : <targetId>} | When a user collapses a node. |
| onExpand | { widgetId : widget id, type : 'onExpand', targetId : <targetId>} | When a user expands a node |
|
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | |
| expandNode | {targetId , <targetId>} |
| removeNode | { targetId , <targetId>]} |
| removeChildren | {targetId , <targetId>} |
| |
> > |
| | | Events are based on the following value: |
| |
| META TOPICPARENT | name="JMakiDataModels" |
jMaki Tree Model Specification | | | id : 'node_1_2',
children : [
{ | |
< < | title : 'Node 3.1', | > > | label : 'Node 3.1', | | | id : 'foo',
children : [
{label : 'Last Leaf'} |
| | jMaki Tree Model Specification
Main data model page | | | { label : 'Node 1.2',
'children : [
{ label : 'Node 3.1', | |
< < | action : { message :'foo'}} | > > | action : { message : { targetId : 'bar'}}
} | | | ]
}
] | | | The value property of a tree widget, no matter how it is created, must be a well formed JSON value that conforms to the following BNF description: | |
< < | tree ::= "{" [ ] [ ( | ) ] "}" | > > | tree ::= "{" | | | label ::= "'label'" ":"
expanded ::= "'expanded'" ":" ( true | false )
action ::= "action:" "{" [] [ ] "}," | | | (2.1) Subscribe Events
| Event Type | Argument (object literal) |
| |
< < |
| addNodes | {nodeId: <tree>}] |
| collapse | {nodeId : <nodeId>} |
| expand | {nodeId : <nodeId>} |
| removeNode | { nodeId: <nodeId>]} |
| removeChildren | {nodeId : <nodeId>} |
| > > |
| addNodes | {targetId , <value>}] |
| collapseNode | {targetId , <targetId>} |
| expandNode | {targetId , <targetId>} |
| removeNode | { targetId , <targetId>]} |
| removeChildren | {targetId , <targetId>} |
| | | Events are based on the following value: | | | children : [
{
label : 'Node 1.0', | |
< < | id : 'node 1.0', | > > | id : 'bar', | | | },
{
label : 'Node 1.1', | | | Remove Node: | |
< < | jmaki.publish("/dojo/tree/removeNode", {tartgetId : 'foo'}); | > > | jmaki.publish("/dojo/tree/removeNode", {tartgetId : 'bar'}); | | |
All nodes including the node with nodeId will be removed. | |
< < | jmaki.publish("/dojo/tree/removeChildren", {targetId : 'foo'}); | > > | jmaki.publish("/dojo/tree/removeChildren", {targetId : 'bar'}); | | |
Removes all children under a given node with targetId. |
| | jMaki Tree Model Specification
Main data model page | | | tree ::= "{" [ ] [ ( | ) ] "}"
label ::= "'label'" ":"
expanded ::= "'expanded'" ":" ( true | false ) | |
< < | action ::= "action:" "{" [] "}," | > > | action ::= "action:" "{" [] [ ] "}," | | | topic ::= "topic:" ,
message ::= "message:"
obj ::= | |
| | jMaki Tree Model Specification
Main data model page | | | (3) Events | |
< < | (2.1) Subcribe Events | > > | (2.1) Subscribe Events | | |
| Event Type | Argument (object literal) |
| addNodes | {nodeId: <tree>}] |
| | | root : {
title : 'Default Tree Root Node',
expanded : true, | |
< < | targetId : 'root', | > > | id : 'root', | | | children : [
{
label : 'Node 1.0', | | | { label : 'Node 1.1.1'}
],
action : { | |
< < | message : ''" | > > | message : '' | | | }
},
{ |
| | jMaki Tree Model Specification
Main data model page | | | children : [
{
label : 'Node 1.0', | |
< < | targetId : 'node 1.0', | > > | id : 'node 1.0', | | | },
{
label : 'Node 1.1', | |
< < | targetId : 'node 1.1', | > > | id : 'node 1.1', | | | children : [
{ label : 'Node 1.1.1'}
], | | | },
{
label : 'Node 1.2', | |
< < | targetId : 'node_1_2', | > > | id : 'node_1_2', | | | children : [
{
title : 'Node 3.1', | |
< < | targetId : 'foo', | > > | id : 'foo', | | | children : [
{label : 'Last Leaf'}
] |
| | jMaki Tree Model Specification
Main data model page | | |
| Event type | Argument (object literal) | Event |
| onClick | { widgetId : widget id, type : 'onClick', targetId: <tree>}] | When the user clicks on a leaf node that does not have an action assoicated to it. |
| onCollapse | { widgetId : widget id, type : 'onCollapse', targetId : <targetId>} | When a user collapses a node. |
| |
< < |
| onExpand | { widgetId : widget id, type : 'onExpand', targetId : <ntargetId>} | When a user expands a node |
| > > |
| onExpand | { widgetId : widget id, type : 'onExpand', targetId : <targetId>} | When a user expands a node |
| | | In each case the the Event type is appended to topic when the event is published. |
| | jMaki Tree Model Specification
Main data model page | | | Remove Node: | |
< < | jmaki.publish("/dojo/tree/removeNode", {nodeId : 'foo'}); | > > | jmaki.publish("/dojo/tree/removeNode", {tartgetId : 'foo'}); | | |
All nodes including the node with nodeId will be removed. | |
< < | jmaki.publish("/dojo/tree/removeChildren", {nodeId : 'foo'}); | > > | jmaki.publish("/dojo/tree/removeChildren", {targetId : 'foo'}); | | | | |
< < | Removes all children under a given node with nodeId. | > > | Removes all children under a given node with targetId. | | | | |
< < | jmaki.publish("/dojo/tree/expandNode", {nodeId : 'root'}); | > > | jmaki.publish("/dojo/tree/expandNode", {tartgetId : 'root'}); | | |
Expands the node with nodeId and all parent nodes so it will become visible. | |
< < | jmaki.publish("/dojo/tree/colapseNode", {nodeId : 'root'}); | > > | jmaki.publish("/dojo/tree/colapseNode", {targetId : 'root'}); | | |
Add Nodes: | | | ]
}; | |
< < | jmaki.publish("/dojo/tree/addNodes", {nodeId : 'foo', value : node}); | > > | jmaki.publish("/dojo/tree/addNodes", {targetId : 'foo', value : node}); | | | | |
< < | Adds a graft or sub-tree of nodes under the node with nodeId. | > > | Adds a graft or sub-tree of nodes under the node with targetId. | | | (2.1) Publish Events
Following are the events published by a tree.
| Event type | Argument (object literal) | Event |
| |
< < |
| onClick | { widgetId : widget id, type : 'onClick', nodeId: <tree>}] | When the user clicks on a leaf node that does not have an action assoicated to it. |
| onCollapse | { widgetId : widget id, type : 'onCollapse', nodeId : <nodeId>} | When a user collapses a node. |
| onExpand | { widgetId : widget id, type : 'onExpand', nodeId : <nodeId>} | When a user expands a node |
| > > |
| onClick | { widgetId : widget id, type : 'onClick', targetId: <tree>}] | When the user clicks on a leaf node that does not have an action assoicated to it. |
| onCollapse | { widgetId : widget id, type : 'onCollapse', targetId : <targetId>} | When a user collapses a node. |
| onExpand | { widgetId : widget id, type : 'onExpand', targetId : <ntargetId>} | When a user expands a node |
| | | In each case the the Event type is appended to topic when the event is published. |
| | jMaki Tree Model Specification
Main data model page | | | root : {
title : 'Default Tree Root Node',
expanded : true, | |
< < | id : 'root', | > > | targetId : 'root', | | | children : [
{
label : 'Node 1.0', | |
< < | id : 'node 1.0', | > > | targetId : 'node 1.0', | | | },
{
label : 'Node 1.1', | |
< < | id : 'node 1.1', | > > | targetId : 'node 1.1', | | | children : [
{ label : 'Node 1.1.1'}
], | | | },
{
label : 'Node 1.2', | |
< < | id : 'node_1_2', | > > | targetId : 'node_1_2', | | | children : [
{
title : 'Node 3.1', | |
< < | id : 'foo', | > > | targetId : 'foo', | | | children : [
{label : 'Last Leaf'}
] |
| | jMaki Tree Model Specification
Main data model page | | | (1) Introduction | |
< < | (1.1) Background | > > | The tree data model represtens all the common acctions that can occur with tree widgets. | | | (1.2) Examples | | | (2.1) Subcribe Events | |
< < |
| event type | argument (object literal) |
| > > |
| Event Type | Argument (object literal) |
| | |
| addNodes | {nodeId: <tree>}] |
| collapse | {nodeId : <nodeId>} |
| expand | {nodeId : <nodeId>} |
| | | Here is some glue code for that uses Yahoo buttons to fire the events. | |
> > | Remove Node: | | | | |
< < | // Remove a Node
jmaki.subscribe("/yahoo/button2/*", function() {
jmaki.log("Tree remove"); | | | jmaki.publish("/dojo/tree/removeNode", {nodeId : 'foo'}); | |
< < | }); | > > | | | | | |
< < | // Remove a Node's chidlren
jmaki.subscribe("/yahoo/button5/*", function() {
jmaki.log("Tree remove Children"); | > > | All nodes including the node with nodeId will be removed. | | | jmaki.publish("/dojo/tree/removeChildren", {nodeId : 'foo'}); | |
< < | }); | > > |
Removes all children under a given node with nodeId. | | | | |
< < | // Expand a Node
jmaki.subscribe("/yahoo/button3/*", function() {
jmaki.log("Tree expand"); | > > | | | | jmaki.publish("/dojo/tree/expandNode", {nodeId : 'root'}); | |
< < | }); | > > | | | | | |
> > | Expands the node with nodeId and all parent nodes so it will become visible. | | | | |
< < | // Collapse a Node
jmaki.subscribe("/yahoo/button4/*", function() {
jmaki.log("Tree expand"); | > > | | | | jmaki.publish("/dojo/tree/colapseNode", {nodeId : 'root'}); | |
< < | }); | > > |
Add Nodes: | | | | |
< < | // Add a Node Graft to a Node
jmaki.subscribe("/yahoo/button/*", function() {
jmaki.log("Tree add"); | > > | | | | var node = {
label : 'Graft',
expanded : true, | | | {label : 'Graft .1'},
{label : 'Graft .2'}
] | |
< < | | | | }; | |
< < | jmaki.publish("/dojo/tree/addNodes", {nodeId : 'root', value : node});
}); | > > | jmaki.publish("/dojo/tree/addNodes", {nodeId : 'foo', value : node}); | | | | |
> > | Adds a graft or sub-tree of nodes under the node with nodeId. | | | (2.1) Publish Events | |
< < |
| event type | argument (object literal) |
| onClick | { widgetId : widget id, type : 'onClick', nodeId: <tree>}] |
| onCollapse | { widgetId : widget id, type : 'onCollapse', nodeId : <nodeId>} |
| onExpand | { widgetId : widget id, type : 'onExpand', nodeId : <nodeId>} |
| > > | Following are the events published by a tree.
| Event type | Argument (object literal) | Event |
| onClick | { widgetId : widget id, type : 'onClick', nodeId: <tree>}] | When the user clicks on a leaf node that does not have an action assoicated to it. |
| onCollapse | { widgetId : widget id, type : 'onCollapse', nodeId : <nodeId>} | When a user collapses a node. |
| onExpand | { widgetId : widget id, type : 'onExpand', nodeId : <nodeId>} | When a user expands a node |
In each case the the Event type is appended to topic when the event is published.
In the case of a widget with "publish" set to "/dojo/tree" a "onClick" event will be published to "/dojo/tree/onClick".
Last modified by : | | | | |
< < | -- Main.gmurray71 - 19 July 2007 | > > | -- Main.gmurray71 - 22 July 2007 | | | |
| | jMaki Tree Model Specification
Main data model page | | |
tree ::= "{" <title> [ <expanded> ] [ ( <action> | <children> ) ] "}" | |
< < | title ::= "'title'" ":" | > > | label ::= "'label'" ":" | | | expanded ::= "'expanded'" ":" ( true | false )
action ::= "action:" "{" [] "},"
topic ::= "topic:" , | | | The tree element represents an individual node in the underlying tree data structure. The outermost tree element identifies the single root node of the tree.
As you will see below, the children element allows nodes to be nested to an arbitrary level. Note that there are no restrictions on the order of subordinate elements. | |
< < | The title element defines the text that will be displayed for this particular node. This element is required. | > > | The label element defines the text that will be displayed for this particular node. This element is required. | | | The expanded element declares whether the children underneath this node will be initially visible or not. If not included, this element defaults to true for the top
level node in the tree, and defaults to false for subordinate nodes. | | | (3) Events | |
> > | (2.1) Subcribe Events | | |
| event type | argument (object literal) |
| addNodes | {nodeId: <tree>}] |
| collapse | {nodeId : <nodeId>} |
| | | });
| |
> > | (2.1) Publish Events
| event type | argument (object literal) |
| onClick | { widgetId : widget id, type : 'onClick', nodeId: <tree>}] |
| onCollapse | { widgetId : widget id, type : 'onCollapse', nodeId : <nodeId>} |
| onExpand | { widgetId : widget id, type : 'onExpand', nodeId : <nodeId>} |
| | | -- Main.gmurray71 - 19 July 2007 |
| | jMaki Tree Model Specification
Main data model page | | | It is not legal to have both an action element and a children element on the same node.
(3) Events | |
> > |
| event type | argument (object literal) |
| addNodes | {nodeId: <tree>}] |
| collapse | {nodeId : <nodeId>} |
| expand | {nodeId : <nodeId>} |
| removeNode | { nodeId: <nodeId>]} |
| removeChildren | {nodeId : <nodeId>} |
| | | Events are based on the following value: |
| | jMaki Tree Model Specification
| | | It is not legal to have both an action element and a children element on the same node.
(3) Events | |
> > | Events are based on the following value: | | | | |
< < | Add a reload event to rebuild a tree based on a data or a pointer ot an updated dataset. | > > |
{
root : {
title : 'Default Tree Root Node',
expanded : true,
id : 'root',
children : [
{
label : 'Node 1.0',
id : 'node 1.0',
},
{
label : 'Node 1.1',
id : 'node 1.1',
children : [
{ label : 'Node 1.1.1'}
],
action : {
message : ''"
}
},
{
label : 'Node 1.2',
id : 'node_1_2',
children : [
{
title : 'Node 3.1',
id : 'foo',
children : [
{label : 'Last Leaf'}
]
}
]
}
]
}
}
Here is some glue code for that uses Yahoo buttons to fire the events. | | | | |
< < | Add ability to add / remove nodes to the tree using xpath like expressions to identify the node | > > |
// Remove a Node
jmaki.subscribe("/yahoo/button2/*", function() {
jmaki.log("Tree remove");
jmaki.publish("/dojo/tree/removeNode", {nodeId : 'foo'});
});
// Remove a Node's chidlren
jmaki.subscribe("/yahoo/button5/*", function() {
jmaki.log("Tree remove Children");
jmaki.publish("/dojo/tree/removeChildren", {nodeId : 'foo'});
});
// Expand a Node
jmaki.subscribe("/yahoo/button3/*", function() {
jmaki.log("Tree expand");
jmaki.publish("/dojo/tree/expandNode", {nodeId : 'root'});
});
// Collapse a Node
jmaki.subscribe("/yahoo/button4/*", function() {
jmaki.log("Tree expand");
jmaki.publish("/dojo/tree/colapseNode", {nodeId : 'root'});
});
// Add a Node Graft to a Node
jmaki.subscribe("/yahoo/button/*", function() {
jmaki.log("Tree add");
var node = {
label : 'Graft',
expanded : true,
children : [
{label : 'Graft .1'},
{label : 'Graft .2'}
]
};
jmaki.publish("/dojo/tree/addNodes", {nodeId : 'root', value : node});
});
| | | | |
< < | -- Main.gmurray71 - 18 July 2007 | > > | -- Main.gmurray71 - 19 July 2007 | | | |
| | jMaki Tree Model Specification
| | | The children element contains an array of tree subelements that represent the child nodes underneath this node. If not present, this node will have no children.
It is not legal to have both an action element and a children element on the same node. | |
< < | (3) Event Handling | > > | (3) Events | | | Add a reload event to rebuild a tree based on a data or a pointer ot an updated dataset.
Add ability to add / remove nodes to the tree using xpath like expressions to identify the node | |
< < | (4) Other Behaviors
(5) Current Implementations | | | -- Main.gmurray71 - 18 July 2007 |
| | jMaki Tree Model Specification
| | | (1.2) Examples | |
< < | In a JSP page, you might use a tree widget like this: | > > | The model for a tree widget like this: | | |
{ | | | (2) Data Model | |
< < | (2.1) Overview | | | The value property of a tree widget, no matter how it is created, must be a well formed JSON value that conforms to the following BNF description: | | | children ::= "'children'" ":" "[" ... "]"
| |
< < | FIXME - cross reference to where common terminals are defined.
(2.2) Element Descriptions | > > | (2.1) Property Descriptions | | | The tree element represents an individual node in the underlying tree data structure. The outermost tree element identifies the single root node of the tree.
As you will see below, the children element allows nodes to be nested to an arbitrary level. Note that there are no restrictions on the order of subordinate elements. | | | The expanded element declares whether the children underneath this node will be initially visible or not. If not included, this element defaults to true for the top
level node in the tree, and defaults to false for subordinate nodes. | |
< < | The onclick element defines the required behavior if the user clicks on this node at runtime. If this element is present, a click on this node will cause navigation
to the specified URL. If not present, and if this node has children, the expanded state of this node will be toggled (dynamic change on the client side only). If not present, | > > | The action element defines the required behavior if the user clicks on this node at runtime. If this element is present, a click on this node will cause an event to be published to the topic specified using the publish property of the widget or to the topic specified as a property of the publish object. If not present, and if this node has children, the expanded state of this node will be toggled (dynamic change on the client side only). If not present, | | | and this node does not have children, only the event behavior described below will occur.
The children element contains an array of tree subelements that represent the child nodes underneath this node. If not present, this node will have no children. |
| | jMaki Tree Model Specification
| | | In a JSP page, you might use a tree widget like this: | |
< < | <a:widget name="yahoo.tree"
args="{ 'publish' : '/jmaki/menu' }"
value="{
'tree' : {
'title' : 'Yahoo Tree Root Node',
'expanded' : true,
'children' : [
{ 'title' : 'Node 1.1'},
{ 'title' : 'Node 1.2',
'children' : [
{ 'title' : 'Node 3.1',
'onclick' : {'url' :'foo'}} | > > | {
- tree
- { label : 'Yahoo Tree Root Node', expanded : true, children : [ { label : 'Node 1.1'}, { label : 'Node 1.2', 'children : [ { label : 'Node 3.1', action : { message :'foo'}}
| | | ]
}
]
} | |
< < | }"/> | > > | } | | |
(2) Data Model |
|
< < | -- Main.carlavmott - 08 Jun 2007
jMaki Tree Data Model discussion | > > | jMaki Tree Model Specification | | | | |
< < | The tree data model for jMaki release .9 is shown below: | > > |
(1) Introduction
(1.1) Background
(1.2) Examples
In a JSP page, you might use a tree widget like this: | | | | |
< < | {
'root' : { | > > | <a:widget name="yahoo.tree"
args="{ 'publish' : '/jmaki/menu' }"
value="{
'tree' : { | | | 'title' : 'Yahoo Tree Root Node',
'expanded' : true,
'children' : [ | | | { 'title' : 'Node 3.1',
'onclick' : {'url' :'foo'}}
] | |
< < | },
{ 'title' : 'Node 4.1'},
{ 'title' : 'Node 4.2'}
] | | | } | |
> > | ] | | | } | |
> > | }"/>
(2) Data Model
(2.1) Overview | | | | |
> > | The value property of a tree widget, no matter how it is created, must be a well formed JSON value that conforms to the following BNF description:
tree ::= "{" <title> [ <expanded> ] [ ( <action> | <children> ) ] "}"
title ::= "'title'" ":" <string>
expanded ::= "'expanded'" ":" ( true | false )
action ::= "action:" "{" [<topic>] <message> "},"
topic ::= "topic:" <string>,
message ::= "message:" <obj>
obj ::= <string> | <JavaScript object literal>
children ::= "'children'" ":" "[" <tree> ... "]" | | | | |
< < | Pointer to jMakiTreeFunctionalSpec for further information. | > > | FIXME - cross reference to where common terminals are defined.
(2.2) Element Descriptions
The tree element represents an individual node in the underlying tree data structure. The outermost tree element identifies the single root node of the tree.
As you will see below, the children element allows nodes to be nested to an arbitrary level. Note that there are no restrictions on the order of subordinate elements.
The title element defines the text that will be displayed for this particular node. This element is required.
The expanded element declares whether the children underneath this node will be initially visible or not. If not included, this element defaults to true for the top
level node in the tree, and defaults to false for subordinate nodes.
The onclick element defines the required behavior if the user clicks on this node at runtime. If this element is present, a click on this node will cause navigation
to the specified URL. If not present, and if this node has children, the expanded state of this node will be toggled (dynamic change on the client side only). If not present,
and this node does not have children, only the event behavior described below will occur.
The children element contains an array of tree subelements that represent the child nodes underneath this node. If not present, this node will have no children.
It is not legal to have both an action element and a children element on the same node.
(3) Event Handling
Add a reload event to rebuild a tree based on a data or a pointer ot an updated dataset.
Add ability to add / remove nodes to the tree using xpath like expressions to identify the node
(4) Other Behaviors
(5) Current Implementations
-- Main.gmurray71 - 18 July 2007 | | | |
|
< < | | | | -- Main.carlavmott - 08 Jun 2007
jMaki Tree Data Model discussion | | | | |
> > | Pointer to jMakiTreeFunctionalSpec for further information. |
|
< < | | | | -- Main.carlavmott - 08 Jun 2007
jMaki Tree Data Model discussion | |
> > | The tree data model for jMaki release .9 is shown below: | | | | |
> > | {
'root' : {
'title' : 'Yahoo Tree Root Node',
'expanded' : true,
'children' : [
{ 'title' : 'Node 1.1'},
{ 'title' : 'Node 1.2',
'children' : [
{ 'title' : 'Node 3.1',
'onclick' : {'url' :'foo'}}
]
},
{ 'title' : 'Node 4.1'},
{ 'title' : 'Node 4.2'}
]
}
} | | | |
|
> > |
-- Main.carlavmott - 08 Jun 2007
jMaki Tree Data Model discussion
|
|