public_html/js public_html/skins
Aleksander Machniak
machniak at kolabsys.com
Fri Mar 16 19:58:05 CET 2012
public_html/js/kolab_admin.js | 9 ++++++++-
public_html/skins/default/ui.js | 11 +++++------
2 files changed, 13 insertions(+), 7 deletions(-)
New commits:
commit 64725457a91cac1db5303f20ba0c62e46ab19632
Author: Aleksander Machniak <alec at alec.pl>
Date: Fri Mar 16 19:57:22 2012 +0100
Fix listelement serialization (#637)
diff --git a/public_html/js/kolab_admin.js b/public_html/js/kolab_admin.js
index 5bddf5d..bdcf1e2 100644
--- a/public_html/js/kolab_admin.js
+++ b/public_html/js/kolab_admin.js
@@ -437,7 +437,7 @@ function kolab_admin()
$('textarea[data-type="list"]', form).each(function() {
var name = this.name;
// maybe already converted by skin engine
- if (json[name] && !$.isArray(json[name]))
+ if (!json[name] || !$.isArray(json[name]))
json[name] = $(this).val().split("\n");
});
@@ -618,3 +618,10 @@ function kolab_admin()
};
var kadm = new kolab_admin();
+
+// Add escape() method to RegExp object
+// http://dev.rubyonrails.org/changeset/7271
+RegExp.escape = function(str)
+{
+ return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
+};
diff --git a/public_html/skins/default/ui.js b/public_html/skins/default/ui.js
index 5645f7e..850eb93 100644
--- a/public_html/skins/default/ui.js
+++ b/public_html/skins/default/ui.js
@@ -141,18 +141,17 @@ function form_serialize(data)
var form = $(data.id);
// replace some textarea fields with pretty/smart input lists
- $('textarea[data-type="list"]', form).not('disabled')
- .each(function() {
- var i, value = [], re = RegExp('^' + this.name + '\[[0-9]+\]$');
+ $('textarea[data-type="list"]', form).not('disabled').each(function() {
+ var i, v, value = [],
+ re = RegExp('^' + RegExp.escape(this.name) + '\[[0-9]+\]$');
for (i in data.json) {
if (i.match(re)) {
- if (i.value)
- value.push(i.value);
+ if (v = $('input[name="'+i+'"]', form).val())
+ value.push(v);
delete data.json[i];
}
}
-
data.json[this.name] = value;
});
More information about the commits
mailing list