On 10/23/06, Don Brown <[EMAIL PROTECTED]> wrote:
Have you tried this with the Dojo 0.4 release? Any reason we shouldn't upgrade to it?
Nope, not that I know of. In fact, I would think we'd want to upgrade to 0.4directly, and bypass 0.3.1. If we have any problems, they're much more likely to be fixed if we're on the latest release. -- Martin Cooper Don
Musachy Barroso wrote: > Would something like this include all the current functionality in > BindDiv? (events for stop/start timer, refresh, start after a delay, > advisor via dojo's "handler" property). This way BindDiv will be > easier to maintain (dojo's ContentPane + timer) and the Tab widget can > be deleted (doesn't add anything to this one). By the way this doesn't > work on AMD 64/firefox/linux due to a dojo's bug. > > dojo.provide("struts.widgets.BindDiv"); > > dojo.require("dojo.widget.*"); > dojo.require("dojo.io.*"); > dojo.require("dojo.widget.Container"); > dojo.require("dojo.widget.ContentPane"); > dojo.require("dojo.animation.Timer"); > > struts.widgets.BindDiv = function() { > dojo.widget.html.ContentPane.call(this); > var self = this; > > this.widgetType = "BindDiv"; > > this.href = ""; > this.extractContent = false; > this.parseContent = false; > this.cacheContent = false; > > this.frequency = 0; > this.delay = 0; > this.startTimer = false; > this.timer = null; > > //pub/sub events > this.refreshListenTopics = ""; > this.stopTimerListenTopics = ""; > this.startTimerListenTopics = ""; > > this.postCreate = function() { > if(self.frequency > 0) { > self.timer = new dojo.animation.Timer(self.frequency); > self.timer.onTick = self.reloadContents; > > //start the timer > if(self.startTimer) { > //start after delay > dojo.debug("starting timer after " + self.delay); > dojo.lang.setTimeout(self.delay, self.startTimer); > } > } > > //attach listeners > if(!dojo.string.isBlank(self.refreshListenTopics)) { > dojo.debug("Listening to " + self.refreshListenTopics); > dojo.event.topic.subscribe(self.refreshListenTopics, self, > "reloadContents"); > } > if(!dojo.string.isBlank(self.stopTimerListenTopics)) { > dojo.debug("Listening to " + self.stopTimerListenTopics); > dojo.event.topic.subscribe(self.stopTimerListenTopics, self, > "stopTimer"); > } > if(!dojo.string.isBlank(self.startTimerListenTopics)) { > dojo.debug("Listening to " + self.startTimerListenTopics); > dojo.event.topic.subscribe(self.startTimerListenTopics, self, > "startTimer"); > } > }; > > this.reloadContents = function() { > //refresh is not visible in ContentPane > self.isLoaded = false; > self.loadContents(); > }; > > this.stopTimer = function() { > dojo.debug("stopping timer"); > self.timer.stop(); > }; > > this.startTimer = function() { > dojo.debug("starting timer with frequency " + self.frequency); > self.timer.start(); > }; > }; > > dojo.inherits(struts.widgets.BindDiv, dojo.widget.html.ContentPane); > > dojo.widget.tags.addParseTreeHandler("dojo:BindDiv"); > > > > Musachy Barroso wrote: >> I was looking at the Div/Panel classes and I think we need to do some >> changes, right now Panel extends Div and PanelTag exteds DivTag. The >> problem is that the new PanelTag wraps dojo's ContentPane, while >> DivTag wraps HTMLBindDiv(from struts), and they are quite different. >> I think we should replace HTMLBindDiv with an implementation that >> extends dojo's ContentPane and add a timer to it for the auto refresh. >> >> what do you guys think? >> >> musachy >> >> Ian Roughley wrote: >>> Yes - this was the direction that we wanted to go in. Try to do as >>> much as possible in dojo and provide light wrappers in Struts. When >>> we first implemented the tabs, there was no such dojo >>> implementation. The one feature that we had that you should check >>> that has been implemented in dojo is the pub/sub events - so there >>> should be events that each tabs listens to to refresh itself. >>> >>> I think as Don pointed out, we want to keep a very lightweight >>> wrapper in struts and have all the work being done in dojo. >>> >>> The other big thing that would be a great help is converting the >>> code from dojo 0.2 to 0.3 :) >>> >>> Ian >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]