From d7bd23107e2908a7bf90fbbb1a2c03e06dbf545d Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Fri, 11 Sep 2009 13:30:49 +0000 Subject: #513414 by kika, stBorchert, stella, sign, Bojhan, sun et al: Make editing of summary/full fields more user-friendly. --- modules/field/modules/text/text.js | 40 ++++++++++++++++++++++++++++++++++ modules/field/modules/text/text.module | 7 ++++++ 2 files changed, 47 insertions(+) create mode 100644 modules/field/modules/text/text.js (limited to 'modules') diff --git a/modules/field/modules/text/text.js b/modules/field/modules/text/text.js new file mode 100644 index 000000000..e69c9de77 --- /dev/null +++ b/modules/field/modules/text/text.js @@ -0,0 +1,40 @@ +// $Id$ + +(function ($) { + +/** + * Auto-hide summary textarea if empty and show hide and unhide links. + */ +Drupal.behaviors.textTextareaSummary = { + attach: function (context, settings) { + $('textarea.text-textarea-summary:not(.text-textarea-summary-processed)', context).addClass('text-textarea-summary-processed').each(function () { + var $fieldset = $(this).closest('#body-wrapper'); + var $summary = $fieldset.find('div.text-summary-wrapper'); + var $summaryLabel = $summary.find('div.form-type-textarea label'); + var $full = $fieldset.find('div.text-full-wrapper'); + var $fullLabel = $full.find('div.form-type-textarea label'); + + // Setup the edit/hide summary link. + var $link = $('(' + Drupal.t('Hide summary') + ')').toggle( + function () { + $summary.hide(); + $(this).find('a').html(Drupal.t('Edit summary')).end().appendTo($fullLabel); + return false; + }, + function () { + $summary.show(); + $(this).find('a').html(Drupal.t('Hide summary')).end().appendTo($summaryLabel); + return false; + } + ).appendTo($summaryLabel); + + // If no summary is set, hide the summary field. + if ($(this).val() == '') { + $link.click(); + } + return; + }); + } +}; + +})(jQuery); diff --git a/modules/field/modules/text/text.module b/modules/field/modules/text/text.module index db9ba24ed..0f6bf942e 100644 --- a/modules/field/modules/text/text.module +++ b/modules/field/modules/text/text.module @@ -716,6 +716,10 @@ function text_textarea_with_summary_process($element, $form_state, $form) { '#description' => t('Leave blank to use trimmed value of full text as the summary.'), '#required' => $element['#required'], '#display' => $display, + '#attached' => array('js' => array(drupal_get_path('module', 'text') . '/text.js')), + '#attributes' => array('class' => array('text-textarea-summary')), + '#prefix' => '
', + '#suffix' => '
', ); $field_key = $element['#columns'][0]; @@ -728,6 +732,9 @@ function text_textarea_with_summary_process($element, $form_state, $form) { '#description' => $element['#description'], '#required' => $element['#required'], '#required' => $instance['required'], + '#attributes' => array('class' => array('text-full-textarea')), + '#prefix' => '
', + '#suffix' => '
', ); if (!empty($instance['settings']['text_processing'])) { -- cgit v1.2.3