Hi,
trying to find out more about $.web2py.component, but it's not in the book.
Chapter 11 mentions web2py_ajax_component but it isn't mentioned in
Chapter 12 as indicated. An old reference perhaps.
Anthony, I don't understand "If you want to dynamically add a component in
the browser, you cannot use the LOAD helper...." as the example also
includes a {{= }}. Then again, I don't really understand javascript
either.
When to use LOAD or $.web2py.component ?
Thanks
On Thursday, June 19, 2014 1:25:48 PM UTC+10, Brian M wrote:
>
> Here's how I'm doing it in an app. I'm not using grid or smartgrid but
> rather a datatables.net table where each row has a linked edit button.
> There may be other (better?) ways to do it but this works for me.
>
> Each record includes:
> <td>{{=A(edit_icon, _href=URL(r=request,f='edit_item', args=[record_id]),
> _class="updateDialog")}}</td>
>
>
> And then I've got javascript to intercept the clicks on the edit icon,
> figure out which record's edit page it links to and instead load that edit
> form within a jqueryui dialog.
> <script type="text/javascript">
> //Manage the display of the dialog for editing details.
> $(function() {
> $("#edit_dialog").dialog({
> width: 600,
> height: 355,
> modal: true,
> //hide: 'slide',
> autoOpen: false
> });
> //opens the dialog whenever one of the edit icons is clicked
> $(document).on('click', 'a.updateDialog', function() {
> //get url to load from the clicked link's href
> var url = $(this).attr('href');
>
> //get the datatable row ID that we're editing
> var nTr = $(this).closest("tr").get(0); // key line that gets the
> closest TR
> aPos = vol_table.fnGetPosition( nTr ); // gets the position
> within the datatable
>
> //augment the url with the row index (aPos) because need to be
> able refer to it in the server response to be able to update correct row's
> display
> url = url+'/'+aPos;
>
> //load up the actual form from server & embed it within the
> dialog's body element (edit_form_loader)
> $.web2py.component(url, 'edit_form_loader');//request web2py's
> ajax to reload the component with the URL for this specific item's info
>
> $('#edit_dialog').dialog('open');//show the dialog
> return false;
> });
> });
>
>
> </script>
>
>
>
> Good Luck!
> ~Brian
>
> On Wednesday, June 18, 2014 9:45:08 AM UTC-5, Tomeu Roig wrote:
>>
>> I call a function that content a grid or smartgrid and need pass args and
>> (user_signature=True), how i can make it?
>>
>> now I use in controller response.js like:
>>
>> tab_history = """jQuery('#historial
>> a[href="#historico"]').click(function(){
>> $.web2py.component("%s", target="historico");
>> })""" % URL('albaranes', 'view_albs_cli.load',
>> args=[cliente_id,'historico'],user_signature=True)
>> response.js = tab_history
>>
>> It's works but i would like make the same in the view, it's possible?
>>
>> thanks.
>>
>> El lunes, 16 de junio de 2014 15:33:05 UTC+2, Anthony escribió:
>>>
>>> If you want to dynamically add a component in the browser, you cannot
>>> use the LOAD helper, which is a Python helper that is serialized on the
>>> server. Instead, use the $.web2py.component() Javascript function.
>>> Something like:
>>>
>>> <input type="button" value="Edit" onclick="$.web2py.component('{{=URL('
>>> default', 'edit_page.load')}}', 'edit-form');">
>>>
>>> <div id="edit-form"></div>
>>>
>>> Anthony
>>>
>>> On Friday, June 13, 2014 7:47:34 PM UTC-4, Omri Levy wrote:
>>>>
>>>> Hi ,
>>>>
>>>> So I have a ticket system, and I want to allow user to edit the ticket
>>>> without leaving the page.
>>>> I don't want to LOAD the edit_page and hide it, but only load it once
>>>> user is clicking on the ticket body.
>>>> Another thing is, when user edits the ticket, he should again see
>>>> changes on the same page.
>>>>
>>>> Is this possible? I'm a bit confused, because LOAD works fine, but not
>>>> when using conditions with JS.
>>>>
>>>> Thanks.
>>>>
>>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.