Okie dokie. Thx Musachy. :-) Musachy Barroso <[EMAIL PROTECTED]> wrote: I have attached the patch to WW-1484, please note that it doesn't include some of the things mentioned in the bug (javadoc-like documentation for the widgets). This includes BindDiv, BindAnchor, BindButton, TabbedPannel, DatePicker, TimePicker, DropDownDateTimePicker(kind of a verbose name right? :))
musachy tm jee wrote: > Done, 2 jira ticket created > > http://issues.apache.org/struts/browse/WW-1484 > - upgrading Struts2 dojo widget that might failed due to upgrading dojo to > 0.4 > > http://issues.apache.org/struts/browse/WW-1485 > - upgrading Struts2 dojo to 0.4 > > Musachy Barroso wrote: yes, I overwrote those bindXs with defineWidget. We > are going to need > another bug for the actual upgrade from dojo 0.3 to 0.4(0.4 was released > today I think). > > musachy > > tm jee wrote: > >>> I'm using defineWidget, and it is cool. >>> >>> >> Yup. Is it that the bind, binddiv, bindanchor etc have been written with >> dojo.widget.defineWidget? If so, this would be great. :-) I've converter >> the bind component using defineWidget... but looks like it could be deleted >> now.... :-) >> >> >> >>> I will be looking into hostedqa >>> >>> >> You could get a free account from Pat at [ plightbo at friendly gmail dot >> com ] >> >> Cheers. >> >> >> Musachy Barroso wrote: I'm using defineWidget, and it is cool. I will be >> looking into hostedqa >> given that it is being used in struts already, as per Don's comment >> somewhere on this thread. >> >> musachy >> >> tm jee wrote: >> >> >>> Hi guys, >>> >>> sorry for jumping into this late. I think we should do the followings for >>> struts2 dojo widgets. >>> >>> - use dojo.widget.defineWidget instead of the old-way of using >>> dojo.provide, dojo.extends etc. Dojo got most of its widget rewritten using >>> this way. >>> >>> - have struts2 widgets/utils as a separate module and add them in using >>> dojo.setModulePrefix(...) (0.3) I think the method is renamed in 0.4 and >>> the concept of module is namespace in 0.4 >>> >>> - have javadoc comments in our widget, hopefully it would be easier to >>> follow and maybe if possible able to generate docs like >>> http://dojotoolkit.org/api But I am not sure about how to do this yet. >>> Definitely interested in finding out more. >>> >>> - have a test folder, like dojo's where we could have pages that test the >>> widget, we could use Pat's product to do test the pages (something like >>> HostedQA or Selenium) >>> >>> What you guys think? :-) >>> >>> Rainer Hermanns wrote: I'll wait for your patch against 0.4 then. >>> As soon as I get it, I'll update Dojo first and commit your patches for >>> the tags separately. >>> >>> just let me know, when you are done :) >>> tia, >>> Rainer >>> >>> >>> >>> >>>> :) I know. What I meant is that it shouldn't be applied yet 'cause I >>>> made it using 0.3 and I haven't tried it on 0.4 yet. >>>> >>>> musachy >>>> >>>> Martin Cooper wrote: >>>> >>>> >>>> >>>>> On 10/30/06, Musachy Barroso wrote: >>>>> >>>>> >>>>> >>>>>> Oh, ok. Then just don't apply the patch. >>>>>> >>>>>> >>>>>> >>>>> No, no - I'm not saying that it shouldn't be applied, only that it >>>>> should be >>>>> a separate commit. >>>>> >>>>> By the way, do we have a Jira >>>>> >>>>> >>>>> >>>>>> issue for the dojo upgrade? >>>>>> >>>>>> >>>>>> >>>>> Not that I can see. Feel free to add one, and one with your patch, if >>>>> there >>>>> isn't one already. >>>>> >>>>> -- >>>>> Martin. >>>>> >>>>> >>>>> musachy >>>>> >>>>> >>>>> >>>>>> Martin Cooper wrote: >>>>>> >>>>>> >>>>>> >>>>>>> On 10/30/06, Musachy Barroso wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi Rainer >>>>>>>> >>>>>>>> Give me a couple of days so I can test it against 0.4 (I made the >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> patch >>>>>> >>>>>> >>>>>> >>>>>>>> using 0.3) and finish some changes(for BindButton) that I have for a >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> new >>>>>> >>>>>> >>>>>> >>>>>>>> patch. I will give you a new patch soon with the changes for Bind, >>>>>>>> BindDiv, BindAnchor, BindButton and TabbedPanel tested on dojo >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> 0.4. If >>>>>> >>>>>> >>>>>> >>>>>>>> you want to go ahead and upgrade to 0.4 and apply the patch later, >>>>>>>> that's fine. (I will just be bothering with another patch soon :) ) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> Well, the upgrade and the patch should certainly be separate >>>>>>> >>>>>>> >>>>>>> >>>>>> commits, so >>>>>> >>>>>> >>>>>> >>>>>>> that we can track the changes separately, and so that we can revert >>>>>>> one or >>>>>>> the other if that ever becomes necessary. Beyond that, it's up to the >>>>>>> prospective committer to determine timing. ;-) >>>>>>> >>>>>>> -- >>>>>>> Martin Cooper >>>>>>> >>>>>>> >>>>>>> musachy >>>>>>> >>>>>>> >>>>>>> >>>>>>>> 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 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> === message truncated === --------------------------------- Try the all-new Yahoo! Mail . "The New Version is radically easier to use" The Wall Street Journal