Branch 'kolab-webadmin-3.1' - public_html/js
Aleksander Machniak
machniak at kolabsys.com
Tue Apr 15 12:26:03 CEST 2014
public_html/js/kolab_admin.js | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
New commits:
commit 76162e3c08f78b0db9a5730d45d039b099741c6a
Author: Aleksander Machniak <machniak at kolabsys.com>
Date: Tue Apr 15 12:24:36 2014 +0200
Fix checkboxes handling - fixes e.g. Hosted and Optional checkboxes in object type form
diff --git a/public_html/js/kolab_admin.js b/public_html/js/kolab_admin.js
index 659645c..b3ef717 100644
--- a/public_html/js/kolab_admin.js
+++ b/public_html/js/kolab_admin.js
@@ -769,8 +769,8 @@ function kolab_admin()
delete data.json[this.name + '-unit'];
});
- // checkbox inputs
- $('input[type="checkbox"]', form).each(function() {
+ // "boolean" checkbox inputs
+ $('input[type="checkbox"][value="TRUE"]', form).each(function() {
data.json[this.name] = this.checked ? 'TRUE' : 'FALSE';
});
@@ -1272,18 +1272,17 @@ function kolab_admin()
this.serialize_form = function(id)
{
- var i, v, json = {},
- form = $(id),
- query = form.serializeArray(),
- extra = this.env.extra_fields || [];
+ var json = {}, form = $(id), query = form.serializeArray();
- for (i in query)
- json[query[i].name] = query[i].value;
+ // convert to name-value object
+ $.each(query, function() { json[this.name] = this.value; });
// read extra (disabled) fields
- for (i=0; i<extra.length; i++)
- if (v = $('[name="'+extra[i]+'"]', form).val())
- json[extra[i]] = v;
+ $.each(this.env.extra_fields || [], function() {
+ var value = $('[name="' + this + '"]', form).val();
+ if (value)
+ json[this] = value;
+ });
// serializeArray() doesn't work properly for multi-select
$('select[multiple="multiple"]', form).each(function() {
@@ -2011,7 +2010,7 @@ function kolab_admin()
$('select[name="attr_value"]').val(attr ? data.valtype : 'normal');
$('select[name="attr_validate"]').val(attr ? data.validate : '');
$('input[name="attr_default"]').val(data['default'] || '');
- $('input[name="attr_optional"]').attr('checked', attr ? data.optional : false);
+ $('input[name="attr_optional"]').prop('checked', attr ? data.optional : false);
$('input[name="attr_data"]').val(data.data || '');
$('input[name="attr_maxcount"]').val(data.maxcount || '');
$('textarea[name="attr_options"]').val(data.values ? data.values.join("\n") : '');
More information about the commits
mailing list