diff options
author | Dries Buytaert <dries@buytaert.net> | 2011-08-08 13:22:08 -0400 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2011-08-08 13:22:08 -0400 |
commit | df994a238b83b3c3da9f02b7e5a40f418ac1a61c (patch) | |
tree | 5f899417e1df7277f21e0867f57ed1a6f3514961 | |
parent | 4d6cc37f823495feff5eb18ef7c84850c0dbed87 (diff) | |
download | drupal-df994a238b83b3c3da9f02b7e5a40f418ac1a61c.tar.gz drupal-df994a238b83b3c3da9f02b7e5a40f418ac1a61c.zip |
- Patch #1199428 by ksenzee, yched: incremental UX improvements to Field UI.
-rw-r--r-- | modules/field_ui/field_ui.admin.inc | 40 | ||||
-rw-r--r-- | modules/field_ui/field_ui.module | 2 |
2 files changed, 33 insertions, 9 deletions
diff --git a/modules/field_ui/field_ui.admin.inc b/modules/field_ui/field_ui.admin.inc index b594faca3d81..9cd5ee15da7d 100644 --- a/modules/field_ui/field_ui.admin.inc +++ b/modules/field_ui/field_ui.admin.inc @@ -1783,12 +1783,6 @@ function field_ui_field_edit_form($form, &$form_state, $instance) { '#required' => TRUE, '#weight' => -20, ); - $form['instance']['required'] = array( - '#type' => 'checkbox', - '#title' => t('Required field'), - '#default_value' => !empty($instance['required']), - '#weight' => -10, - ); $form['instance']['description'] = array( '#type' => 'textarea', @@ -1796,6 +1790,13 @@ function field_ui_field_edit_form($form, &$form_state, $instance) { '#default_value' => !empty($instance['description']) ? $instance['description'] : '', '#rows' => 5, '#description' => t('Instructions to present to the user below this field on the editing form.<br />Allowed HTML tags: @tags', array('@tags' => _field_filter_xss_display_allowed_tags())), + '#weight' => -10, + ); + + $form['instance']['required'] = array( + '#type' => 'checkbox', + '#title' => t('Required field'), + '#default_value' => !empty($instance['required']), '#weight' => -5, ); @@ -1842,7 +1843,9 @@ function field_ui_field_edit_form($form, &$form_state, $instance) { // Create a form structure for the field values. $form['field'] = array( '#type' => 'fieldset', - '#title' => t('%field field settings', array('%field' => $instance['label'])), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + '#title' => t('Global settings'), '#description' => $description, '#tree' => TRUE, ); @@ -1869,11 +1872,32 @@ function field_ui_field_edit_form($form, &$form_state, $instance) { } $form['actions'] = array('#type' => 'actions'); - $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save settings')); + $form['actions']['submit'] = array( + '#type' => 'submit', + '#value' => t('Save settings') + ); + $form['actions']['delete'] = array( + '#type' => 'submit', + '#value' => t('Delete field'), + '#submit' => array('field_ui_field_edit_form_delete_submit'), + ); return $form; } /** + * Handle the 'Delete' button on the field instance edit form. + */ +function field_ui_field_edit_form_delete_submit($form, &$form_state) { + $destination = array(); + if (isset($_GET['destination'])) { + $destination = drupal_get_destination(); + unset($_GET['destination']); + } + $instance = $form['#instance']; + $form_state['redirect'] = array('admin/structure/types/manage/' . $instance['bundle'] . '/fields/' . $instance['field_name'] . '/delete', array('query' => $destination)); +} + +/** * Pre-render function for field instance settings. * * Combines the instance, widget, and other settings into a single fieldset so diff --git a/modules/field_ui/field_ui.module b/modules/field_ui/field_ui.module index 392418985eee..dfca8cf5242a 100644 --- a/modules/field_ui/field_ui.module +++ b/modules/field_ui/field_ui.module @@ -138,7 +138,7 @@ function field_ui_menu() { 'title' => 'Delete', 'page callback' => 'drupal_get_form', 'page arguments' => array('field_ui_field_delete_form', $field_position), - 'type' => MENU_LOCAL_TASK, + 'type' => MENU_VISIBLE_IN_BREADCRUMB, 'weight' => 10, 'file' => 'field_ui.admin.inc', ) + $access; |