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]