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
>


-- 
Андрей Богданов

Reply via email to