From a4e71c5c389336852bcca8bc729f67f5ce13cdd0 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 01 Feb 2012 02:40:30 -0500
Subject: [PATCH] Improve tabs and splitter functionality
---
skins/larry/ui.js | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index d69e7fa..1b03166 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -712,8 +712,8 @@
*/
function init_tabs(elem, current)
{
- var id = elem.id,
- content = $(elem),
+ var content = $(elem),
+ id = content.get(0).id,
fs = content.children('fieldset');
if (!fs.length)
@@ -721,7 +721,7 @@
if (!id) {
id = 'rcmtabcontainer';
- elem.attr('id', id);
+ content.attr('id', id);
}
// first hide not selected tabs
@@ -798,7 +798,7 @@
/**
- * Roundcube splitter GUI class
+ * Roundcube UI splitter class
*
* @constructor
*/
@@ -823,6 +823,10 @@
this.p1 = $(this.p.p1);
this.p2 = $(this.p.p2);
+ // check if referenced elements exist, otherwise abort
+ if (!this.p1.length || !this.p2.length)
+ return;
+
// create and position the handle for this splitter
this.p1pos = this.relative ? this.p1.position() : this.p1.offset();
this.p2pos = this.relative ? this.p2.position() : this.p2.offset();
@@ -842,11 +846,9 @@
this.handle.css({ left:left+'px', top:'0px' });
}
- this.elm = this.handle.get(0);
-
// listen to window resize on IE
if (bw.ie)
- $(window).resize(function(e){ onResize(e) });
+ $(window).resize(onResize);
// read saved position from cookie
var cookie = bw.get_cookie(this.id);
--
Gitblit v1.9.1