diff --git a/core/lib/Drupal/Core/Entity/EntityFormController.php b/core/lib/Drupal/Core/Entity/EntityFormController.php index f4fc459..226d582 100644 --- a/core/lib/Drupal/Core/Entity/EntityFormController.php +++ b/core/lib/Drupal/Core/Entity/EntityFormController.php @@ -140,6 +140,9 @@ protected function actions(array $form, array &$form_state) { ), 'delete' => array( '#value' => t('Delete'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), // No need to validate the form when deleting the entity. '#submit' => array( array($this, 'delete'), diff --git a/core/lib/Drupal/Core/Entity/EntityListController.php b/core/lib/Drupal/Core/Entity/EntityListController.php index 1fdb4ba..bb162af 100644 --- a/core/lib/Drupal/Core/Entity/EntityListController.php +++ b/core/lib/Drupal/Core/Entity/EntityListController.php @@ -77,6 +77,9 @@ public function getOperations(EntityInterface $entity) { $operations['delete'] = array( 'title' => t('Delete'), 'href' => $uri['path'] . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'options' => $uri['options'], 'weight' => 100, ); diff --git a/core/modules/action/action.admin.inc b/core/modules/action/action.admin.inc index c9db258..dd8cda0 100644 --- a/core/modules/action/action.admin.inc +++ b/core/modules/action/action.admin.inc @@ -53,6 +53,9 @@ function action_admin_manage() { $links['delete'] = array( 'title' => t('delete'), 'href' => "admin/config/system/actions/delete/$action->aid", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } $row[] = array( diff --git a/core/modules/aggregator/aggregator.admin.inc b/core/modules/aggregator/aggregator.admin.inc index 9b9d2be..9b250f7 100644 --- a/core/modules/aggregator/aggregator.admin.inc +++ b/core/modules/aggregator/aggregator.admin.inc @@ -44,6 +44,9 @@ function aggregator_view() { $links['remove'] = array( 'title' => t('remove items'), 'href' => "admin/config/services/aggregator/remove/$feed->fid", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $links['update'] = array( 'title' => t('update items'), diff --git a/core/modules/ban/ban.admin.inc b/core/modules/ban/ban.admin.inc index 0ea23fc..f2d4b80 100644 --- a/core/modules/ban/ban.admin.inc +++ b/core/modules/ban/ban.admin.inc @@ -26,6 +26,9 @@ function ban_admin_page($default_ip = '') { $links['delete'] = array( 'title' => t('delete'), 'href' => "admin/config/people/ban/delete/$ip->iid", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $row[] = array( 'data' => array( diff --git a/core/modules/block/block.admin.inc b/core/modules/block/block.admin.inc index ffa0b0b..1369b8f 100644 --- a/core/modules/block/block.admin.inc +++ b/core/modules/block/block.admin.inc @@ -154,6 +154,9 @@ function block_admin_display_form($form, &$form_state, $blocks, $theme, $block_r $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/structure/block/manage/' . $block['module'] . '/' . $block['delta'] . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } $form['blocks'][$key]['operations'] = array( diff --git a/core/modules/book/book.pages.inc b/core/modules/book/book.pages.inc index ae79318..6d58563 100644 --- a/core/modules/book/book.pages.inc +++ b/core/modules/book/book.pages.inc @@ -149,6 +149,9 @@ function book_outline_form($form, &$form_state, Node $node) { '#value' => t('Remove from book outline'), '#access' => _book_node_is_removable($node), '#weight' => 20, + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('book_remove_button_submit'), ); diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module index ab757a9..12699b1 100644 --- a/core/modules/comment/comment.module +++ b/core/modules/comment/comment.module @@ -970,6 +970,9 @@ function comment_links(Comment $comment, Node $node) { 'title' => t('delete'), 'href' => "comment/$comment->cid/delete", 'html' => TRUE, + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $links['comment-edit'] = array( 'title' => t('edit'), diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php index 13f5a76..44df0a8 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php @@ -61,6 +61,9 @@ function testList() { 'delete' => array ( 'title' => 'Delete', 'href' => 'admin/structure/config_test/manage/default/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'options' => $uri['options'], 'weight' => 100, ), diff --git a/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php b/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php index 7e54e1c..f1f73b8 100644 --- a/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php +++ b/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php @@ -55,6 +55,9 @@ public function form(array $form, array &$form_state, EntityInterface $entity) { $form['actions']['delete'] = array( '#type' => 'submit', '#value' => 'Delete', + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); return $form; diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc index d919eed..2c62b7c 100644 --- a/core/modules/field_ui/field_ui.admin.inc +++ b/core/modules/field_ui/field_ui.admin.inc @@ -967,6 +967,9 @@ function field_ui_field_edit_form($form, &$form_state, $instance) { $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete field'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('field_ui_field_edit_form_delete_submit'), ); return $form; diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php index 177e3fd..4c94212 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php @@ -155,6 +155,9 @@ public function form(array $form, array &$form_state) { $links['delete'] = array( 'title' => t('delete'), 'href' => "$admin_field_path/delete", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'attributes' => array('title' => t('Delete instance.')), ); $table[$name]['operations']['data'] = array( diff --git a/core/modules/filter/filter.admin.inc b/core/modules/filter/filter.admin.inc index c01fb93..055ce82 100644 --- a/core/modules/filter/filter.admin.inc +++ b/core/modules/filter/filter.admin.inc @@ -38,6 +38,9 @@ function filter_admin_overview($form) { $links['disable'] = array( 'title' => t('disable'), 'href' => "admin/config/content/formats/$id/disable", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } $form['formats'][$id]['roles'] = array('#markup' => $roles_markup); diff --git a/core/modules/image/image.admin.inc b/core/modules/image/image.admin.inc index 933a4ad..746c913 100644 --- a/core/modules/image/image.admin.inc +++ b/core/modules/image/image.admin.inc @@ -93,6 +93,9 @@ function image_style_form($form, &$form_state, $style) { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/config/media/image-styles/edit/' . $style->id() . '/effects/' . $key . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $form['effects'][$key]['operations'] = array( '#type' => 'operations', @@ -611,6 +614,9 @@ function theme_image_style_list($variables) { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/config/media/image-styles/delete/' . $style->id(), + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'class' => array('image-style-link'), ); $row[] = array( diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc index 1872146..01a7f09 100644 --- a/core/modules/language/language.admin.inc +++ b/core/modules/language/language.admin.inc @@ -79,6 +79,9 @@ function language_admin_overview_form($form, &$form_state) { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/config/regional/language/delete/' . $langcode, + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } } @@ -931,6 +934,9 @@ function theme_language_negotiation_configure_browser_form_table($variables) { $links['delete'] = array( 'title' => t('Delete'), 'href' => "admin/config/regional/language/detection/browser/delete/$key", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'attributes' => array( 'class' => array('image-style-link'), ), diff --git a/core/modules/menu/menu.admin.inc b/core/modules/menu/menu.admin.inc index 605f898..869f729 100644 --- a/core/modules/menu/menu.admin.inc +++ b/core/modules/menu/menu.admin.inc @@ -163,16 +163,36 @@ function _menu_overview_tree_form($tree, $delta = 50) { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), + ); + $operations['delete'] = array( + '#type' => 'link', + '#title' => t('delete'), + '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete', + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); - $operations['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/delete'); } // Set the reset column. elseif ($item['module'] == 'system' && $item['customized']) { $links['reset'] = array( 'title' => t('reset'), 'href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), + ); + $operations['reset'] = array( + '#type' => 'link', + '#title' => t('reset'), + '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset', + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); - $operations['reset'] = array('#type' => 'link', '#title' => t('reset'), '#href' => 'admin/structure/menu/item/' . $item['mlid'] . '/reset'); } $form[$mlid]['operations'] = array( '#type' => 'operations', @@ -342,6 +362,9 @@ function menu_edit_item($form, &$form_state, $type, $item, $menu) { '#type' => 'submit', '#value' => t('Delete'), '#access' => $item['mlid'], + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('menu_item_delete_submit'), '#weight' => 10, ); @@ -535,6 +558,9 @@ function menu_edit_menu($form, &$form_state, $type, $menu = array()) { '#type' => 'submit', '#value' => t('Delete'), '#access' => $type == 'edit' && !isset($system_menus[$menu['menu_name']]), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('menu_custom_delete_submit'), ); diff --git a/core/modules/node/content_types.inc b/core/modules/node/content_types.inc index 538b19f..8a7a225 100644 --- a/core/modules/node/content_types.inc +++ b/core/modules/node/content_types.inc @@ -47,6 +47,9 @@ function node_overview_types() { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/structure/types/manage/' . $type->type . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'weight' => 15, ); } @@ -277,6 +280,9 @@ function node_type_form($form, &$form_state, $type = NULL) { $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete content type'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#weight' => 45, ); } diff --git a/core/modules/node/node.admin.inc b/core/modules/node/node.admin.inc index 5681496..06168d7 100644 --- a/core/modules/node/node.admin.inc +++ b/core/modules/node/node.admin.inc @@ -557,6 +557,9 @@ function node_admin_nodes() { $operations['delete'] = array( 'title' => t('delete'), 'href' => 'node/' . $node->nid . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'query' => $destination, ); } diff --git a/core/modules/node/node.pages.inc b/core/modules/node/node.pages.inc index 0a18ec1..2e6f53a 100644 --- a/core/modules/node/node.pages.inc +++ b/core/modules/node/node.pages.inc @@ -281,12 +281,18 @@ function node_revision_overview($node) { $links['revert'] = array( 'title' => t('revert'), 'href' => "node/$node->nid/revisions/$revision->vid/revert", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } if ($delete_permission) { $links['delete'] = array( 'title' => t('delete'), 'href' => "node/$node->nid/revisions/$revision->vid/delete", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } $row[] = array( diff --git a/core/modules/openid/openid.pages.inc b/core/modules/openid/openid.pages.inc index f54617c..1c73077 100644 --- a/core/modules/openid/openid.pages.inc +++ b/core/modules/openid/openid.pages.inc @@ -57,6 +57,9 @@ function openid_user_identities($account) { $links['delete'] = array( 'title' => t('Delete'), 'href' => 'user/' . $account->uid . '/openid/delete/' . $identity->aid, + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $row[] = array( 'data' => array( diff --git a/core/modules/path/path.admin.inc b/core/modules/path/path.admin.inc index 0535454..293b249 100644 --- a/core/modules/path/path.admin.inc +++ b/core/modules/path/path.admin.inc @@ -64,6 +64,9 @@ function path_admin_overview($keys = NULL) { $operations['delete'] = array( 'title' => t('delete'), 'href' => "admin/config/search/path/delete/$data->pid", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), 'query' => $destination, ); $row['data']['operations'] = array( @@ -187,6 +190,9 @@ function path_admin_form($form, &$form_state, $path = array('source' => '', 'ali $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('path_admin_form_delete_submit'), ); } diff --git a/core/modules/search/search.admin.inc b/core/modules/search/search.admin.inc index ef70eb7..a85c463 100644 --- a/core/modules/search/search.admin.inc +++ b/core/modules/search/search.admin.inc @@ -63,7 +63,14 @@ function search_admin_settings($form, &$form_state) { $status = '

' . t('%percentage of the site has been indexed.', array('%percentage' => $percentage)) . ' ' . $count . '

'; $form['status'] = array('#type' => 'details', '#title' => t('Indexing status')); $form['status']['status'] = array('#markup' => $status); - $form['status']['wipe'] = array('#type' => 'submit', '#value' => t('Re-index site'), '#submit' => array('search_admin_reindex_submit')); + $form['status']['wipe'] = array( + '#type' => 'submit', + '#value' => t('Re-index site'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), + '#submit' => array('search_admin_reindex_submit'), + ); $items = drupal_map_assoc(array(10, 20, 50, 100, 200, 500)); diff --git a/core/modules/shortcut/shortcut.admin.inc b/core/modules/shortcut/shortcut.admin.inc index 18ec1c3..c42f66b 100644 --- a/core/modules/shortcut/shortcut.admin.inc +++ b/core/modules/shortcut/shortcut.admin.inc @@ -176,6 +176,9 @@ function shortcut_set_admin() { $links['delete'] = array( 'title' => t('delete set'), 'href' => "admin/config/user-interface/shortcut/$set->set_name/delete", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); } $row[] = array( @@ -290,6 +293,9 @@ function shortcut_set_customize($form, &$form_state, $shortcut_set) { $links['delete'] = array( 'title' => t('delete'), 'href' => "admin/config/user-interface/shortcut/link/$mlid/delete", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $form['shortcuts']['links'][$mlid]['operations'] = array( '#type' => 'operations', diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc index 46b4b9d..102f8c5 100644 --- a/core/modules/system/system.admin.inc +++ b/core/modules/system/system.admin.inc @@ -1289,6 +1289,9 @@ function system_modules_uninstall($form, $form_state = NULL) { $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Uninstall'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $form['#action'] = url('admin/modules/uninstall/confirm'); } @@ -2565,6 +2568,9 @@ function system_date_time_formats() { $links['delete'] = array( 'title' => t('delete'), 'href' => 'admin/config/regional/date-time/formats/' . $date_format_id . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $row['operations'] = array('data' => array( '#type' => 'operations', @@ -2741,6 +2747,9 @@ function system_date_format_language_overview_page() { $links['reset'] = array( 'title' => t('reset'), 'href' => "admin/config/regional/date-time/locale/$langcode/reset", + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $row[] = array( 'data' => array( diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 26fee90..3f99990 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -3314,6 +3314,9 @@ function confirm_form($form, $question, $path, $description = NULL, $yes = NULL, '#type' => 'link', '#title' => $no ? $no : t('Cancel'), '#href' => $options['path'], + '#attributes' => array( + 'class' => array('dialog-cancel'), + ), '#options' => $options, ); // By default, render the form using theme_confirm_form(). diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php index a65f06f..84d1122 100644 --- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php +++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php @@ -75,6 +75,15 @@ public function save(array $form, array &$form_state) { } /** + * Overrides Drupal\Core\Entity\EntityFormController::actions(). + */ + protected function actions(array $form, array &$form_state) { + $actions = parent::actions($form, $form_state); + unset($actions['delete']['#ajax']); + return $actions; + } + + /** * Overrides Drupal\Core\Entity\EntityFormController::delete(). */ public function delete(array $form, array &$form_state) { diff --git a/core/modules/taxonomy/taxonomy.admin.inc b/core/modules/taxonomy/taxonomy.admin.inc index 74af1d5..1cec614 100644 --- a/core/modules/taxonomy/taxonomy.admin.inc +++ b/core/modules/taxonomy/taxonomy.admin.inc @@ -286,7 +286,13 @@ function taxonomy_overview_terms($form, &$form_state, Vocabulary $vocabulary) { } $operations = array( 'edit' => array('title' => t('edit'), 'href' => 'taxonomy/term/' . $term->tid . '/edit', 'query' => $destination), - 'delete' => array('title' => t('delete'), 'href' => 'taxonomy/term/' . $term->tid . '/delete', 'query' => $destination), + 'delete' => array( + 'title' => t('delete'), + 'href' => 'taxonomy/term/' . $term->tid . '/delete', + 'ajax' => array( + 'dialog' => array('modal' => TRUE), + ), + 'query' => $destination), ); if (module_invoke('translation_entity', 'translate_access', $term)) { $operations['translate'] = array( @@ -316,7 +322,10 @@ function taxonomy_overview_terms($form, &$form_state, Vocabulary $vocabulary) { ); $form['actions']['reset_alphabetical'] = array( '#type' => 'submit', - '#value' => t('Reset to alphabetical') + '#value' => t('Reset to alphabetical'), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), ); $form_state['redirect'] = array(current_path(), (isset($_GET['page']) ? array('query' => array('page' => $_GET['page'])) : array())); } diff --git a/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php b/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php index b08518a..636e070 100644 --- a/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php +++ b/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php @@ -202,6 +202,9 @@ public function entityFormAlter(array &$form, array &$form_state, EntityInterfac '#type' => 'submit', '#value' => t('Delete translation'), '#weight' => $weight, + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array(array($this, 'entityFormDeleteTranslation')), ); } diff --git a/core/modules/translation_entity/translation_entity.module b/core/modules/translation_entity/translation_entity.module index dac1001..64a4be8 100644 --- a/core/modules/translation_entity/translation_entity.module +++ b/core/modules/translation_entity/translation_entity.module @@ -598,6 +598,9 @@ function translation_entity_form_field_ui_field_edit_form_alter(array &$form, ar '#type' => 'link', '#title' => $link_title, '#href' => $path, + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#options' => array('query' => drupal_get_destination()), '#access' => user_access('toggle field translatability'), ), diff --git a/core/modules/translation_entity/translation_entity.pages.inc b/core/modules/translation_entity/translation_entity.pages.inc index 294c97b..a65fa3c 100644 --- a/core/modules/translation_entity/translation_entity.pages.inc +++ b/core/modules/translation_entity/translation_entity.pages.inc @@ -100,6 +100,7 @@ function translation_entity_overview(EntityInterface $entity) { $source_name = isset($languages[$source]) ? $languages[$source]->name : t('n/a'); $links['delete'] = isset($delete_links->links[$langcode]['href']) ? $delete_links->links[$langcode] : array('href' => $delete_links, 'language' => $language); $links['delete']['title'] = t('delete'); + $links['delete']['ajax'] = array('dialog' => array('modal' => TRUE)); } } else { diff --git a/core/modules/user/user.admin.inc b/core/modules/user/user.admin.inc index 3668aae..a2bdbd3 100644 --- a/core/modules/user/user.admin.inc +++ b/core/modules/user/user.admin.inc @@ -985,6 +985,9 @@ function user_admin_role($form, $form_state, $role) { '#type' => 'submit', '#value' => t('Delete role'), '#access' => !empty($role->rid) && !in_array($role->rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID)), + '#ajax' => array( + 'dialog' => array('modal' => TRUE), + ), '#submit' => array('user_admin_role_delete_submit'), );