o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1360019516.12835:@value"�{I" class:EFI"ProcessedAsset;�FI"logical_path;�FI"plugins/jquery.autosize.js;�TI" pathname;�FI"n/Users/luizeof/Projects/rubygems/rails-bootstrap-engine/app/assets/javascripts/plugins/jquery.autosize.js;�TI"content_type;�FI"application/javascript;�FI" mtime;�FI"2013-01-29T21:57:26-02:00;�FI"length;�Fi$I"digest;�F"%ba48549157195f89764b29c1b127f313I"source;�FI"$// Autosize 1.15.2 - jQuery plugin for textareas // (c) 2013 Jack Moore - jacklmoore.com // license: www.opensource.org/licenses/mit-license.php (function ($) { var defaults = { className: 'autosizejs', append: "", callback: false }, hidden = 'hidden', borderBox = 'border-box', lineHeight = 'lineHeight', // border:0 is unnecessary, but avoids a bug in FireFox on OSX (http://www.jacklmoore.com/autosize#comment-851) copy = '<textarea tabindex="-1" style="position:absolute; top:-9999px; left:-9999px; right:auto; bottom:auto; border:0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden;"/>', // line-height is conditionally included because IE7/IE8/old Opera do not return the correct value. copyStyle = [ 'fontFamily', 'fontSize', 'fontWeight', 'fontStyle', 'letterSpacing', 'textTransform', 'wordSpacing', 'textIndent' ], oninput = 'oninput', onpropertychange = 'onpropertychange', // to keep track which textarea is being mirrored when adjust() is called. mirrored, // the mirror element, which is used to calculate what size the mirrored element should be. mirror = $(copy).data('autosize', true)[0]; // test that line-height can be accurately copied. mirror.style.lineHeight = '99px'; if ($(mirror).css(lineHeight) === '99px') { copyStyle.push(lineHeight); } mirror.style.lineHeight = ''; $.fn.autosize = function (options) { options = $.extend({}, defaults, options || {}); if (mirror.parentNode !== document.body) { $(document.body).append(mirror); } return this.each(function () { var ta = this, $ta = $(ta), minHeight = $ta.height(), maxHeight = parseInt($ta.css('maxHeight'), 10), active, resize, boxOffset = 0, value = ta.value, callback = $.isFunction(options.callback); if ($ta.data('autosize')) { // exit if autosize has already been applied, or if the textarea is the mirror element. return; } if ($ta.css('box-sizing') === borderBox || $ta.css('-moz-box-sizing') === borderBox || $ta.css('-webkit-box-sizing') === borderBox){ boxOffset = $ta.outerHeight() - $ta.height(); } resize = $ta.css('resize') === 'none' ? 'none' : 'horizontal'; $ta.css({ overflow: hidden, overflowY: hidden, wordWrap: 'break-word', resize: resize }).data('autosize', true); // Opera returns '-1px' when max-height is set to 'none'. maxHeight = maxHeight && maxHeight > 0 ? maxHeight : 9e4; function initMirror() { mirrored = ta; mirror.className = options.className; // mirror is a duplicate textarea located off-screen that // is automatically updated to contain the same text as the // original textarea. mirror always has a height of 0. // This gives a cross-browser supported way getting the actual // height of the text, through the scrollTop property. $.each(copyStyle, function(i, val){ mirror.style[val] = $ta.css(val); }); } // Using mainly bare JS in this function because it is going // to fire very often while typing, and needs to very efficient. function adjust() { var height, overflow, original; if (mirrored !== ta) { initMirror(); } // the active flag keeps IE from tripping all over itself. Otherwise // actions in the adjust function will cause IE to call adjust again. if (!active) { active = true; mirror.value = ta.value + options.append; mirror.style.overflowY = ta.style.overflowY; original = parseInt(ta.style.height,10); // Update the width in case the original textarea width has changed mirror.style.width = $ta.width() + 'px'; // Needed for IE7 to reliably return the correct scrollHeight mirror.scrollTop = 0; // Set a very high value for scrollTop to be sure the // mirror is scrolled all the way to the bottom. mirror.scrollTop = 9e4; height = mirror.scrollTop; // Note to self: replace the previous 3 lines with 'height = mirror.scrollHeight' when dropping IE7 support. if (height > maxHeight) { height = maxHeight; overflow = 'scroll'; } else if (height < minHeight) { height = minHeight; } height += boxOffset; ta.style.overflowY = overflow || hidden; if (original !== height) { ta.style.height = height + 'px'; if (callback) { options.callback.call(ta); } } // This small timeout gives IE a chance to draw it's scrollbar // before adjust can be run again (prevents an infinite loop). setTimeout(function () { active = false; }, 1); } } if (onpropertychange in ta) { if (oninput in ta) { // Detects IE9. IE9 does not fire onpropertychange or oninput for deletions, // so binding to onkeyup to catch most of those occassions. There is no way that I // know of to detect something like 'cut' in IE9. ta[oninput] = ta.onkeyup = adjust; } else { // IE7 / IE8 ta[onpropertychange] = adjust; } } else { // Modern Browsers ta[oninput] = adjust; // The textarea overflow is now hidden, but Chrome doesn't reflow the text to account for the // new space made available by removing the scrollbars. This workaround causes Chrome to reflow the text. ta.value = ''; ta.value = value; } $(window).resize(adjust); // Allow for manual triggering if needed. $ta.bind('autosize', adjust); // Call adjust in case the textarea already contains text. adjust(); }); }; }(window.jQuery || window.Zepto)); ;�FI"dependency_digest;�F"%2455197831268d9a30aa6612b6980823I"required_paths;�F[I"n/Users/luizeof/Projects/rubygems/rails-bootstrap-engine/app/assets/javascripts/plugins/jquery.autosize.js;�TI"dependency_paths;�F[{I" path;�FI"n/Users/luizeof/Projects/rubygems/rails-bootstrap-engine/app/assets/javascripts/plugins/jquery.autosize.js;�TI" mtime;�FI"2013-01-29T21:57:26-02:00;�FI"digest;�F"%7d0af6d363337566041058c51b94c096I" _version;�F"%6776f581a4329e299531e1d52aa59832