From 05ca22b2fadc1e657ceae4b7239ac9ccc61b84fa Mon Sep 17 00:00:00 2001
From: Ben Slavin
Date: Wed, 13 Feb 2013 09:34:18 -0500
Subject: [PATCH 1/9] Testing a more configurable data type conversion approach
---
dom/form_params/form_params.js | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/dom/form_params/form_params.js b/dom/form_params/form_params.js
index 0527067e..880f1fa7 100644
--- a/dom/form_params/form_params.js
+++ b/dom/form_params/form_params.js
@@ -1,5 +1,6 @@
steal("jquery", function( $ ) {
var
+ converters = {},
// use to parse bracket notation like my[name][attribute]
keyBreaker = /[^\[\]]+/g,
// converts values that look like numbers and booleans and removes empty strings
@@ -148,8 +149,13 @@ steal("jquery", function( $ ) {
}
// Convert the value
- if ( convert ) {
- value = convertValue( value );
+ if (convert) {
+ converterKey = $this.data('convert');
+ if (converters[converterKey] !== undefined) {
+ value = converters[converterKey]['serializer'](value);
+ } else {
+ value = convertValue(value);
+ }
}
// Assign data recursively
@@ -158,6 +164,12 @@ steal("jquery", function( $ ) {
});
return data;
+ },
+ registerParamConverter: function (key, serializer, deserializer) {
+ converters[key] = {
+ 'serializer': serializer, // To JSON
+ 'deserializer': deserializer // To form data
+ };
}
});
From b368f13a09f23a53daa8ceb87a9eda7b1855e02e Mon Sep 17 00:00:00 2001
From: Ben Slavin
Date: Wed, 13 Feb 2013 09:34:37 -0500
Subject: [PATCH 2/9] Using the new data type conversion
---
dom/form_params/form_params.html | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/dom/form_params/form_params.html b/dom/form_params/form_params.html
index 8d8e897c..fde18bff 100644
--- a/dom/form_params/form_params.html
+++ b/dom/form_params/form_params.html
@@ -13,7 +13,7 @@