summaryrefslogtreecommitdiff
path: root/share/www/script/jquery.resizer.js
diff options
context:
space:
mode:
authorChristopher Lenz <cmlenz@apache.org>2008-03-28 23:32:19 +0000
committerChristopher Lenz <cmlenz@apache.org>2008-03-28 23:32:19 +0000
commit544a38dd45f6a58d34296c6c768afd086eb2ac70 (patch)
treec84cc02340b06aae189cff0dbfaee698f273f1f5 /share/www/script/jquery.resizer.js
parent804cbbe033b8e7a3e8d7058aaf31bdf69ef18ac5 (diff)
Imported trunk.
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@642432 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script/jquery.resizer.js')
-rw-r--r--share/www/script/jquery.resizer.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/share/www/script/jquery.resizer.js b/share/www/script/jquery.resizer.js
new file mode 100644
index 00000000..8ebd0c66
--- /dev/null
+++ b/share/www/script/jquery.resizer.js
@@ -0,0 +1,55 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy
+// of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+(function($) {
+
+ $.fn.resizable = function(options) {
+ if ($.browser.safari && parseInt($.browser.version) >= 522)
+ return this; // safari3 and later provides textarea resizing natively
+ options = options || {};
+ options.grippie = options.grippie || null;
+ options.minHeight = options.minHeight || 32;
+ options.maxHeight = options.maxHeight || null;
+
+ return this.each(function() {
+ var grippie = options.grippie;
+ if (!grippie) grippie = $("<div></div>").appendTo(this.parentNode);
+ grippie.addClass("grippie");
+ var elem = $(this);
+ grippie.mousedown(function(e) {
+ var pos = e.screenY;
+ var height = elem.height();
+ $(document)
+ .mousemove(function(e) {
+ var offset = e.screenY - pos;
+ if (offset) {
+ var newHeight = height + offset;
+ if (newHeight >= options.minHeight &&
+ (!options.maxHeight || newHeight <= options.maxHeight)) {
+ elem.height(newHeight);
+ height = newHeight;
+ }
+ pos = e.screenY;
+ }
+ document.onselectstart = function() { return false }; // for IE
+ return false;
+ })
+ .one("mouseup", function() {
+ $(document).unbind("mousemove");
+ document.onselectstart = null; // for IE
+ });
+ return false;
+ });
+ });
+ }
+
+})(jQuery);