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