From c93f64fc8baf8b1b6be1891b5015919bbcf3a62d Mon Sep 17 00:00:00 2001 From: Paul Gallagher Date: Tue, 24 Jul 2012 20:10:09 +0800 Subject: [PATCH] allow ajax data parameter to be specified as a function (test updated by arshaw after-the-fact) --- src/EventManager.js | 8 +++++- tests/data_as_a_function.html | 54 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 tests/data_as_a_function.html diff --git a/src/EventManager.js b/src/EventManager.js index 0c80e24..e05ca9c 100644 --- a/src/EventManager.js +++ b/src/EventManager.js @@ -136,7 +136,13 @@ function EventManager(options, _sources) { var success = source.success; var error = source.error; var complete = source.complete; - var data = $.extend({}, source.data || {}); + var custom_data; + if ($.isFunction(source.data)) { + custom_data = source.data(); + } else { + custom_data = source.data; + } + var data = $.extend({}, custom_data || {}); var startParam = firstDefined(source.startParam, options.startParam); var endParam = firstDefined(source.endParam, options.endParam); if (startParam) { diff --git a/tests/data_as_a_function.html b/tests/data_as_a_function.html new file mode 100644 index 0000000..86bb84f --- /dev/null +++ b/tests/data_as_a_function.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + +
+ + \ No newline at end of file