-
@allObjects Thanks for your feedback - really appreciated.
You are correct about tabLinks & tabContents - not sure how that slipped through the code review process;)
Could you explain the 'bootstrapping shell' idea please - is it basically a redirect from espruino to x10host?
I've taken note of your comment on AMD/requireJS And am reading http://requirejs.org/docs/whyamd.html#amd
Your ui controls look excellent - I don't know how I missed that post - is the code available? Is it memory intensive?
As for the forum messages - I hadn't been checking but will do.
Walked myself through the main.html and related files. Cool solution - including how to overcome the same-origin/cross-domain challenges and minimize load on Espruino.
Making Espruino the primary server and just serving a 'bootstrapping shell' and your current x10host the place to load dynamically the content (reversing the x10host and Espruino roles) would that work for you too?
On another note: I like your bare bones approach. There are a lot of nice frameworks out there that can do all what you do in nicely too... with must much more overhead. Applying agile to requirements of a tool/environment/infrastructure is a cool thing: just build what is needed... and nothing more.
On some tech/coding notes:
In the tabs.js I noticed tabLinks and contentDivs defined as (empty) arrays, but nowhere in the code I see usage as an array - just dynamic adding and variable accessing of the respective DON node properties. With no other use in mind, a plain, literal object definition would be sufficient, would it?
Did you consider to use some AMD / requireJS technique for modularisation... and get cross domain access for free? - http://www.slideshare.net/anm8tr/amd-why-what-and-how is quite a nice intro.
For the ButtonSet module, did you had taken a look at http://forum.espruino.com/conversations/257540/ conversation?
Btw, do you check your forum messages?