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);