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