Rainer Hermanns wrote:
> 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.4release,
> 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]
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]