Ok, then put those two under one ticket. You know best :)
Don
Musachy Barroso wrote:
That's ok, the only problem is that this one by itself would break
anchor and tabbed panel.
musachy
Don Brown wrote:
I'd prefer separate issues, with attached patches. As for testing,
we started to use Patrick's hostedqa stuff, but we need to use it more.
Don
Musachy Barroso wrote:
I have everything (I think :)) for the ajax Div Tag, do you want me
to create a patch for it, or wait and create a big one when I'm done
with the other widgets (anchor, tree...dojo 0.2 -> 0.3)?
musachy
//Have you guys consider anything to test this ajax stuff? (Selenium
maybe?)
Musachy Barroso wrote:
This was with 0.3.1 which is the current release. I posted a
message on their mailing list.
musachy
Don Brown wrote:
Have you tried this with the Dojo 0.4 release? Any reason we
shouldn't upgrade to it?
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]
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
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]