#162 minor stylistic changes based on feedback.
This commit is contained in:
@@ -163,6 +163,11 @@ this.recline.Backend.CouchDB = this.recline.Backend.CouchDB || {};
|
|||||||
// backend.fetch(dataset.toJSON());
|
// backend.fetch(dataset.toJSON());
|
||||||
// backend.query(query, dataset.toJSON()).done(function () { ... });
|
// backend.query(query, dataset.toJSON()).done(function () { ... });
|
||||||
//
|
//
|
||||||
|
// Alternatively:
|
||||||
|
// var dataset = new recline.Model.Dataset({ ... }, 'couchdb');
|
||||||
|
// dataset.fetch();
|
||||||
|
// var results = dataset.query(query_obj);
|
||||||
|
//
|
||||||
// Additionally, the Dataset instance may define three methods:
|
// Additionally, the Dataset instance may define three methods:
|
||||||
// function record_update (record, document) { ... }
|
// function record_update (record, document) { ... }
|
||||||
// function record_delete (record, document) { ... }
|
// function record_delete (record, document) { ... }
|
||||||
@@ -244,7 +249,7 @@ my.save = function (changes, dataset) {
|
|||||||
var succ_cb = function (msg) {results.done.push({'op': 'create', 'record': new_doc, 'reason': ''}); }
|
var succ_cb = function (msg) {results.done.push({'op': 'create', 'record': new_doc, 'reason': ''}); }
|
||||||
var fail_cb = function (msg) {results.fail.push({'op': 'create', 'record': new_doc, 'reason': msg}); }
|
var fail_cb = function (msg) {results.fail.push({'op': 'create', 'record': new_doc, 'reason': msg}); }
|
||||||
|
|
||||||
my._create_document(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
_createDocument(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i in changes.updates) {
|
for (var i in changes.updates) {
|
||||||
@@ -252,7 +257,7 @@ my.save = function (changes, dataset) {
|
|||||||
var succ_cb = function (msg) {results.done.push({'op': 'update', 'record': new_doc, 'reason': ''}); }
|
var succ_cb = function (msg) {results.done.push({'op': 'update', 'record': new_doc, 'reason': ''}); }
|
||||||
var fail_cb = function (msg) {results.fail.push({'op': 'update', 'record': new_doc, 'reason': msg}); }
|
var fail_cb = function (msg) {results.fail.push({'op': 'update', 'record': new_doc, 'reason': msg}); }
|
||||||
|
|
||||||
my._update_document(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
_updateDocument(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i in changes.deletes) {
|
for (var i in changes.deletes) {
|
||||||
@@ -260,7 +265,7 @@ my.save = function (changes, dataset) {
|
|||||||
var succ_cb = function (msg) {results.done.push({'op': 'delete', 'record': old_doc, 'reason': ''}); }
|
var succ_cb = function (msg) {results.done.push({'op': 'delete', 'record': old_doc, 'reason': ''}); }
|
||||||
var fail_cb = function (msg) {results.fail.push({'op': 'delete', 'record': old_doc, 'reason': msg}); }
|
var fail_cb = function (msg) {results.fail.push({'op': 'delete', 'record': old_doc, 'reason': msg}); }
|
||||||
|
|
||||||
my._delete_document(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
_deleteDocument(new_doc, dataset).then([decr_cb, succ_cb, resolve_cb], [decr_cb, fail_cb, resolve_cb]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dfd.promise();
|
return dfd.promise();
|
||||||
@@ -306,8 +311,8 @@ my.query = function(queryObj, dataset) {
|
|||||||
// the following block is borrowed verbatim from recline.backend.Memory
|
// the following block is borrowed verbatim from recline.backend.Memory
|
||||||
// search (with filtering, faceting, and sorting) should be factored
|
// search (with filtering, faceting, and sorting) should be factored
|
||||||
// out into a separate library.
|
// out into a separate library.
|
||||||
query_result.hits = self._applyFilters(query_result.hits, queryObj);
|
query_result.hits = _applyFilters(query_result.hits, queryObj);
|
||||||
query_result.hits = self._applyFreeTextQuery(query_result.hits, queryObj);
|
query_result.hits = _applyFreeTextQuery(query_result.hits, queryObj);
|
||||||
// not complete sorting!
|
// not complete sorting!
|
||||||
_.each(queryObj.sort, function(sortObj) {
|
_.each(queryObj.sort, function(sortObj) {
|
||||||
var fieldName = _.keys(sortObj)[0];
|
var fieldName = _.keys(sortObj)[0];
|
||||||
@@ -317,7 +322,7 @@ my.query = function(queryObj, dataset) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
query_result.total = query_result.hits.length;
|
query_result.total = query_result.hits.length;
|
||||||
query_result.facets = self.computeFacets(query_result.hits, queryObj);
|
query_result.facets = _computeFacets(query_result.hits, queryObj);
|
||||||
query_result.hits = query_result.hits.slice(cdb_q.skip, cdb_q.skip + cdb_q.limit+1);
|
query_result.hits = query_result.hits.slice(cdb_q.skip, cdb_q.skip + cdb_q.limit+1);
|
||||||
dfd.resolve(query_result);
|
dfd.resolve(query_result);
|
||||||
|
|
||||||
@@ -327,7 +332,7 @@ my.query = function(queryObj, dataset) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// in place filtering
|
// in place filtering
|
||||||
my._applyFilters = function(results, queryObj) {
|
_applyFilters = function(results, queryObj) {
|
||||||
_.each(queryObj.filters, function(filter) {
|
_.each(queryObj.filters, function(filter) {
|
||||||
results = _.filter(results, function(doc) {
|
results = _.filter(results, function(doc) {
|
||||||
var fieldId = _.keys(filter.term)[0];
|
var fieldId = _.keys(filter.term)[0];
|
||||||
@@ -338,15 +343,14 @@ my._applyFilters = function(results, queryObj) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// we OR across fields but AND across terms in query string
|
// we OR across fields but AND across terms in query string
|
||||||
my._applyFreeTextQuery = function(results, queryObj) {
|
_applyFreeTextQuery = function(results, queryObj) {
|
||||||
if (queryObj.q) {
|
if (queryObj.q) {
|
||||||
var terms = queryObj.q.split(' ');
|
var terms = queryObj.q.split(' ');
|
||||||
results = _.filter(results, function(rawdoc) {
|
results = _.filter(results, function(rawdoc) {
|
||||||
var matches = true;
|
var matches = true;
|
||||||
_.each(terms, function(term) {
|
_.each(terms, function(term) {
|
||||||
var foundmatch = false;
|
var foundmatch = false;
|
||||||
//_.each(self.fields, function(field) {
|
_.each(_.keys(rawdoc), function(field) {
|
||||||
_.each(_.keys(rawdoc), function(field) {
|
|
||||||
var value = rawdoc[field];
|
var value = rawdoc[field];
|
||||||
if (value !== null) { value = value.toString(); }
|
if (value !== null) { value = value.toString(); }
|
||||||
// TODO regexes?
|
// TODO regexes?
|
||||||
@@ -364,7 +368,7 @@ my._applyFreeTextQuery = function(results, queryObj) {
|
|||||||
return results;
|
return results;
|
||||||
};
|
};
|
||||||
|
|
||||||
my.computeFacets = function(records, queryObj) {
|
_computeFacets = function(records, queryObj) {
|
||||||
var facetResults = {};
|
var facetResults = {};
|
||||||
if (!queryObj.facets) {
|
if (!queryObj.facets) {
|
||||||
return facetResults;
|
return facetResults;
|
||||||
@@ -401,7 +405,7 @@ my.computeFacets = function(records, queryObj) {
|
|||||||
return facetResults;
|
return facetResults;
|
||||||
};
|
};
|
||||||
|
|
||||||
my._create_document = function (new_doc, dataset) {
|
_createDocument = function (new_doc, dataset) {
|
||||||
var dfd = $.Deferred();
|
var dfd = $.Deferred();
|
||||||
var db_url = dataset.db_url;
|
var db_url = dataset.db_url;
|
||||||
var view_url = dataset.view_url;
|
var view_url = dataset.view_url;
|
||||||
@@ -431,7 +435,7 @@ my._create_document = function (new_doc, dataset) {
|
|||||||
return dfd.promise();
|
return dfd.promise();
|
||||||
};
|
};
|
||||||
|
|
||||||
my._update_document = function (new_doc, dataset) {
|
_updateDocument = function (new_doc, dataset) {
|
||||||
var dfd = $.Deferred();
|
var dfd = $.Deferred();
|
||||||
var db_url = dataset.db_url;
|
var db_url = dataset.db_url;
|
||||||
var view_url = dataset.view_url;
|
var view_url = dataset.view_url;
|
||||||
@@ -461,7 +465,7 @@ my._update_document = function (new_doc, dataset) {
|
|||||||
return dfd.promise();
|
return dfd.promise();
|
||||||
};
|
};
|
||||||
|
|
||||||
my._delete_document = function (del_doc, dataset) {
|
_deleteDocument = function (del_doc, dataset) {
|
||||||
var dfd = $.Deferred();
|
var dfd = $.Deferred();
|
||||||
var db_url = dataset.db_url;
|
var db_url = dataset.db_url;
|
||||||
var view_url = dataset.view_url;
|
var view_url = dataset.view_url;
|
||||||
|
|||||||
Reference in New Issue
Block a user