From 5c6e74b176705b595aed3f33c89c9632bb49c587 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 14 Jun 2013 07:15:13 -0400
Subject: [PATCH] Fix js error on operator change

---
 plugins/managesieve/managesieve.js  |    8 +++++---
 plugins/managesieve/managesieve.php |    2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js
index a1f31bb..3a87a9f 100644
--- a/plugins/managesieve/managesieve.js
+++ b/plugins/managesieve/managesieve.js
@@ -603,10 +603,12 @@
 
 function rule_op_select(obj, id, header)
 {
-  var target = document.getElementById('rule_target' + id + '_list'),
-    style = obj.value == 'exists' || obj.value == 'notexists' || header == 'size' ? 'none' : 'inline-block';
+  var target = document.getElementById('rule_target' + id + '_list');
 
-  target.style.display = style;
+  if (!header)
+    header = document.getElementById('header' + id).value;
+
+  target.style.display = obj.value == 'exists' || obj.value == 'notexists' || header == 'size' ? 'none' : 'inline-block';
 };
 
 function rule_trans_select(id)
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 63ca97a..0dfe05a 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -1353,7 +1353,7 @@
         $select_op = new html_select(array('name' => "_rule_op[]", 'id' => 'rule_op'.$id,
             'style' => 'display:' .($rule['test']!='size' ? 'inline' : 'none'),
             'class' => 'operator_selector',
-            'onchange' => 'rule_op_select('.$id.')'));
+            'onchange' => 'rule_op_select(this, '.$id.')'));
         $select_op->add(rcube::Q($this->gettext('filtercontains')), 'contains');
         $select_op->add(rcube::Q($this->gettext('filternotcontains')), 'notcontains');
         $select_op->add(rcube::Q($this->gettext('filteris')), 'is');

--
Gitblit v1.9.1