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]


Reply via email to