Commit 7f7df402 authored by webchick's avatar webchick

#623310 by rfay: Fixed AJAX 'changed' command asterisk argument.

parent 6ff73ad0
...@@ -720,7 +720,7 @@ function ajax_command_changed($selector, $asterisk = '') { ...@@ -720,7 +720,7 @@ function ajax_command_changed($selector, $asterisk = '') {
return array( return array(
'command' => 'changed', 'command' => 'changed',
'selector' => $selector, 'selector' => $selector,
'star' => $asterisk, 'asterisk' => $asterisk,
); );
} }
......
...@@ -107,6 +107,11 @@ class AJAXCommandsTestCase extends AJAXTestCase { ...@@ -107,6 +107,11 @@ class AJAXCommandsTestCase extends AJAXTestCase {
$command = $commands[1]; $command = $commands[1];
$this->assertTrue($command['command'] == 'changed' && $command['selector'] == '#changed_div', "'changed' AJAX command issued with correct selector"); $this->assertTrue($command['command'] == 'changed' && $command['selector'] == '#changed_div', "'changed' AJAX command issued with correct selector");
// Tests the 'changed' command using the second argument.
$commands = $this->drupalPostAJAX($form_path, $edit, 'changed_command_asterisk_example');
$command = $commands[1];
$this->assertTrue($command['command'] == 'changed' && $command['selector'] == '#changed_div' && $command['asterisk'] == '#changed_div_mark_this', "'changed' AJAX command (with asterisk) issued with correct selector");
// 'css' command will go here when it is implemented. // 'css' command will go here when it is implemented.
// Tests the 'data' command. // Tests the 'data' command.
......
...@@ -130,7 +130,7 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) { ...@@ -130,7 +130,7 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) {
'#suffix' => '<div id="before_div">Insert something before this.</div>', '#suffix' => '<div id="before_div">Insert something before this.</div>',
); );
// Shows the 'changed' command. // Shows the 'changed' command without asterisk.
$form['changed_command_example'] = array( $form['changed_command_example'] = array(
'#value' => t("AJAX changed: Click to mark div changed."), '#value' => t("AJAX changed: Click to mark div changed."),
'#type' => 'submit', '#type' => 'submit',
...@@ -139,6 +139,14 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) { ...@@ -139,6 +139,14 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) {
), ),
'#suffix' => '<div id="changed_div"> <div id="changed_div_mark_this">This div can be marked as changed or not.</div></div>', '#suffix' => '<div id="changed_div"> <div id="changed_div_mark_this">This div can be marked as changed or not.</div></div>',
); );
// Shows the 'changed' command adding the asterisk.
$form['changed_command_asterisk_example'] = array(
'#value' => t("AJAX changed: Click to mark div changed with asterisk."),
'#type' => 'submit',
'#ajax' => array(
'callback' => 'ajax_forms_test_advanced_commands_changed_asterisk_callback',
),
);
// Shows the AJAX 'css' command. // Shows the AJAX 'css' command.
// @todo Note that this won't work until http://drupal.org/node/623320 lands. // @todo Note that this won't work until http://drupal.org/node/623320 lands.
...@@ -264,14 +272,15 @@ function ajax_forms_test_advanced_commands_before_callback($form, $form_state) { ...@@ -264,14 +272,15 @@ function ajax_forms_test_advanced_commands_before_callback($form, $form_state) {
* AJAX callback for 'changed'. * AJAX callback for 'changed'.
*/ */
function ajax_forms_test_advanced_commands_changed_callback($form, $form_state) { function ajax_forms_test_advanced_commands_changed_callback($form, $form_state) {
$checkbox_value = $form_state['values']['changed_command_example']; $commands[] = ajax_command_changed('#changed_div');
$checkbox_value_string = $checkbox_value ? "TRUE" : "FALSE"; return array('#type' => 'ajax_commands', '#ajax_commands' => $commands);
}
/**
* AJAX callback for 'changed' with asterisk marking inner div.
*/
function ajax_forms_test_advanced_commands_changed_asterisk_callback($form, $form_state) {
$commands = array(); $commands = array();
if ($checkbox_value) { $commands[] = ajax_command_changed('#changed_div', '#changed_div_mark_this');
// @todo This does not yet exercise the 2nd arg (asterisk) so that should
// be added when it works.
$commands[] = ajax_command_changed( '#changed_div');
}
return array('#type' => 'ajax_commands', '#ajax_commands' => $commands); return array('#type' => 'ajax_commands', '#ajax_commands' => $commands);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment