@@ -2,18 +2,27 @@ var React = require('react');
2
2
3
3
var $ = React . DOM ;
4
4
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 ] ;
9
17
} ,
10
18
11
19
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 ( ) ) ;
15
24
16
- return $ . table ( { className : "jsonTable" } , [ header , items ] ) ;
25
+ return $ . table ( { className : "jsonTable" } , contents ) ;
17
26
} ,
18
27
19
28
renderHeader : function ( ) {
@@ -47,7 +56,7 @@ var List = React.createClass({
47
56
;
48
57
49
58
if ( ! items || ! items . length )
50
- return $ . tbody ( { } , [ $ . tr ( { } , $ . td ( { } , 'No items' ) ) ] ) ;
59
+ return $ . tbody ( { } , [ $ . tr ( { } , $ . td ( { } , this . getSetting ( 'noItemsMessage' ) ) ) ] ) ;
51
60
52
61
var rows = items . map ( function ( item ) {
53
62
return React . createElement ( Item , {
0 commit comments