diff --git a/core/modules/field/field.module b/core/modules/field/field.module index 7288943..2cdf220 100644 --- a/core/modules/field/field.module +++ b/core/modules/field/field.module @@ -614,9 +614,9 @@ function field_bundle_settings($entity_type, $bundle, $settings = NULL) { /** * Returns form mode settings in a given bundle. * - * @param $entity_type + * @param string $entity_type * The type of entity; e.g. 'node' or 'user'. - * @param $bundle + * @param string $bundle * The bundle name to return form mode settings for. * * @return diff --git a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php index 6e83800..1641b44 100644 --- a/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php +++ b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetInterface.php @@ -44,7 +44,7 @@ public function settingsForm(array $form, array &$form_state); * configurable settings, and no UI will be provided to display a settings * form. * - * @return array() + * @return array * A short summary of the widget settings. */ public function settingsSummary(); diff --git a/core/modules/field_ui/field_ui.services.yml b/core/modules/field_ui/field_ui.services.yml index 3c66daec..4c8febe 100644 --- a/core/modules/field_ui/field_ui.services.yml +++ b/core/modules/field_ui/field_ui.services.yml @@ -11,4 +11,4 @@ services: access_check.field_ui.forn_mode: class: Drupal\field_ui\Access\FormModeAccessCheck tags: - - { name: access_check } \ No newline at end of file + - { name: access_check } diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php index cc7c79d..0727f3f 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php @@ -54,9 +54,16 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En ); $label_position = array_search('plugin', array_keys($field_row)); - $extra_field_row = array_slice($field_row, 0, $label_position, TRUE) + $label + array_slice($field_row, $label_position, count($field_row) - 1, TRUE); + $field_row = array_slice($field_row, 0, $label_position, TRUE) + $label + array_slice($field_row, $label_position, count($field_row) - 1, TRUE); - return $extra_field_row; + // Update the (invisible) title of the 'plugin' column. + $field_row['plugin']['#title'] = t('Formatter for @title', array('@title' => $instance['label'])); + if (isset($field_row['plugin']['settings_edit_form'])) { + $plugin_type_info = $entity_display->getRenderer($field_id)->getDefinition(); + $field_row['plugin']['settings_edit_form']['label']['#markup'] = t('Format settings:') . ' ' . $plugin_type_info['label'] . ''; + } + + return $field_row; } /** diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php index 9008049..905a9a4 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverviewBase.php @@ -2,7 +2,7 @@ /** * @file - * Definition of Drupal\field_ui\DisplayOverview. + * Contains \Drupal\field_ui\DisplayOverviewBase. */ namespace Drupal\field_ui; @@ -34,7 +34,7 @@ protected $fieldTypes; /** - * Constructs a new DisplayOverview. + * Constructs a new DisplayOverviewBase. * * @param \Drupal\Core\Entity\EntityManager $entity_manager * The entity manager. @@ -153,7 +153,7 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL, } // In overviews involving nested rows from contributed modules (i.e - // field_group), the 'format type' selects can trigger a series of changes + // field_group), the 'plugin type' selects can trigger a series of changes // in child rows. The #ajax behavior is therefore not attached directly to // the selects, but triggered by the client-side script through a hidden // #ajax 'Refresh' button. A hidden 'refresh_rows' input tracks the name of @@ -249,7 +249,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En $field_row['plugin'] = array( 'type' => array( '#type' => 'select', - '#title' => t('Formatter for @title', array('@title' => $instance['label'])), + '#title' => t('Plugin for @title', array('@title' => $instance['label'])), '#title_display' => 'invisible', '#options' => $this->getPluginOptions($field['type']), '#default_value' => $display_options ? $display_options['type'] : 'hidden', @@ -259,13 +259,13 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En 'settings_edit_form' => array(), ); - // Check the currently selected formatter, and merge persisted values for - // formatter settings. + // Check the currently selected plugin, and merge persisted values for its + // settings. if (isset($form_state['values']['fields'][$field_id]['type'])) { $display_options['type'] = $form_state['values']['fields'][$field_id]['type']; } - if (isset($form_state['formatter_settings'][$field_id])) { - $display_options['settings'] = $form_state['formatter_settings'][$field_id]; + if (isset($form_state['plugin_settings'][$field_id])) { + $display_options['settings'] = $form_state['plugin_settings'][$field_id]; } // Get the corresponding plugin object. @@ -288,8 +288,6 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En $field_row['plugin']['settings_edit_form'] = array(); if ($plugin) { - $formatter_type_info = $plugin->getDefinition(); - // Generate the settings form and allow other modules to alter it. $settings_form = $plugin->settingsForm($form, $form_state); $context = array( @@ -308,7 +306,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En '#attributes' => array('class' => array('field-plugin-settings-edit-form')), '#parents' => array('fields', $field_id, 'settings_edit_form'), 'label' => array( - '#markup' => t('Format settings:') . ' ' . $formatter_type_info['label'] . '', + '#markup' => t('Plugin settings'), ), 'settings' => $settings_form, 'actions' => array( @@ -339,7 +337,7 @@ protected function buildFieldRow($field_id, FieldInstanceInterface $instance, En $field_row['settings_edit'] = array(); if ($plugin) { - // Display a summary of the current formatter settings, and (if the + // Display a summary of the current plugin settings, and (if the // summary is not empty) a button to edit them. $summary = $plugin->settingsSummary(); @@ -466,8 +464,8 @@ public function submitForm(array &$form, array &$form_state) { if (isset($values['settings_edit_form']['settings'])) { $settings = $values['settings_edit_form']['settings']; } - elseif (isset($form_state['formatter_settings'][$field_name])) { - $settings = $form_state['formatter_settings'][$field_name]; + elseif (isset($form_state['plugin_settings'][$field_name])) { + $settings = $form_state['plugin_settings'][$field_name]; } elseif ($current_options = $display->getComponent($field_name)) { $settings = $current_options['settings']; diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php index 22554c6..733c69d 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/FormDisplayOverview.php @@ -9,6 +9,8 @@ use Drupal\Component\Utility\NestedArray; use Drupal\Core\ControllerInterface; +use Drupal\entity\EntityDisplayBaseInterface; +use Drupal\field\FieldInstanceInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -36,6 +38,22 @@ public function getFormID() { /** * {@inheritdoc} */ + protected function buildFieldRow($field_id, FieldInstanceInterface $instance, EntityDisplayBaseInterface $entity_display, array $form, array &$form_state) { + $field_row = parent::buildFieldRow($field_id, $instance, $entity_display, $form, $form_state); + + // Update the (invisible) title of the 'plugin' column. + $field_row['plugin']['#title'] = t('Formatter for @title', array('@title' => $instance['label'])); + if (!empty($field_row['plugin']['settings_edit_form']) && ($plugin = $entity_display->getRenderer($field_id))) { + $plugin_type_info = $plugin->getDefinition(); + $field_row['plugin']['settings_edit_form']['label']['#markup'] = t('Widget settings:') . ' ' . $plugin_type_info['label'] . ''; + } + + return $field_row; + } + + /** + * {@inheritdoc} + */ protected function getEntityDisplay($mode) { return entity_get_form_display($this->entity_type, $this->bundle, $mode); } diff --git a/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php b/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php index 4eebf6c..c719d07 100644 --- a/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php +++ b/core/modules/file/lib/Drupal/file/Plugin/field/widget/FileWidget.php @@ -50,6 +50,15 @@ public function settingsForm(array $form, array &$form_state) { } /** + * {@inheritdoc} + */ + public function settingsSummary() { + $summary = array(); + $summary[] = t('Progress indicator: @progress_indicator', array('@progress_indicator' => $this->getSetting('progress_indicator'))); + return $summary; + } + + /** * Overrides \Drupal\field\Plugin\Type\Widget\WidgetBase::formMultipleElements(). * * Special handling for draggable multiple widgets and 'add more' button. diff --git a/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php b/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php index 8062ff6..e24f863 100644 --- a/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php +++ b/core/modules/image/lib/Drupal/image/Plugin/field/widget/ImageWidget.php @@ -52,6 +52,30 @@ public function settingsForm(array $form, array &$form_state) { } /** + * {@inheritdoc} + */ + public function settingsSummary() { + $summary = parent::settingsSummary(); + + $image_styles = image_style_options(FALSE); + // Unset possible 'No defined styles' option. + unset($image_styles['']); + // Styles could be lost because of enabled/disabled modules that defines + // their styles in code. + $image_style_setting = $this->getSetting('preview_image_style'); + if (isset($image_styles[$image_style_setting])) { + $preview_image_style = t('Preview image style: @style', array('@style' => $image_styles[$image_style_setting])); + } + else { + $preview_image_style = t('Original image'); + } + + array_unshift($summary, $preview_image_style); + + return $summary; + } + + /** * Overrides \Drupal\file\Plugin\field\widget\FileWidget::formMultipleElements(). * * Special handling for draggable multiple widgets and 'add more' button.