Skip to content

Commit 9bcd78f

Browse files
committed
Added settings
1 parent 11b3520 commit 9bcd78f

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

rjt.js

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,27 @@ var React = require('react');
22

33
var $ = React.DOM;
44
var List = React.createClass({
5-
getDefaultProps: function(){
6-
return {
7-
header: true
8-
};
5+
defaultSettings: {
6+
header: true,
7+
noItemsMessage: 'No items'
8+
},
9+
10+
getSetting: function( name ){
11+
var settings = this.props.settings;
12+
13+
if( !settings || typeof settings[ name ] == 'undefined' )
14+
return this.defaultSettings[ name ];
15+
16+
return settings[ name ];
917
},
1018

1119
render: function(){
12-
var header = this.renderHeader(),
13-
items = this.renderItems()
14-
;
20+
var contents = [this.renderItems()];
21+
22+
if( this.getSetting('header') )
23+
contents.unshift( this.renderHeader() );
1524

16-
return $.table({ className: "jsonTable"}, [ header, items ]);
25+
return $.table({ className: "jsonTable" }, contents );
1726
},
1827

1928
renderHeader: function(){
@@ -47,7 +56,7 @@ var List = React.createClass({
4756
;
4857

4958
if( !items || !items.length )
50-
return $.tbody({}, [$.tr({}, $.td({}, 'No items'))]);
59+
return $.tbody({}, [$.tr({}, $.td({}, this.getSetting('noItemsMessage') ))]);
5160

5261
var rows = items.map( function( item ){
5362
return React.createElement(Item, {

0 commit comments

Comments
 (0)