Hi All, I have create the https://github.com/andunslg/Whiteboard-Wicket repo. I have committed my POC code there and doing the development on that.
Thanks! On Thu, Jul 4, 2013 at 12:10 PM, Maxim Solodovnik <solomax...@gmail.com>wrote: > sure, please create git repo! > > instead of using Wicket.ajax.get you can use normal *AjaxBehavior you can > also create functions of it using getCallbackFunction. > Old OM code had examples of that (was replaced with > wicketjquieryui-calendar) > > > On Thu, Jul 4, 2013 at 3:45 AM, Andun Sameera <andun...@gmail.com> wrote: > >> Hi All, >> >> I have successfully did a first step integration of Andrey's whiteboard >> with Wicket. Now I can send the JSON string successfully to the JAVA code. >> Now I know the way and will work on formalizing the thing! >> >> >> @Andrey >> >> Can you give me a example to add a onChnage method to main collection. I >> tried to do it. But is fails. >> >> @ Maxim >> >> Can I create a Git Repo for the task? Is it going to be a >> wicket-jquery-UI plug-in ? or else ? >> >> Thanks! >> >> >> On Wed, Jul 3, 2013 at 11:18 PM, Andun Sameera <andun...@gmail.com>wrote: >> >>> Hi Andrey, >>> >>> OK will do it like that! >>> >>> Thanks! >>> >>> >>> On Wed, Jul 3, 2013 at 11:15 PM, Bogdanov Andrey <ba...@mail.ru> wrote: >>> >>>> Hi Andun, >>>> >>>> Unfortunately I can't help you with wicket-ajax (I'm nit familiar with >>>> wicket). >>>> Only one remark about onChange - defining onChange for prototype is not >>>> a good idea, because whiteboard use two auxilary collections which need not >>>> to be synchronized. onChange function should be defined only for one main >>>> collection. >>>> >>>> Regards, >>>> Andrey >>>> >>>> >>>> Среда, 3 июля 2013, 22:50 +05:30 от Andun Sameera <andun...@gmail.com >>>> >: >>>> >Hi, >>>> > >>>> >Considering the example which Andrey gave me early, I am planning to do >>>> >this, >>>> > >>>> > - Using the method given below, we can get a JSON string for any >>>> update >>>> > happen in Closure WhiteBoard >>>> > >>>> >// to be defined on using of collection >>>> >bay.whiteboard.Collection.prototype.onChange = function(element){ >>>> > alert(this.getJson(element)); >>>> >} >>>> > >>>> > - I will do a Wicket.Ajax call in this JavaScript method to send >>>> this >>>> > JSON string to the Server Side >>>> > - There I process the string and map it to Java Objects >>>> > - Then Synchronization happens >>>> > >>>> >As the initial step to do that, I am trying to implement a simple, >>>> >application which can sent JavaScript Ajax calls to Wicket server. I >>>> use >>>> >this article >>>> > >>>> https://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+from+Javascript. >>>> >I have created the application given below. >>>> > >>>> >public class HomePage extends WebPage { >>>> > private static final long serialVersionUID = 1L; >>>> > >>>> > public HomePage(final PageParameters parameters) { >>>> > super(parameters); >>>> > >>>> > >>>> > final AbstractDefaultAjaxBehavior behave = new >>>> >AbstractDefaultAjaxBehavior() { >>>> > protected void respond(final AjaxRequestTarget target) { >>>> > target.add(new Label("foo", "Yeah I was just called >>>> from >>>> >Javascript!")); >>>> > } >>>> > >>>> > public void renderHead(Component component,IHeaderResponse >>>> >response){ >>>> > >>>> > String componentMarkupId = component.getMarkupId(); >>>> > String callbackUrl = getCallbackUrl().toString(); >>>> > >>>> > response.render( >>>> >JavaScriptHeaderItem.forScript("var >>>> >componentMarkupId='"+componentMarkupId+"'; var >>>> >callbackUrl='"+callbackUrl+"';","values")); >>>> > } >>>> > }; >>>> > >>>> > add(behave); >>>> > >>>> > } >>>> > >>>> >} >>>> > >>>> >and my HomePage.html, >>>> > >>>> ><!DOCTYPE HTML> >>>> ><html> >>>> ><body> >>>> ><script src=" >>>> http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js >>>> >"></script> >>>> ><script type="text/javascript"> >>>> > $(function() { >>>> > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '' }); >>>> > alert(wcall); >>>> > }); >>>> ></script> >>>> ></body> >>>> ></html> >>>> > >>>> >Still I cant get this to a working position. When I start this >>>> application, >>>> >wicket-ajax.js file is not loading. Thus console gives following error, >>>> > >>>> >ReferenceError: Wicket is not defined >>>> >[Break On This Error] >>>> > >>>> >var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '' }); >>>> > >>>> >Still cant find why wicket-ajax is not loaded to my application. Will >>>> let >>>> >you know further updates! >>>> > >>>> >Thanks! >>>> > >>>> > >>>> >On Tue, Jul 2, 2013 at 2:08 PM, Andun Sameera < andun...@gmail.com > >>>> wrote: >>>> > >>>> >> OK Maxim. Will do it like that! >>>> >> >>>> >> >>>> >> On Tue, Jul 2, 2013 at 2:05 PM, Maxim Solodovnik < >>>> solomax...@gmail.com >wrote: >>>> >> >>>> >>> I would totally disagree with >>>> >>> "At the Wicket Java code we save these elements as Java Objecst >>>> which >>>> >>> contains the JSON strings." >>>> >>> >>>> >>> Java objects should contain normal fields like "Point center; int >>>> >>> radius;" and be (de)serialized (from)into JSON if necessary. >>>> >>> >>>> >>> >>>> >>> On Tue, Jul 2, 2013 at 2:27 PM, Andun Sameera < >>>> >>> andun...@gmail.com>wrote: >>>> >>> >>>> >>>> Hi Andrey, >>>> >>>> >>>> >>>> Great! If you can give me a example for, >>>> >>>> >>>> >>>> collection.onChange(element) >>>> >>>> >>>> >>>> it will be highly appreciated. >>>> >>>> >>>> >>>> @Maxim, >>>> >>>> >>>> >>>> After some thinking I cam across of this idea. Please correct me >>>> If I am >>>> >>>> wrong. >>>> >>>> >>>> >>>> - All the whiteboard elements can be represented as JSON strings >>>> >>>> (Have to find a way to add PDF,DOCs, Pictures to whiteboard in >>>> this way) >>>> >>>> - At the Wicket Java code we save these elements as Java Objecst >>>> >>>> which contains the JSON strings. >>>> >>>> - To synchronize white board we can send these object to all the >>>> >>>> viewers. >>>> >>>> - To save/load we can use this already implemented JSON based >>>> >>>> serialization and de-serialization. >>>> >>>> >>>> >>>> But have to find ways to get all these data from closure >>>> implementation >>>> >>>> to wicket! >>>> >>>> >>>> >>>> Thanks! >>>> >>>> On Tue, Jul 2, 2013 at 11:28 AM, Bogdanov Andrey < ba...@mail.ru> >>>> >>>> wrote: >>>> >>>> >>>> >>>>> Hi Andun, >>>> >>>>> >>>> >>>>> Whiteboard consists of two main objects: ui-component >>>> >>>>> "bay.whiteboard.Whiteboard", which contains functionality for user >>>> >>>>> interaction and collections of objects >>>> "bay.whiteboard.Collection" which >>>> >>>>> contains list of objects and some stuff to manipulate them. >>>> >>>>> After createing WB with >>>> >>>>> whiteboard = bay.whiteboard.Create(); >>>> >>>>> you could access to collection as >>>> >>>>> collection = whiteboard.collections.main; or >>>> >>>>> collection = whiteboard.getMainCollection(); - i've just added >>>> this >>>> >>>>> method >>>> >>>>> >>>> >>>>> After that you could define >>>> >>>>> collection.onChange(element) - method wich will be invoked >>>> every >>>> >>>>> time when some drawing elements add or change. >>>> >>>>> Also you could use methods: >>>> >>>>> collection.getJson(element); - to obtain json code for an >>>> element >>>> >>>>> collection.jsonCode(); - to obtain json code for whole >>>> >>>>> collection >>>> >>>>> collection.acceptJsonStr(str); - to add or change one >>>> element >>>> >>>>> described as json >>>> >>>>> collection.parseJson(str); - to rebuild all from the given >>>> json >>>> >>>>> string >>>> >>>>> >>>> >>>>> >>>> >>>>> As an example you could explore linkWebSocket method in ui.js, >>>> which >>>> >>>>> allows synchronize wb-content through webSocket >>>> >>>>> >>>> >>>>> Regards, >>>> >>>>> Andrey Bogdanov >>>> >>>>> >>>> >>>>> Вторник, 2 июля 2013, 1:25 +05:30 от Andun Sameera < >>>> andun...@gmail.com >>>> >>>>> >: >>>> >>>>> >>>> >>>>> Hi Andrey, >>>> >>>>> >>>> >>>>> I am moving in to this new thread to discuss about the >>>> clarifications, >>>> >>>>> improvements and integration of your Whiteboard to wicket. I have >>>> looked at >>>> >>>>> your code which can be found https://github.com/bay73/whiteboard. I >>>> >>>>> have following questions, >>>> >>>>> >>>> >>>>> - In Wicket, I want map Whiteboard Elements(Rectangle, Circle, >>>> >>>>> Text, etc.) to Java objects. >>>> >>>>> - Thus we can send those object to all the Whiteboard viewers. >>>> >>>>> - Using these objects there Whiteboards will be updated. >>>> >>>>> - To do that, can I get some data from your code? which can be >>>> >>>>> later used to create elements. I saw there is a serialization >>>> methods and >>>> >>>>> deserilization method in base.js. If we can extend that >>>> mechanism to give >>>> >>>>> some data when element is drawn or edited as an event, I can >>>> use them to >>>> >>>>> create Java objects. >>>> >>>>> - Also there should be a mechanism to draw elements on your >>>> >>>>> Whiteboard by passing those data. >>>> >>>>> >>>> >>>>> Can we do these things? >>>> >>>>> >>>> >>>>> Thanks! >>>> >>>>> -- >>>> >>>>> Regards >>>> >>>>> Andun S.L. Gunawardana >>>> >>>>> Undergraduate >>>> >>>>> Department of Computer Science And Engineering >>>> >>>>> University of Moratuwa >>>> >>>>> Sri Lanka >>>> >>>>> >>>> >>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>> >>>>> LinkedIn - >>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>> >>>>> Twitter - http://twitter.com/AndunSLG >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> -- >>>> >>>>> Андрей Богданов >>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Regards >>>> >>>> Andun S.L. Gunawardana >>>> >>>> Undergraduate >>>> >>>> Department of Computer Science And Engineering >>>> >>>> University of Moratuwa >>>> >>>> Sri Lanka >>>> >>>> >>>> >>>> Blog - http://www.insightforfuture.blogspot.com/ >>>> >>>> LinkedIn - >>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>> >>>> Twitter - http://twitter.com/AndunSLG >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>>> >>> >>>> >>> >>>> >>> -- >>>> >>> WBR >>>> >>> Maxim aka solomax >>>> >>> >>>> >> >>>> >> >>>> >> >>>> >> -- >>>> >> Regards >>>> >> Andun S.L. Gunawardana >>>> >> Undergraduate >>>> >> Department of Computer Science And Engineering >>>> >> University of Moratuwa >>>> >> Sri Lanka >>>> >> >>>> >> Blog - http://www.insightforfuture.blogspot.com/ >>>> >> LinkedIn - >>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>> >> Twitter - http://twitter.com/AndunSLG >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> > >>>> > >>>> > >>>> >-- >>>> >Regards >>>> >Andun S.L. Gunawardana >>>> >Undergraduate >>>> >Department of Computer Science And Engineering >>>> >University of Moratuwa >>>> >Sri Lanka >>>> > >>>> >Blog - http://www.insightforfuture.blogspot.com/ >>>> >LinkedIn - >>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>> >Twitter - http://twitter.com/AndunSLG >>>> > >>>> >>>> >>>> -- >>>> Андрей Богданов >>>> >>> >>> >>> >>> -- >>> Regards >>> Andun S.L. Gunawardana >>> Undergraduate >>> Department of Computer Science And Engineering >>> University of Moratuwa >>> Sri Lanka >>> >>> Blog - http://www.insightforfuture.blogspot.com/ >>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>> Twitter -http://twitter.com/AndunSLG >>> >>> >>> >>> >>> >> >> >> >> -- >> Regards >> Andun S.L. Gunawardana >> Undergraduate >> Department of Computer Science And Engineering >> University of Moratuwa >> Sri Lanka >> >> Blog - http://www.insightforfuture.blogspot.com/ >> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >> Twitter -http://twitter.com/AndunSLG >> >> >> >> >> > > > > -- > WBR > Maxim aka solomax > -- Regards Andun S.L. Gunawardana Undergraduate Department of Computer Science And Engineering University of Moratuwa Sri Lanka Blog - http://www.insightforfuture.blogspot.com/ LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 Twitter -http://twitter.com/AndunSLG