added a hidden field for organism_id
[sgn.git] / mason / page / form.mas
blobff42cc49e55a9262018ddb55c9a46d438070fe1a
3 <%doc>
5 =head1 NAME
7 /page/form.mas - a component for displaying static and editable forms for user input
9 =head1 DESCRIPTION
11 The form component is based on an ajax implementation and requires some backend scripts to be implemented for a given form.
13 Parameters:
15 =over 5
17 =item object_type
19 The type of object the form is associated with - for example, 'locus' for a locus page, or 'image' for an image page, etc.
21 =item object_id
23 The ID of the object to be displayed
25 =item form_name
27 The name of the form. Should be unique for the entire page.
29 =item server_side_script
31 The url of the server side script that handles the ajax requests
33 =item form_div_name
35 The name of the div to be used for displaying the forms.
37 =item js_object_name
39 The javascript variable name to be used in the form.
41 =item page_url
43 The semi-absolute url of the page that displays the form.
45 =item alternate_new_button
47 An alternate link for the 'new' button of the form.
50 =back
52 =head1 AUTHOR
54 Lukas Mueller <lam87@cornell.edu>, based on Perl code by Naama Menda.
56 =cut 
58 </%doc>
60 <%args>
61 $object_type 
62 $object_id => undef
63 $form_name
64 $server_side_script
65 $form_div_name
66 $js_object_name
67 $page_url
68 $alternate_new_button => undef
69 </%args>
71 <& /util/import_javascript.mas, classes => ["CXGN.Page.Form.JSFormPage", "MochiKit.Logging"] &>
75 <table><tr><td><div id="<% $form_div_name %>_buttons" >[loading edit links...]</div>
76 </td></tr></table>
77 <table><tr><td><div id="<% $form_div_name %>" >[loading...]</div>
78 </td></tr></table>
79 <script language="javascript" type="text/javascript">
81   var <% $js_object_name %> = new CXGN.Page.Form.JSFormPage( '<% $object_id %>' , '<% $object_type %>', '<% $server_side_script %>', '<% $form_div_name %>', '<% $js_object_name %>','<% $page_url %>');
82 % if (defined($alternate_new_button)) { 
83      <% $js_object_name %>.setNewButton('<% $alternate_new_button %>');
84 % }
85   <% $js_object_name %>.render();
86   
87 </script>