You are here

api-task-handler.html in Chaos Tool Suite (ctools) 7

Same filename and directory in other branches
  1. 6 page_manager/help/api-task-handler.html

File

page_manager/help/api-task-handler.html
View source
task handler definition:
  title -- visible title of the task handler.
  description -- description of the task handler.
  task type -- The type of the task this handler can service.
  render -- callback of the function to render the handler. The arguments to this callback are specific to the task type.
  admin title -- callback to render the admin title as this handler is listed.
    params: $handler, $task, $subtask_id
  admin summary -- callback to render what's in the collapsible info as the handler is listed. Optional.
    params: $handler, $task, $subtask_id
  default conf -- either an array() of default conf data or a callback that returns an array.
    params: $handler, $task, $subtask_id
  save -- callback to call just prior to the task handler being saved so it can adjust its data.
    params: &$handler, $update (as drupal_write_record would receive)
  export -- callback to call just prior to the task being exported. It should return text to append to the export if necessary. 
    params: &$handler, $indent

  forms => array(
    'id' => array(
       'form' => form callback (receives $form, $form_state)
       'submit' => submit callback
       'validate' => validate callback
       'include' => an optional file to include to get functionality for this form. Must include full path.
       'no return' => hide the 'return' button, meaning that the form requires extra steps if submitted
       'alternate next' => an alternate next form. Used for hidden edit forms that don't have tabs.
       'no blocks' => if TRUE, use Drupal's mechanism to not render blocks for this form.
     )
   )
  ),

 'add forms' => array(
  'form1', => t('form title'),
  'form2', => t('form title'),
  // ...etc.../
),
 'edit forms' => array(
   'id' => t('tab name'),
   'id2' => t('tab name'),
 ),

 If a form name is blank it is a 'hidden' form -- it has no tab but can still be reached.


Notes: Because #required validation cannot be skipped when clicking cancel, please don't use it.