diff options
-rw-r--r-- | includes/form.inc | 16 | ||||
-rw-r--r-- | misc/textarea.js | 10 | ||||
-rw-r--r-- | modules/filter/filter.css | 1 | ||||
-rw-r--r-- | modules/node/node.css | 4 | ||||
-rw-r--r-- | modules/system/system-behavior.css | 14 | ||||
-rw-r--r-- | themes/seven/style.css | 5 |
6 files changed, 22 insertions, 28 deletions
diff --git a/includes/form.inc b/includes/form.inc index c192aff0f..620acdad4 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -2801,16 +2801,24 @@ function theme_form($variables) { */ function theme_textarea($variables) { $element = $variables['element']; + $wrapper_attributes = array( + 'class' => array('form-textarea-wrapper'), + ); $class = array('form-textarea'); - // Add resizable behavior - if ($element['#resizable'] !== FALSE) { + // Add resizable behavior. + if (!empty($element['#resizable'])) { drupal_add_js('misc/textarea.js'); - $class[] = 'resizable'; + $wrapper_attributes['class'][] = 'resizable'; } + $output = '<div' . drupal_attributes($wrapper_attributes) . '>'; + _form_set_class($element, $class); - return '<textarea cols="' . $element['#cols'] . '" rows="' . $element['#rows'] . '" name="' . $element['#name'] . '" id="' . $element['#id'] . '" ' . drupal_attributes($element['#attributes']) . '>' . check_plain($element['#value']) . '</textarea>'; + $output .= '<textarea cols="' . $element['#cols'] . '" rows="' . $element['#rows'] . '" name="' . $element['#name'] . '" id="' . $element['#id'] . '" ' . drupal_attributes($element['#attributes']) . '>' . check_plain($element['#value']) . '</textarea>'; + + $output .= '</div>'; + return $output; } /** diff --git a/misc/textarea.js b/misc/textarea.js index 5938b9e4d..022d9784e 100644 --- a/misc/textarea.js +++ b/misc/textarea.js @@ -3,16 +3,12 @@ Drupal.behaviors.textarea = { attach: function (context, settings) { - $('textarea.resizable', context).once('textarea', function () { - // When wrapping the text area, work around an IE margin bug. See: - // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout + $('.form-textarea-wrapper.resizable', context).once('textarea', function () { var staticOffset = null; - var textarea = $(this).wrap('<div class="resizable-textarea"><span></span></div>'); + var textarea = $(this).addClass('resizable-textarea').find('textarea'); var grippie = $('<div class="grippie"></div>').mousedown(startDrag); - grippie - .insertAfter(textarea) - .css('margin-right', grippie.width() - textarea.width()); + grippie.insertAfter(textarea); function startDrag(e) { staticOffset = textarea.height() - e.pageY; diff --git a/modules/filter/filter.css b/modules/filter/filter.css index 7102880b1..ae1ab2ecf 100644 --- a/modules/filter/filter.css +++ b/modules/filter/filter.css @@ -5,7 +5,6 @@ } .filter-wrapper { border-top: 0; - width: 95%; margin: 0; padding: 1.5em 0 1.5em; } diff --git a/modules/node/node.css b/modules/node/node.css index c97d41ed9..7b00fc7b7 100644 --- a/modules/node/node.css +++ b/modules/node/node.css @@ -31,10 +31,6 @@ td.revision-current { .node-form .standard { clear: both; } -.node-form textarea { - display: block; - width: 95%; -} .node-form .attachments fieldset { float: none; display: block; diff --git a/modules/system/system-behavior.css b/modules/system/system-behavior.css index 0ff2f875b..1dcb4221f 100644 --- a/modules/system/system-behavior.css +++ b/modules/system/system-behavior.css @@ -79,8 +79,13 @@ html.js fieldset.collapsible .fieldset-wrapper { /** * Resizable textareas */ -.resizable-textarea { - width: 95%; +.form-textarea-wrapper textarea { + margin: 0; + width: 100%; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } .resizable-textarea .grippie { height: 9px; @@ -90,11 +95,6 @@ html.js fieldset.collapsible .fieldset-wrapper { border-top-width: 0; cursor: s-resize; } -html.js .resizable-textarea textarea { - margin-bottom: 0; - width: 100%; - display: block; -} /** * Table drag and drop diff --git a/themes/seven/style.css b/themes/seven/style.css index 4bd299eca..f08cd6c7c 100644 --- a/themes/seven/style.css +++ b/themes/seven/style.css @@ -607,7 +607,6 @@ div.teaser-checkbox .form-item, /* Filter */ .filter-wrapper { border-top: 0; - width: 95%; padding: 10px 2px; } .filter-wrapper > div { @@ -692,10 +691,6 @@ select.form-select:focus { color: #000; border-color: #ace; } -.resizable-textarea .grippie { - width: 100%; - padding: 0 2px; -} html.js input.form-autocomplete { background-position: 100% 4px; } |