diff --git a/demos/search/app.js b/demos/search/app.js index 343bbb6b..df2f9bfc 100644 --- a/demos/search/app.js +++ b/demos/search/app.js @@ -74,6 +74,7 @@ var SearchView = Backbone.View.extend({
\
\
\ +

records found

\
\ \
\ @@ -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 = '
\ -

\ - {{record.dataset}} {{record.time}} \ - – {{amount_formatted}} \ -

\ -
    \ - {{#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 = '
\ +

\ + {{record.dataset}} {{record.time}} \ + – {{amount_formatted}} \ +

\ +
    \ + {{#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; +}