Login Register

dijit.tree programmatically got an "error loading root": "query is not defined"

Hi there !

I'm in front of a boring problem. I try to set up a dijit.Tree programmatically, and I always got the same error :


error loading root: ReferenceError: query is not defined message=query is not defined

Here is my code :

var oTree = {
        identifier: 'id',
        label: 'name',
        items: [
                { id: '0', name: 'Fruits', top: true, children: [ {_reference: 1}, {_reference: 4} ] },
                { id: '1', name: 'Citrus', items: [ {_reference: 2}, {_reference: 3} ] },
                { id: '2', name: 'Orange'},
                { id: '3', name: 'Lemon'},
                { id: '4', name: 'Tomato'},
                { id: '5', name: 'Vegetables', top: true, children: [ {_reference: 4} ] },
                { id: '6', name: 'Lettuce'},
        ]
};

		var myStore = new dojo.data.ItemFileReadStore({data: oTree});

		var myModel = new dijit.tree.TreeStoreModel({
			store: myStore,
			query: {top:true},
			rootId: "food",
			rootLabel: "Foods",
			childrenAttrs: ["children"]
		});

		var tree = new dijit.Tree({
			model: myModel
		},
		dojo.byId ('tree_element'));

Why I'm doing wrong ?

Thank for your help ! :)

Finally, I found my

Finally, I found my mistakes, I show you the correct creation of a tree :

dojo.addOnLoad (function () {
		var myStore = new dojo.data.ItemFileReadStore({data: oTree });

		var myModel = new dijit.tree.ForestStoreModel({
			store: myStore,
			query: {type:'category'},
			rootId: "menu",
			rootLabel: "Menu",
			childrenAttrs: ["children"]
		});

		var tree = new dijit.Tree({
			model: myModel
		}, dojo.byId ('tree_element'));

		tree.startup();
	});

Hope this will help somebody else :)