[Seaside] checkbox callbacks
Boris Popov, DeepCove Labs
boris at deepcovelabs.com
Tue Oct 18 11:43:25 UTC 2011
http://api.jquery.com/jQuery.ajaxSetup/
or,
jQuery.ajaxSetup({
"error":function(jqXHR,textStatus,errorThrown){
if (jqXHR.status === 403) {window.location="/online?expired";}
});
or,
JQAjaxSetup>>onError:
HTH,
-Boris
From: seaside-bounces at lists.squeakfoundation.org [mailto:seaside-bounces at lists.squeakfoundation.org] On Behalf Of Alexander Lazarevic
Sent: Tuesday, October 18, 2011 7:00 AM
To: Seaside - general discussion
Subject: Re: [Seaside] checkbox callbacks
Now I need to find a solution for session timeouts. If a session times out and the user clicks on a checkbox nothing happens (obviously).
How can I redirect that request to act as an initial request for the root component (so to say)?
Thanks,
Alex
2011/9/26 Alexander Lazarević <laza at blobworks.com>
Sweet! That works like a charm. Thanks
Alex
2011/9/26 Lukas Renggli <renggli at gmail.com>:
> On 26 September 2011 13 <tel:2011%2013> :39, Lukas Renggli <renggli at gmail.com> wrote:
>> It is probably the easiest if you just re-render that part of the
>> page. I suggest a refactorings along the following lines:
>>
>>> renderContentOn: html
>>
>> | id |
>> id := html nextId.
>> html div id: id; with: [
>>
>>> html form: [
>>> html checkbox
>>> onChange: (html jQuery ajax serializeThisWithHidden);
>>
>> You do replace the above line with:
>>
>> onChange: ((html jQuery id: id) load serializeThisWithHidden;
>> html: [ :r | self renderContentOn: r ])
>
> Sorry, this is a bit buggy. You don't want to re-render the div here,
> just what is inside. So better extract the inner part to a separate
> method.
>
>>
>>> value: self isChecked;
>>> callback: [:value | self check: value. self check2: value].
>>> html text: 'Check me'.
>>> html checkbox
>>> onChange: (html jQuery ajax serializeThisWithHidden);
>>
>> And do the same here. Maybe extract it to a separate method so that
>> you can reuse it.
>>
>>> value: self isChecked2;
>>> callback: [:value | self check2: value. self check: value not].
>>> html text: 'Check me 2'.
>>> ]
>>>
>>> So what's the best strategy to update the checkboxes reflecting the
>>> internal state?
>>
>> ] "close the div here"
>>
>> Cheers,
>> Lukas
>>
>>>
>>> Alex
>>>
>>> 2011/9/26 Alexander Lazarević <laza at blobworks.com>:
>>>> Robert and Lukas,
>>>>
>>>> I guess I still have some misconceptions when it comes to JS
>>>> callbacks, but thanks for helping me along. I had the idea that the
>>>> entire form gets serialized, but only the callbacks of changed
>>>> elements would trigger a onChange: event and then trigger the
>>>> callback.
>>>>
>>>> Alex
>>>>
>>>> 2011/9/24 Lukas Renggli <renggli at gmail.com>:
>>>>> Yes, you serialize the form which means it involves both checkboxes. On your
>>>>> scenario both callbacks should be triggered: the checked one with true, the
>>>>> unchecked with false.
>>>>>
>>>>> Btw, you do not need the IDs. For the AJAX just use (html jQuery ajax
>>>>> serializeForm). You don't want to load anything into the checkbox.
>>>>>
>>>>> Lukas
>>>>>
>>>>> On Saturday, 24 September 2011, Alexander Lazarević <laza at blobworks.com>
>>>>> wrote:
>>>>>> Hi!
>>>>>>
>>>>>> I'm using something like the following in my code:
>>>>>>
>>>>>> renderContentOn: html
>>>>>> | id |
>>>>>> html form: [
>>>>>> id := html nextId.
>>>>>> html checkbox
>>>>>> id: id;
>>>>>> onChange: (html jQuery id: id) load serializeForm;
>>>>>> value: self isChecked;
>>>>>> callback: [:value | value inspect].
>>>>>> html text: 'Check me'.
>>>>>> id := html nextId.
>>>>>> html checkbox
>>>>>> id: id;
>>>>>> onChange: (html jQuery id: id) load serializeForm;
>>>>>> value: self isChecked2;
>>>>>> callback: [:value | value inspect].
>>>>>> html text: 'Check me 2'.
>>>>>> ]
>>>>>>
>>>>>> I'm surprised to see that both callbacks get triggered even if I only
>>>>>> check one checkbox. Is this on purpose and expected? According to
>>>>>> Metacello I'm using Seaside 3.0.6
>>>>>>
>>>>>> Alex
>>>>>> _______________________________________________
>>>>>> seaside mailing list
>>>>>> seaside at lists.squeakfoundation.org
>>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>>>
>>>>>
>>>>> --
>>>>> Lukas Renggli
>>>>> www.lukas-renggli.ch
>>>>>
>>>>> _______________________________________________
>>>>> seaside mailing list
>>>>> seaside at lists.squeakfoundation.org
>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>>
>>>>>
>>>>
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>
>
>
> --
> Lukas Renggli
> www.lukas-renggli.ch
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20111018/e04b1dca/attachment-0001.htm
More information about the seaside
mailing list