diff --git a/_includes/recline-deps.html b/_includes/recline-deps.html
index 84d43041..87705ccc 100644
--- a/_includes/recline-deps.html
+++ b/_includes/recline-deps.html
@@ -23,7 +23,6 @@
-
diff --git a/src/backend.ckan.js b/src/backend.ckan.js
index dafe6ecd..62fc91e7 100644
--- a/src/backend.ckan.js
+++ b/src/backend.ckan.js
@@ -27,6 +27,9 @@ this.recline.Backend.Ckan = this.recline.Backend.Ckan || {};
my.__type__ = 'ckan';
+ // private - use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// Default CKAN API endpoint used for requests (you can change this but it will affect every request!)
//
// DEPRECATION: this will be removed in v0.7. Please set endpoint attribute on dataset instead
@@ -41,7 +44,7 @@ this.recline.Backend.Ckan = this.recline.Backend.Ckan || {};
dataset.id = out.resource_id;
var wrapper = my.DataStore(out.endpoint);
}
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var jqxhr = wrapper.search({resource_id: dataset.id, limit: 0});
jqxhr.done(function(results) {
// map ckan types to our usual types ...
@@ -84,7 +87,7 @@ this.recline.Backend.Ckan = this.recline.Backend.Ckan || {};
var wrapper = my.DataStore(out.endpoint);
}
var actualQuery = my._normalizeQuery(queryObj, dataset);
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var jqxhr = wrapper.search(actualQuery);
jqxhr.done(function(results) {
var out = {
diff --git a/src/backend.couchdb.js b/src/backend.couchdb.js
index 8c2c9ad9..994cfc9b 100755
--- a/src/backend.couchdb.js
+++ b/src/backend.couchdb.js
@@ -5,6 +5,9 @@ this.recline.Backend.CouchDB = this.recline.Backend.CouchDB || {};
(function($, my) {
my.__type__ = 'couchdb';
+// use either jQuery or Underscore Deferred depending on what is available
+var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ## CouchDB Wrapper
//
// Connecting to [CouchDB] (http://www.couchdb.apache.org/) endpoints.
@@ -197,7 +200,7 @@ my.__type__ = 'couchdb';
var db_url = dataset.db_url;
var view_url = dataset.view_url;
var cdb = new my.CouchDBWrapper(db_url, view_url);
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
// if 'doc' attribute is present, return schema of that
// else return schema of 'value' attribute which contains
@@ -239,7 +242,7 @@ my.__type__ = 'couchdb';
//
//
my.save = function (changes, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var total = changes.creates.length + changes.updates.length + changes.deletes.length;
var results = {'done': [], 'fail': [] };
@@ -280,7 +283,7 @@ my.save = function (changes, dataset) {
// @param {Object} recline.Dataset instance
// @param {Object} recline.Query instance.
my.query = function(queryObj, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var db_url = dataset.db_url;
var view_url = dataset.view_url;
var query_options = dataset.query_options;
@@ -475,7 +478,7 @@ function randomId(length, chars) {
}
_createDocument = function (new_doc, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var db_url = dataset.db_url;
var view_url = dataset.view_url;
var _id = new_doc['id'];
@@ -497,7 +500,7 @@ _createDocument = function (new_doc, dataset) {
};
_updateDocument = function (new_doc, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var db_url = dataset.db_url;
var view_url = dataset.view_url;
var _id = new_doc['id'];
@@ -527,7 +530,7 @@ _updateDocument = function (new_doc, dataset) {
};
_deleteDocument = function (del_doc, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var db_url = dataset.db_url;
var view_url = dataset.view_url;
var _id = del_doc['id'];
diff --git a/src/backend.csv.js b/src/backend.csv.js
index 454015f0..aacfc5e9 100644
--- a/src/backend.csv.js
+++ b/src/backend.csv.js
@@ -6,6 +6,9 @@ this.recline.Backend.CSV = this.recline.Backend.CSV || {};
(function(my) {
my.__type__ = 'csv';
+ // use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ## fetch
//
// fetch supports 3 options depending on the attribute provided on the dataset argument
@@ -24,7 +27,7 @@ this.recline.Backend.CSV = this.recline.Backend.CSV || {};
// }
//
my.fetch = function(dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
if (dataset.file) {
var reader = new FileReader();
var encoding = dataset.encoding || 'UTF-8';
diff --git a/src/backend.dataproxy.js b/src/backend.dataproxy.js
index b8f17826..44db50cf 100644
--- a/src/backend.dataproxy.js
+++ b/src/backend.dataproxy.js
@@ -10,6 +10,10 @@ this.recline.Backend.DataProxy = this.recline.Backend.DataProxy || {};
// Needed because use JSONP so do not receive e.g. 500 errors
my.timeout = 5000;
+
+ // use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ## load
//
// Load data from a URL via the [DataProxy](http://github.com/okfn/dataproxy).
@@ -26,7 +30,7 @@ this.recline.Backend.DataProxy = this.recline.Backend.DataProxy || {};
data: data,
dataType: 'jsonp'
});
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
_wrapInTimeout(jqxhr).done(function(results) {
if (results.error) {
dfd.reject(results.error);
@@ -50,7 +54,7 @@ this.recline.Backend.DataProxy = this.recline.Backend.DataProxy || {};
// Many of backends use JSONP and so will not get error messages and this is
// a crude way to catch those errors.
var _wrapInTimeout = function(ourFunction) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var timer = setTimeout(function() {
dfd.reject({
message: 'Request Error: Backend did not respond after ' + (my.timeout / 1000) + ' seconds'
diff --git a/src/backend.elasticsearch.js b/src/backend.elasticsearch.js
index 56075a3c..82ba52de 100644
--- a/src/backend.elasticsearch.js
+++ b/src/backend.elasticsearch.js
@@ -5,6 +5,9 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {};
(function($, my) {
my.__type__ = 'elasticsearch';
+ // use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ## ElasticSearch Wrapper
//
// A simple JS wrapper around an [ElasticSearch](http://www.elasticsearch.org/) endpoints.
@@ -179,7 +182,7 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {};
// ### fetch
my.fetch = function(dataset) {
var es = new my.Wrapper(dataset.url, my.esOptions);
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
es.mapping().done(function(schema) {
if (!schema){
@@ -207,7 +210,7 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {};
my.save = function(changes, dataset) {
var es = new my.Wrapper(dataset.url, my.esOptions);
if (changes.creates.length + changes.updates.length + changes.deletes.length > 1) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
msg = 'Saving more than one item at a time not yet supported';
alert(msg);
dfd.reject(msg);
@@ -225,7 +228,7 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {};
// ### query
my.query = function(queryObj, dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var es = new my.Wrapper(dataset.url, my.esOptions);
var jqxhr = es.query(queryObj);
jqxhr.done(function(results) {
diff --git a/src/backend.gdocs.js b/src/backend.gdocs.js
index 3f1812a8..4d18aa9b 100644
--- a/src/backend.gdocs.js
+++ b/src/backend.gdocs.js
@@ -5,6 +5,9 @@ this.recline.Backend.GDocs = this.recline.Backend.GDocs || {};
(function(my) {
my.__type__ = 'gdocs';
+ // use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ## Google spreadsheet backend
//
// Fetch data from a Google Docs spreadsheet.
@@ -29,13 +32,13 @@ this.recline.Backend.GDocs = this.recline.Backend.GDocs || {};
// * fields: array of Field objects
// * records: array of objects for each row
my.fetch = function(dataset) {
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
var urls = my.getGDocsAPIUrls(dataset.url);
// TODO cover it with tests
// get the spreadsheet title
(function () {
- var titleDfd = new _.Deferred();
+ var titleDfd = new Deferred();
jQuery.getJSON(urls.spreadsheet, function (d) {
titleDfd.resolve({
diff --git a/src/backend.solr.js b/src/backend.solr.js
index 51b4ab71..36e465f0 100644
--- a/src/backend.solr.js
+++ b/src/backend.solr.js
@@ -5,6 +5,9 @@ this.recline.Backend.Solr = this.recline.Backend.Solr || {};
(function($, my) {
my.__type__ = 'solr';
+ // use either jQuery or Underscore Deferred depending on what is available
+ var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
+
// ### fetch
//
// dataset must have a solr or url attribute pointing to solr endpoint
@@ -18,7 +21,7 @@ this.recline.Backend.Solr = this.recline.Backend.Solr || {};
dataType: 'jsonp',
jsonp: 'json.wrf'
});
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
jqxhr.done(function(results) {
// if we get 0 results we cannot get fields
var fields = []
@@ -51,7 +54,7 @@ this.recline.Backend.Solr = this.recline.Backend.Solr || {};
dataType: 'jsonp',
jsonp: 'json.wrf'
});
- var dfd = new _.Deferred();
+ var dfd = new Deferred();
jqxhr.done(function(results) {
var out = {
total: results.response.numFound,
diff --git a/src/model.js b/src/model.js
index c279b655..2f405762 100644
--- a/src/model.js
+++ b/src/model.js
@@ -4,7 +4,7 @@ this.recline.Model = this.recline.Model || {};
(function(my) {
-// private - use either jQuery or Underscore Deferred depending on what is available
+// use either jQuery or Underscore Deferred depending on what is available
var Deferred = _.isUndefined(this.jQuery) ? _.Deferred : jQuery.Deferred;
// ## Dataset
diff --git a/test/index.html b/test/index.html
index 7a102b4f..e9152613 100644
--- a/test/index.html
+++ b/test/index.html
@@ -10,7 +10,6 @@
-