Module: deluge
Branch: master
Commit: 9e7dde8997deb2099b8571a32875dfc12821243a

Author: Damien Churchill <[email protected]>
Date:   Tue Apr 27 23:48:04 2010 +0100

change radiogroups so they can be used as a single form field

---

 .../ui/web/js/ext-extensions/form/RadioGroupFix.js |   68 ++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/deluge/ui/web/js/ext-extensions/form/RadioGroupFix.js 
b/deluge/ui/web/js/ext-extensions/form/RadioGroupFix.js
new file mode 100644
index 0000000..d5a9ce8
--- /dev/null
+++ b/deluge/ui/web/js/ext-extensions/form/RadioGroupFix.js
@@ -0,0 +1,68 @@
+/*!
+ * Ext.ux.form.RadioGroup.js
+ * 
+ * Copyright (c) Damien Churchill 2009-2010 <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, write to:
+ *     The Free Software Foundation, Inc.,
+ *     51 Franklin Street, Fifth Floor
+ *     Boston, MA  02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the OpenSSL
+ * library.
+ * You must obey the GNU General Public License in all respects for all of
+ * the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the file(s),
+ * but you are not obligated to do so. If you do not wish to do so, delete
+ * this exception statement from your version. If you delete this exception
+ * statement from all source files in the program, then also delete it here.
+ */
+
+// Allow radiogroups to be treated as a single form element.
+Ext.override(Ext.form.RadioGroup, {
+
+    afterRender: function() {
+               this.items.each(function(i) {
+               this.relayEvents(i, ['check']);
+               }, this);
+               Ext.form.RadioGroup.superclass.afterRender.call(this)
+    },
+
+    getName: function() {
+               return this.items.first().getName();
+    },
+
+    getValue: function() {
+               //var v;
+               return this.items.first().getGroupValue();
+               //this.items.each(function(item) {
+               //    v = item.getRawValue();
+               //    return !item.getValue();
+               //});
+               //return v;
+    },
+
+    setValue: function(v) {
+               if (!this.items.each) return;
+               this.items.each(function(item) {
+                       if (item.rendered) {
+                               var checked = (item.el.getValue() == String(v));
+                               item.el.dom.checked = checked;
+                               item.el.dom.defaultChecked = checked;
+                               item.wrap[checked ? 'addClass' : 
'removeClass'](item.checkedCls);
+                       }
+               });
+    }
+});

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to