\
@@ -99,6 +100,8 @@ var SearchView = Backbone.View.extend({
});
this.el.html(html);
+ this.el.find('.total span').text(this.model.recordCount);
+
var view = new recline.View.FacetViewer({
model: this.model
});
@@ -125,52 +128,7 @@ function setupMoreComplexExample(config) {
var dataset = new recline.Model.Dataset(config);
// async as may be fetching remote
dataset.fetch().done(function() {
- if (dataset.get('url').indexOf('openspending') === -1) {
- // generic template function
- var template = function(record) {
- var template = '
\
-
\
- {{#data}} \
- - {{key}}: {{value}}
\
- {{/data}} \
-
\
- ';
- var data = _.map(_.keys(record), function(key) {
- return { key: key, value: record[key] };
- });
- return Mustache.render(template, {
- data: data
- });
- }
- } else {
- // generic template function
- var template = function(record) {
- record['time'] = record['time.label_facet']
- var template = '
\
-
\
-
\
- {{#data}} \
- - {{key}}: {{value}}
\
- {{/data}} \
-
\
- ';
- var data = [];
- _.each(_.keys(record), function(key) {
- if (key !='_id' && key != 'id') {
- data.push({ key: key, value: record[key] });
- }
- });
- return Mustache.render(template, {
- record: record,
- amount_formatted: formatAmount(record['amount']),
- data: data
- });
- }
- }
-
+ var template = templates[dataset.get('url')] || templates['generic'];
var searchView = new SearchView({
el: $el,
model: dataset,
@@ -179,17 +137,85 @@ function setupMoreComplexExample(config) {
searchView.render();
dataset.queryState.set({
- size: 10
+ size: 5
},
{silent: true}
);
- if (dataset.get('url').indexOf('openspending') != -1) {
- dataset.queryState.addFacet('dataset');
+ if (dataset.get('url') in templates) {
+ // for gdocs example
+ dataset.queryState.addFacet('cause');
}
dataset.query();
});
};
+var templates = {
+ // generic template function
+ 'generic': function(record) {
+ var template = '
\
+
\
+ {{#data}} \
+ - {{key}}: {{value}}
\
+ {{/data}} \
+
\
+
\
+ ';
+ var data = _.map(_.keys(record), function(key) {
+ return { key: key, value: record[key] };
+ });
+ return Mustache.render(template, {
+ data: data
+ });
+ },
+ 'http://openspending.org/api/search': function(record) {
+ record['time'] = record['time.label_facet']
+ var template = '
\
+
\
+
\
+ {{#data}} \
+ - {{key}}: {{value}}
\
+ {{/data}} \
+
\
+
\
+ ';
+ var data = [];
+ _.each(_.keys(record), function(key) {
+ if (key !='_id' && key != 'id') {
+ data.push({ key: key, value: record[key] });
+ }
+ });
+ return Mustache.render(template, {
+ record: record,
+ amount_formatted: formatAmount(record['amount']),
+ data: data
+ });
+ },
+ 'https://docs.google.com/spreadsheet/ccc?key=0Aon3JiuouxLUdExXSTl2Y01xZEszOTBFZjVzcGtzVVE': function(record) {
+ var template = '
\
+
\
+ {{record.incidentsite}} – {{record.datereported}} – {{record.estimatedspillvolumebbl}} barrels \
+
\
+
\
+ {{#data}} \
+ - {{key}}: {{value}}
\
+ {{/data}} \
+
\
+
\
+ ';
+ var data = [];
+ _.each(_.keys(record), function(key) {
+ data.push({ key: key, value: record[key] });
+ });
+ return Mustache.render(template, {
+ record: record,
+ data: data
+ });
+ }
+}
+
var sampleData = [
{
title: 'War and Peace',
diff --git a/demos/search/index.html b/demos/search/index.html
index d7e3dda7..a26646b6 100644
--- a/demos/search/index.html
+++ b/demos/search/index.html
@@ -73,6 +73,11 @@ ul.facet-items {
list-style-type: none;
margin-left: 0;
}
+
+.record ul {
+ list-style-type: none;
+ margin-left: 0;
+}