Mercurial > defr > drupal > scald > dnd
comparison modules/dnd_test/dnd_test.module @ 28:7d6bf2dca269
Completely broken library registration, fixed a typo.
| author | David Eads <eads@chicagotech.org> |
|---|---|
| date | Tue, 17 Mar 2009 06:25:47 -0500 |
| parents | 45c6c48c2a88 |
| children | 2d49adbd8992 |
comparison
equal
deleted
inserted
replaced
| 27:9a92410be362 | 28:7d6bf2dca269 |
|---|---|
| 5 */ | 5 */ |
| 6 function dnd_test_menu() { | 6 function dnd_test_menu() { |
| 7 $items = array(); | 7 $items = array(); |
| 8 $items['dnd-test/library'] = array( | 8 $items['dnd-test/library'] = array( |
| 9 'title' => 'Drag and drop test library', | 9 'title' => 'Drag and drop test library', |
| 10 'page callback' => 'dnd_test_library', | 10 'page callback' => 'dnd_test_dnd_library', |
| 11 'access arguments' => array('access dnd test library'), | 11 'access arguments' => array('access dnd test library'), |
| 12 ); | 12 ); |
| 13 return $items; | 13 return $items; |
| 14 } | 14 } |
| 15 | 15 |
| 25 * | 25 * |
| 26 * This demonstrates how to attach Drag and Drop to a given textarea. | 26 * This demonstrates how to attach Drag and Drop to a given textarea. |
| 27 */ | 27 */ |
| 28 function dnd_test_form_alter(&$form, &$form_state) { | 28 function dnd_test_form_alter(&$form, &$form_state) { |
| 29 if ($form['#id'] == 'node-form' && $form['type']['#value'] == 'page') { | 29 if ($form['#id'] == 'node-form' && $form['type']['#value'] == 'page') { |
| 30 drupal_add_css(drupal_get_path('module', 'dnd_test') .'/dnd_test.css'); | |
| 31 $form['body_field']['body']['#dnd-enabled'] = TRUE; | 30 $form['body_field']['body']['#dnd-enabled'] = TRUE; |
| 32 $form['body_field']['body']['#dnd-settings'] = array( | 31 $form['body_field']['body']['#dnd-settings'] = array( |
| 33 'drop_selector' => '#edit-body-dnd-library .drop', | 32 'drop_selector' => '#edit-body-dnd-library .drop', |
| 34 'url' => 'dnd-test/library', | 33 'callback' => 'dnd_test_dnd_library', |
| 34 'url' => 'dnd-test/library/?json', | |
| 35 ); | 35 ); |
| 36 $form['body_field']['body']['#rows'] = 28; | 36 $form['body_field']['body']['#rows'] = 28; |
| 37 } | 37 } |
| 38 } | 38 } |
| 39 | 39 |
| 52 ), | 52 ), |
| 53 'dnd_library_preview' => array( | 53 'dnd_library_preview' => array( |
| 54 'arguments' => array('i' => NULL), | 54 'arguments' => array('i' => NULL), |
| 55 'template' => 'dnd-library-preview', | 55 'template' => 'dnd-library-preview', |
| 56 ), | 56 ), |
| 57 'dnd_library_header' => array( | |
| 58 'arguments' => array('page' => NULL), | |
| 59 'template' => 'dnd-library-header', | |
| 60 ), | |
| 61 ); | 57 ); |
| 62 } | 58 } |
| 63 | 59 |
| 64 /** | 60 /** |
| 65 * Page callback that returns some JSON | 61 * Overloaded page callback. |
| 66 */ | 62 */ |
| 67 function dnd_test_library() { | 63 function dnd_test_dnd_library($element = NULL) { |
| 68 $page = ($_GET['page']) ? $_GET['page'] : 1; | 64 $page = (array_key_exists('page', $_GET)) ? $_GET['page'] : 1; |
| 69 $test_library = dnd_test_generate_library($page); | 65 drupal_add_css(drupal_get_path('module', 'dnd_test') .'/dnd_test.css'); |
| 70 return drupal_json(array( | 66 drupal_json(dnd_test_generate_library($page)); |
| 71 'header' => theme('dnd_library_header', $page), | |
| 72 'library' => $test_library['library'], | |
| 73 'editor_representations' => $test_library['editor_representations'], | |
| 74 'library_previews' => $test_library['library_previews'], | |
| 75 'footer' => '<div class="pager">'. l(t('1'), 'dnd-test/library') . ' '. l(t('2'), 'dnd-test/library', array('query' => array('page' => 2))) .'</div>', | |
| 76 )); | |
| 77 } | 67 } |
| 78 | 68 |
| 79 /** | 69 /** |
| 80 * Create contrived output | 70 * Create contrived output |
| 81 */ | 71 */ |
| 82 function dnd_test_generate_library($page = 1, $limit = 8) { | 72 function dnd_test_generate_library($page = 1, $limit = 8) { |
| 83 $start = ($page * $limit) - ($limit); | 73 $start = ($page * $limit) - ($limit); |
| 84 $end = $page * $limit; | 74 $end = $page * $limit; |
| 85 | 75 |
| 86 $library = ''; | 76 $library = theme('dnd_library_header', $page); |
| 87 $editor_representations = array(); | 77 $editor_representations = array(); |
| 88 $library_previews = array(); | 78 $library_previews = array(); |
| 89 for ($i=$start + 1; $i < $end + 1; $i++) { | 79 for ($i=$start + 1; $i < $end + 1; $i++) { |
| 90 $library .= theme('dnd_library_item', $i); | 80 $library .= theme('dnd_library_item', $i); |
| 91 $editor_representations += dnd_editor_items($i); | 81 $editor_representations += dnd_editor_items($i); |
