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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.