[Seaside] Named PTAjax calls
Johan Brichau
johan at inceptive.be
Thu Dec 19 00:07:41 UTC 2013
The Javascript wrappers in Seaside (JSObject subclasses) provide a number of convenience methods to achieve this.
For example:
html script: ((html jQuery ajax callback:[ ]) asFunction assignTo: 'myfunction').
Then just call myfunction() from your javascripts.
cheers
Johan
On 19 Dec 2013, at 00:25, Bob Arning <arning315 at comcast.net> wrote:
>
> On 12/18/13 6:09 PM, Aaron Rosenzweig wrote:
>> Hi Bob,
>>
>> Ahh ok. It took me a while to wrap my head around it but that’s clever.
>>
>> Basically you declared the “action” variable and then assigned it an Ajax object.
> Right - that assignment predated your request. I did that so I could use the same code for both the onClick: and the onEnter:. It used to read "onClick: action" and "onEnter: action". Similar to what you were wanting to do - use the same callback in a number of places.
>> Though I don’t understand the underscores in the syntax.
> old-school assignment (equivalent to colon-equal)
>>
>> Then, in the end, you make a javascript function and pass in the “action” variable’s guts but giving it the “greaseString” message.
>>
>> Thank you Bob - you were the only one to respond. I appreciate it! :-)
>> AARON ROSENZWEIG / Chat 'n Bike
>> e: aaron at chatnbike.com t: (301) 956-2319
>>
>> On Dec 17, 2013, at 6:24 AM, Bob Arning <arning315 at comcast.net> wrote:
>>
>>> I certainly won't say this is the right way, but it seems to work:
>>>
>>> renderGlobalSearchOn: html
>>>
>>> | inputId action |
>>>
>>> inputId _ html nextId.
>>> action _ html jQuery ajax
>>> callback: [ :v2 |
>>> filterString _ v2.
>>> selections _ Dictionary new.
>>> visibleChunks _ #().
>>> ]
>>> value: (html jQuery id: inputId) value;
>>>
>>> script: self scriptForGlobalSearch.
>>>
>>> html script: 'function foobar27(){',action greaseString,'}'.
>>>
>>> html div: [
>>> html button
>>> value: 'Search:';
>>> onClick: 'foobar27()';
>>> yourself.
>>> html textInput
>>> id: inputId;
>>> value: filterString;
>>> onEnter: 'foobar27()'.
>>> ].
>>>
>>>
>>> Cheers,
>>> Bob
>>>
>>> On 12/16/13 8:25 PM, Aaron Rosenzweig wrote:
>>>> Oh c’mon, no takers?
>>>>
>>>> Nobody has faced this before?
>>>>
>>>> I can’t believe something so easy in WebObjects is so hard in Seaside. (Ok, that was below the belt).
>>>>
>>>> In WO, all I have to do is drop an “AjaxWOSubmitButton” component on the page and then bind the “functionName” binding. I can immediately call that name in Javascript from the client side and anything in the “action” binding is performed and all the form bindings are synchronized.
>>>>
>>>> Thanks,
>>>> AARON ROSENZWEIG / Chat 'n Bike
>>>> e: aaron at chatnbike.com t: (301) 956-2319
>>>>
>>>> On Dec 15, 2013, at 9:50 AM, Aaron Rosenzweig <aaron at cocoanutstech.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Is there a way to “name” a PTAjax callback so that it can be conveniently invoked from javascript?
>>>>>
>>>>> Situation:
>>>>> Want to effectively have a submit button (or hyperlink) on the page with an on click Updater callback… then from something programmatically on the page… *click* that link.
>>>>>
>>>>> Problems:
>>>>> 1) Having a hidden button or link to click is not elegant (I feel dirty)
>>>>>
>>>>> 2) It doesn’t always work. For various reasons, doing a domElement.click() is not the same as a human hand doing a click because it doesn’t generate a full mouse click event.
>>>>>
>>>>> Thought:
>>>>> There must be a way to setup the following:
>>>>> A) Create a PTAjax object with a name that is a global javascript variable on the client side (web browser)
>>>>>
>>>>> B) You would provide the “javascript function name” a “seaside callback” a “HTML form ID or form name” so that synchronization of form variables can take place and finally an “update container ID”
>>>>>
>>>>> C) You could just invoke it from your javascript code and know that it will safely update the server.
>>>>>
>>>>> Does this make sense?
>>>>> AARON ROSENZWEIG / Chat 'n Bike
>>>>> e: aaron at chatnbike.com t: (301) 956-2319
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
More information about the seaside
mailing list