summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2011-08-08 13:22:08 -0400
committerDries Buytaert <dries@buytaert.net>2011-08-08 13:22:08 -0400
commitdf994a238b83b3c3da9f02b7e5a40f418ac1a61c (patch)
tree5f899417e1df7277f21e0867f57ed1a6f3514961
parent4d6cc37f823495feff5eb18ef7c84850c0dbed87 (diff)
downloaddrupal-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.inc40
-rw-r--r--modules/field_ui/field_ui.module2
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;