From 6173c278a5423bd3faf569fe76dc3e9d83f0cae8 Mon Sep 17 00:00:00 2001 From: ewinslow Date: Sat, 6 Nov 2010 03:16:17 +0000 Subject: jsLinted ajax.js, removed experimental functions git-svn-id: http://code.elgg.org/elgg/trunk@7241 36083f99-b078-4883-b0ff-0f9b5a30f544 --- js/lib/ajax.js | 72 +++++++++++++++++++--------------------------------------- 1 file changed, 23 insertions(+), 49 deletions(-) (limited to 'js') diff --git a/js/lib/ajax.js b/js/lib/ajax.js index 184fd0da3..95ec7948e 100644 --- a/js/lib/ajax.js +++ b/js/lib/ajax.js @@ -1,3 +1,4 @@ +/*globals elgg, $*/ elgg.provide('elgg.ajax'); /** @@ -15,7 +16,7 @@ elgg.provide('elgg.ajax'); * @param {Object} options Optional. {@see jQuery#ajax} * @return {XmlHttpRequest} */ -elgg.ajax = function(url, options) { +elgg.ajax = function (url, options) { options = elgg.ajax.handleOptions(url, options); options.url = elgg.normalize_url(options.url); @@ -39,9 +40,13 @@ elgg.ajax.ERROR = -1; * @return {Object} * @private */ -elgg.ajax.handleOptions = function(url, options) { +elgg.ajax.handleOptions = function (url, options) { + var data_only = true, + data, + member; + //elgg.ajax('example/file.php', {...}); - if(typeof url == 'string') { + if (typeof url === 'string') { options = options || {}; //elgg.ajax({...}); @@ -50,21 +55,19 @@ elgg.ajax.handleOptions = function(url, options) { url = options.url; } - var data_only = true; - //elgg.ajax('example/file.php', function() {...}); - if (typeof options == 'function') { + if (typeof options === 'function') { data_only = false; options = {success: options}; } //elgg.ajax('example/file.php', {data:{...}}); - if(options.data) { + if (options.data) { data_only = false; } else { - for (var member in options) { + for (member in options) { //elgg.ajax('example/file.php', {callback:function(){...}}); - if(typeof options[member] == 'function') { + if (typeof options[member] === 'function') { data_only = false; } } @@ -72,7 +75,7 @@ elgg.ajax.handleOptions = function(url, options) { //elgg.ajax('example/file.php', {notdata:notfunc}); if (data_only) { - var data = options; + data = options; options = {data: data}; } @@ -90,7 +93,7 @@ elgg.ajax.handleOptions = function(url, options) { * @param {Object} options {@see jQuery#ajax} * @return {XmlHttpRequest} */ -elgg.get = function(url, options) { +elgg.get = function (url, options) { options = elgg.ajax.handleOptions(url, options); options.type = 'get'; @@ -104,7 +107,7 @@ elgg.get = function(url, options) { * @param {Object} options {@see jQuery#ajax} * @return {XmlHttpRequest} */ -elgg.getJSON = function(url, options) { +elgg.getJSON = function (url, options) { options = elgg.ajax.handleOptions(url, options); options.dataType = 'json'; @@ -118,7 +121,7 @@ elgg.getJSON = function(url, options) { * @param {Object} options {@see jQuery#ajax} * @return {XmlHttpRequest} */ -elgg.post = function(url, options) { +elgg.post = function (url, options) { options = elgg.ajax.handleOptions(url, options); options.type = 'post'; @@ -167,12 +170,8 @@ elgg.post = function(url, options) { * @param {Object} options {@see jQuery#ajax} * @return {XMLHttpRequest} */ -elgg.action = function(action, options) { - if(!action) { - throw new TypeError("action must be specified"); - } else if (typeof action != 'string') { - throw new TypeError("action must be a string"); - } +elgg.action = function (action, options) { + elgg.assertTypeOf('string', action); options = elgg.ajax.handleOptions('action/' + action, options); @@ -180,12 +179,13 @@ elgg.action = function(action, options) { options.dataType = 'json'; //Always display system messages after actions - var custom_success = options.success || function(){}; - options.success = function(json, two, three, four) { + var custom_success = options.success || function () {}; + options.success = function (json, two, three, four) { if (json.system_messages) { elgg.register_error(json.system_messages.errors); elgg.system_message(json.system_messages.messages); } + custom_success(json, two, three, four); }; @@ -208,12 +208,8 @@ elgg.action = function(action, options) { * @param {Object} options {@see jQuery#ajax} * @return {XmlHttpRequest} */ -elgg.api = function(method, options) { - if (!method) { - throw new TypeError("method must be specified"); - } else if (typeof method != 'string') { - throw new TypeError("method must be a string"); - } +elgg.api = function (method, options) { + elgg.assertTypeOf('string', method); var defaults = { dataType: 'json', @@ -227,26 +223,4 @@ elgg.api = function(method, options) { options.data.method = method; return elgg.ajax(options); -}; - -/** - * @param {string} selector a jQuery selector - * @param {Function} complete A function to execute when the refresh is done - * @return {XMLHttpRequest} - */ -elgg.refresh = function(selector, complete) { - $(selector).html('
'); - return $(selector).load(location.href + ' ' + selector + ' > *', complete); -}; - -/** - * @param {string} selector a jQuery selector (usually an #id) - * @param {number} interval The refresh interval in seconds - * @param {Function} complete A function to execute when the refresh is done - * @return {number} The interval identifier - */ -elgg.feed = function(selector, interval, complete) { - return setInterval(function() { - elgg.refresh(selector, complete); - }, interval); }; \ No newline at end of file -- cgit v1.2.3