Comparing version 0.2.3 to 0.2.4
27
index.js
@@ -6,2 +6,3 @@ 'use strict'; | ||
, FreeList = require('freelist').FreeList | ||
, dot = require('dot-component') | ||
, Temper = require('temper') | ||
@@ -178,2 +179,11 @@ , fuse = require('fusing') | ||
/** | ||
* List of keys in the data that will be supplied to the client-side script. | ||
* Paths to nested keys can be supplied via dot notation. | ||
* | ||
* @type {Array} | ||
* @public | ||
*/ | ||
Pagelet.writable('query', []); | ||
/** | ||
* The location of your error template. This template will be rendered when: | ||
@@ -284,2 +294,3 @@ * | ||
, data = options.data || {} | ||
, query = this.query | ||
, pagelet = this; | ||
@@ -330,3 +341,3 @@ | ||
// | ||
pagelet.get(function receive(err, data) { | ||
pagelet.get(function receive(err, result) { | ||
var view = pagelet.temper.fetch(pagelet.view).server | ||
@@ -349,3 +360,3 @@ , content; | ||
content = view(data); | ||
content = view(result); | ||
} catch (e) { | ||
@@ -361,3 +372,3 @@ // | ||
content = pagelet.temper.fetch(pagelet.error).server(pagelet.merge(data, { | ||
content = pagelet.temper.fetch(pagelet.error).server(pagelet.merge(result, { | ||
reason: 'Failed to render: '+ pagelet.name, | ||
@@ -370,2 +381,12 @@ env: process.env.NODE_ENV || 'development', | ||
// | ||
// Add queried parts of data, so the client-side script can use it. | ||
// | ||
if ('object' === typeof result && Array.isArray(query)) { | ||
data.data = query.reduce(function find(memo, q) { | ||
memo[q] = dot.get(result, q); | ||
return memo; | ||
}, {}); | ||
} | ||
fragment(content); | ||
@@ -372,0 +393,0 @@ }); |
{ | ||
"name": "pagelet", | ||
"version": "0.2.3", | ||
"version": "0.2.4", | ||
"description": "pagelet", | ||
@@ -26,5 +26,6 @@ "main": "index.js", | ||
"debug": "~0.8.0", | ||
"dot-component": "~0.1.1", | ||
"fusing": "~0.2.1", | ||
"temper": "~0.1.4", | ||
"json-stringify-safe": "~5.0.0" | ||
"json-stringify-safe": "~5.0.0", | ||
"temper": "~0.1.4" | ||
}, | ||
@@ -31,0 +32,0 @@ "devDependencies": { |
29893
563
5
+ Addeddot-component@~0.1.1
+ Addeddot-component@0.1.1(transitive)
+ Addedtype-component@0.0.1(transitive)