it is a general javascript's eval() behaviour. I have an an extra {} inside
folder [].

It should be
demodata.js
=========
[{classname:"examples",folder:[
{nr:"1",title:"Atoms",name:"Atoms",desc:"Test", file:[
{nr:"2",title:"Atom 1",name:"Atom_1.html",desc:"<p>Test</p>"}
]
}
]
}]

Thanks.
Kanugula.


kanugula wrote:
> 
> Thank you Thomas.
> 
> I am not stopping here. I need to continue on this. 
> 
> I started by editing demodata.js as an initial attempt.
> I don't know why the following in demodata.js is not working. 
> demodata.js
> ========= 
> [{classname:"examples",folder:[
> {
> {nr:"1",title:"Atoms",name:"Atoms",desc:"Test", file:[
> {nr:"2",title:"Atom 1",name:"Atom_1.html",desc:"<p>Test</p>"}
> ]
> }}
> ]
> }]
> 
> The code eval(content) throws error.
> dataLoader : function(url)
>     {
>       var req = new qx.io.remote.Request(url);
> 
>       req.setTimeout(180000);
>       req.setProhibitCaching(false);
> 
>       req.addListener("completed", function(evt)
>       {
>         var loadEnd = new Date();
>         this.debug("Time to load data from server: " + (loadEnd.getTime()
> - loadStart.getTime()) + "ms");
> 
>         var content = evt.getData().getContent();
> 
>         var start = new Date();
>         var treeData = eval(content);
> 
>         var end = new Date();
>         this.debug("Time to eval tree data: " + (end.getTime() -
> start.getTime()) + "ms");
> 
>         // give the browser a chance to update its UI before doing more
>         qx.event.Timer.once(function()
>         {
>           this.tests.handler = new demobrowser.TreeDataHandler(treeData);
> 
>           var start = new Date();
>           this.leftReloadTree();
>           var end = new Date();
>           this.debug("Time to build/display tree: " + (end.getTime() -
> start.getTime()) + "ms");
> 
>           // read initial state
>           var state = this._history.getState();
> 
>           if (state) {
>             this.setCurrentSample(state.replace("~", "/"));
>             //this.widgets["treevi"].setSelectedElement()//TODO: this is a
> kludge!
>           } else {
>             this.setCurrentSample(this.defaultUrl);
>           }
>         },
>         this, 0);
>       },
>       this);
> 
>       req.addListener("failed", function(evt) {
>         this.error("Couldn't load file: " + url);
>       }, this);
> 
>       var loadStart = new Date();
>       req.send();
>     },
> 
> 
> 
> Can somebody point the error please?
> 
> 
> Firebug  complains the following error.
> invalid property id
> [Break on this error] {nr:"1",title:"Atoms",name:"Atoms",desc:"Test",
> file:[\n
> DemoBrowser.js (line 1507)
> demobrowser.DemoBrowser[70]: Demo loaded... Log.js (line 557
> 
> 
> Thank you.
> Kanugula.
> 
> 
> thron7 wrote:
>> 
>> kanugula wrote:
>>> Hello,
>>>
>>> How can I add a sub folder let's say "atoms" under example folder in
>>> left
>>> tree in Demo Browser?
>>>
>>> I looked at gendata.py code, I don't know anything about it.
>>> .............................
>>> for category in [ "example", "test", "performance" ]:
>>> .............................
>>>
>>> Can somebody thow some light on this as we developed a project similar
>>> to
>>> Demo Browser, but with deeper tree node herarachy.
>>>
>>>   
>> 
>> Hacking Python code isn't such a bad idea, after all ;-). You had the 
>> right intuition: Adding a folder under the 'html' directory (where 
>> 'example', 'test' and 'performance' already are), and adding the folder 
>> name in the above list in gendata.py gives you an easy way to add own 
>> samples to the Demobrowser. You then just put your samples (as .html) 
>> files in this directory, and with the next 'make' for source or build, 
>> they should show up in the Demobrowser.
>> 
>> But this only gets you so far. The scanning of gendata.py is shallow, 
>> and as you said you want a deeper node hierarchy. Then you are on your 
>> own: You could either extend gendata.py to populate a richer JSON 
>> structure that fills the tree view in Demobrowser; or write this 
>> functionality in any other programming language you feel comfortable 
>> with (Perl, Java, ...).
>> 
>> The basic issue at hand is fairly straight-forward: You go through the 
>> directories of interest and for each file you make a suitable entry in 
>> the JSON structure (don't be confused by the key 'tests' that holds the 
>> file entries; that's arbitrary ;). If you want to capture a deeper 
>> directory structure, do this recursively. The minimal properties of each 
>> file entry is probably only the file name (We added things like the 
>> label (for the tree node), a description (extracted from the html file), 
>> etc., which you might consider neclectable). But the main issue is: You 
>> have to do this before the app starts, with a shell tool or similar, 
>> since a web application cannot scan a directory for available files :-). 
>> That's why we build this JSON file 'demodata.js'.
>> 
>> Once you have this in place, you probably have to take a sharp look at 
>> the method that parses this JSON file, to build the tree structure. I'm 
>> afraid it might not be general enough to accommodate arbitrary deep 
>> structures (I should have cleaned up the code that does this ... :-(. 
>> The JSON file is retreived in the 'dataLoader' method, and the visual 
>> tree is built in the 'leftReloadTree' method. (Everything is a bit more 
>> complicated than necessary, since I initially planned for an alternative 
>> view besides the hierarchical tree...). In 'leftReloadTree' you will 
>> find all the Tree building methods Helder wrote about, so there is no 
>> magic here: The visual tree is simply built from the JSON data, and you 
>> can do the same in whatever way befits you (e.g. change or invent new 
>> keys for the data, ...), as long as you keep the data structure and the 
>> method parsing it in sync.
>> 
>> Thomas
>> 
>> 
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> qooxdoo-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/How-to-add-subfolder-under-example-in-Demo-Browser-left-tree--tp15345113p16770095.html
Sent from the qooxdoo-devel mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to