ajax_example_menu

7 ajax_example.module ajax_example_menu()
8 ajax_example.module ajax_example_menu()

Implements hook_menu().

Sets up calls to drupal_get_form() for all our example cases.

See also

menu_example.module for more details on hook_menu().

Related topics

File

ajax_example/ajax_example.module, line 31
AJAX Examples module file with basic examples.

Code

function ajax_example_menu() {
  $items = array();

  $items['examples/ajax_example'] = array(
    'title' => 'AJAX Example', 
    'page callback' => 'ajax_example_intro', 
    'access callback' => TRUE, 
    'expanded' => TRUE,
  );

  // Change the description of a form element.
  $items['examples/ajax_example/simplest'] = array(
    'title' => 'Simplest AJAX Example', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_simplest'), 
    'access callback' => TRUE, 
    'weight' => 0,
  );
  // Generate a changing number of checkboxes.
  $items['examples/ajax_example/autocheckboxes'] = array(
    'title' => 'Generate checkboxes', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_autocheckboxes'), 
    'access callback' => TRUE, 
    'weight' => 1,
  );
  // Generate different textfields based on form state.
  $items['examples/ajax_example/autotextfields'] = array(
    'title' => 'Generate textfields', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_autotextfields'), 
    'access callback' => TRUE, 
    'weight' => 2,
  );

  // Submit a form without a page reload.
  $items['examples/ajax_example/submit_driven_ajax'] = array(
    'title' => 'Submit-driven AJAX', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_submit_driven_ajax'), 
    'access callback' => TRUE, 
    'weight' => 3,
  );

  // Repopulate a dropdown based on form state.
  $items['examples/ajax_example/dependent_dropdown'] = array(
    'title' => 'Dependent dropdown', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_dependent_dropdown'), 
    'access callback' => TRUE, 
    'weight' => 4,
  );
  // Repopulate a dropdown, but this time with graceful degredation.
  // See ajax_example_graceful_degradation.inc.
  $items['examples/ajax_example/dependent_dropdown_degrades'] = array(
    'title' => 'Dependent dropdown (with graceful degradation)', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_dependent_dropdown_degrades'), 
    'access callback' => TRUE, 
    'weight' => 5, 
    'file' => 'ajax_example_graceful_degradation.inc',
  );
  // The above example as it appears to users with no javascript.
  $items['examples/ajax_example/dependent_dropdown_degrades_no_js'] = array(
    'title' => 'Dependent dropdown with javascript off', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_dependent_dropdown_degrades', TRUE), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_graceful_degradation.inc', 
    'weight' => 5,
  );

  // Populate a form section based on input in another element.
  $items['examples/ajax_example/dynamic_sections'] = array(
    'title' => 'Dynamic Sections (with graceful degradation)', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_dynamic_sections'), 
    'access callback' => TRUE, 
    'weight' => 6, 
    'file' => 'ajax_example_graceful_degradation.inc',
  );
  // The  above example as it appears to users with no javascript.
  $items['examples/ajax_example/dynamic_sections_no_js'] = array(
    'title' => 'Dynamic Sections w/JS turned off', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_dynamic_sections', TRUE), 
    'access callback' => TRUE, 
    'weight' => 6, 
    'file' => 'ajax_example_graceful_degradation.inc',
  );

  // A classic multi-step wizard, but with no page reloads.
  // See ajax_example_graceful_degradation.inc.
  $items['examples/ajax_example/wizard'] = array(
    'title' => 'Wizard (with graceful degradation)', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_wizard'), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_graceful_degradation.inc', 
    'weight' => 7,
  );
  // The above example as it appears to users with no javascript.
  $items['examples/ajax_example/wizard_no_js'] = array(
    'title' => 'Wizard w/JS turned off', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_wizard', TRUE), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_graceful_degradation.inc', 
    'weight' => 7,
  );

  // Add-more button that creates additional form elements.
  // See ajax_example_graceful_degradation.inc.
  $items['examples/ajax_example/add_more'] = array(
    'title' => 'Add-more button (with graceful degradation)', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_add_more'), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_graceful_degradation.inc', 
    'weight' => 8,
  );
  // The above example as it appears to users with no javascript.
  $items['examples/ajax_example/add_more_no_js'] = array(
    'title' => 'Add-more button w/JS turned off', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_add_more', TRUE), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_graceful_degradation.inc', 
    'weight' => 8,
  );

  // Use the AJAX framework outside the context of a form using the use-ajax
  // class. See ajax_example_misc.inc.
  $items['examples/ajax_example/ajax_link'] = array(
    'title' => 'Ajax Link ("use-ajax" class)', 
    'page callback' => 'ajax_example_render_link', 
    'access callback' => TRUE, 
    'file' => 'ajax_example_misc.inc', 
    'weight' => 9,
  );
  // Use the AJAX framework outside the context of a form using a renderable
  // array of type link with the #ajax property. See ajax_example_misc.inc.
  $items['examples/ajax_example/ajax_link_renderable'] = array(
    'title' => 'Ajax Link (Renderable Array)', 
    'page callback' => 'ajax_example_render_link_ra', 
    'access callback' => TRUE, 
    'file' => 'ajax_example_misc.inc', 
    'weight' => 9,
  );
  // A menu callback is required when using ajax outside of the Form API.
  $items['ajax_link_callback'] = array(
    'page callback' => 'ajax_link_response', 
    'access callback' => 'user_access', 
    'access arguments' => array('access content'), 
    'type' => MENU_CALLBACK, 
    'file' => 'ajax_example_misc.inc',
  );

  // Use AJAX framework commands outside of the #ajax form property.
  // See ajax_example_advanced.inc.
  $items['examples/ajax_example/advanced_commands'] = array(
    'title' => 'AJAX framework commands', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('ajax_example_advanced_commands'), 
    'access callback' => TRUE, 
    'file' => 'ajax_example_advanced.inc', 
    'weight' => 10,
  );

  return $items;
}
Login or register to post comments