From c63a3b0a4f9b5e94df424a77725799497d64f8bc Mon Sep 17 00:00:00 2001 From: Rufus Pollock Date: Sat, 20 Oct 2012 01:58:44 +0100 Subject: [PATCH] [#180,demos/search][s]: refactor bespoke template handling. --- demos/search/app.js | 93 ++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/demos/search/app.js b/demos/search/app.js index 343bbb6b..e9d4536d 100644 --- a/demos/search/app.js +++ b/demos/search/app.js @@ -125,52 +125,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 = '
\ -
\ - '; - 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}} \ -

\ -
\ - '; - 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,7 +134,7 @@ function setupMoreComplexExample(config) { searchView.render(); dataset.queryState.set({ - size: 10 + size: 5 }, {silent: true} ); @@ -190,6 +145,50 @@ function setupMoreComplexExample(config) { }); }; +var templates = { + // generic template function + 'generic': function(record) { + var template = '
\ +
\ + '; + 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}} \ +

\ +
\ + '; + 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 sampleData = [ { title: 'War and Peace',