I can't make a tree leaf selectable. When I click on a leaf there's a _javascript_ error in tree.js:

function doAnimate(element) {
var sublist = $(element).up('li').down("ul");

var dim = sublist.getDimensions();
tree.js:52TypeError: 'undefined' is not an object (evaluating 'sublist.getDimensions')

var duration = Math.min(dim.height * cfg.ANIMATION_RATE,
cfg.MAX_ANIMATION_DURATION)

new Effect.toggle(sublist, cfg.TOGGLE_TYPE, {
duration : duration,
queue : {
position : 'end',
scope : cfg.QUEUE_NAME
}
});
}

Just in case the above error didn't got lost on the way to the mailing list, it says:

TypeError: 'undefined' is not an object (evaluating 'sublist.getDimensions')

It is undefined because I clicked on 'tree_1', which has an 'li' up from it but no 'ul' down from there:

<li>
<span id="tree_1" class="t-tree-icon t-leaf-node t-tree-expanded"></span>
<span class="t-tree-label t-selectable">
    100 Philosophy
</span>
</li>

I saw in the doco that I have to provide a TreeSelectionModel if I want it to be selectable, and that is what I had done:

        <t:tree t:id="tree" t:model="treeModel" t:selectionModel="selectionModel"/>

public TreeSelectionModel<CategoryNode> getSelectionModel() {
if (selectionModel == null) {
selectionModel = new DefaultTreeSelectionModel<CategoryNode>();
}
return selectionModel;
}

Have I missed something or is this a bug?

Cheers,

Geoff

Reply via email to