- 'agent_virt' => 1,
- 'agent_null_right' => 'Access Right Name',
-
- #run when re-displaying with an error
- 'error_callback' => sub { my( $cgi, $object, $fields_listref ) = @_; },
-
- #run when editing
- 'edit_callback' => sub { my( $cgi, $object, $fields_listref ) = @_; },
-
- # returns a hashref for the new object
- 'new_hashref_callback'
-
- #run when adding
- 'new_callback' => sub { my( $cgi, $object, $fields_listref ) = @_; },
-
- #XXX describe
- 'field_callback' => sub { },
+ 'agent_virt' => 1,
+ 'agent_null' => 1, #if true, always allow no-agentnum globals
+ 'agent_null_right' => 'Access Right Name',
+ 'agent_clone_extra_sql' => '', #if provided, this overrides the extra_sql
+ #implementing agent virt, for clone
+ #operations. i.e. pass "1=1" to allow
+ #cloning anything
+
+ 'viewall_dir' => '', #'search' or 'browse', defaults to 'search'
+
+ # overrides default popurl(1)."process/$table.html"
+ 'post_url' => popurl(1).'process/something',
+
+ # optional link to delete this object; primary key will be appended
+ 'delete_url' => $p.'misc/delete-something.html?',
+
+ #we're in a popup (no title/menu/searchboxes)
+ 'popup' => 1,
+
+ #if you need to access the submit button
+ 'submit_id' => 'mysubmitbuttonid',
+
+ #we're embedded (rows only: no header at all, no html_init, no error
+ # display, no <FORM>, no hidden fields for table name or primary key, no
+ # display of primary key, no submit button, no html_foot, no footer)
+ 'embed' => $object, #need to pass the object
+ 'tablenum' => 4, #need to specify a table number when using multiple
+ #embedded edits on a page (and m2 stuff)
+
+ #don't show the primary key label and value
+ 'no_pkey_display' => 1,
+
+ ###
+ # HTML callbacks
+ ###
+
+ 'body_etc' => '', # Additional BODY attributes, i.e. onLoad=""
+
+ 'html_init' => '', #after the header/menubar
+
+ 'form_init' => '', #after html_init, error and the opening <FORM>, but
+ #before any other form contents
+
+ 'html_table_class' => '', #HTML <TABLE CLASS=