Musachy,
I could upgrade the embedded Dojo files to the 0.4 release during the week.
If your patches for the s2 ajax tags already are against the 0.4 release,
I could apply those as well.
What do you (and others of course) think?
regards,
Rainer
> Any idea on when is Dojo going to be bumped up to 0.4?
>
> musachy
>
> Don Brown wrote:
>> Yes, let's start with bumping up Dojo to 0.4, then apply patches to
>> update the tags. How much work do you think it'll be to upgrade Dojo?
>>
>> Don
>>
>> Musachy Barroso wrote:
>>> I attached a new patch to WW-205, this one includes the new
>>> TabbedPanel, BindDiv and BindAnchor. It needs Dojo 0.3.1.Do you want
>>> me to create a patch to update to Dojo 0.3.1?(We just need to replace
>>> dojo distribution under static/dojo.)
>>>
>>> I modified the examples in showcase and the test cases. Let me know
>>> if something is missing or wrong (bear with me on my first patch :) ).
>>>
>>> musachy
>>>
>>> Don Brown wrote:
>>>> 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]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]