1
1
import React from 'react' ;
2
- import JSONTree from '../../src' ;
3
2
import { Map } from 'immutable' ;
3
+ import JSONTree from '../../src' ;
4
4
5
5
const getLabelStyle = ( { style } , nodeType , expanded ) => ( {
6
6
style : {
@@ -17,18 +17,26 @@ const getBoolStyle = ({ style }, nodeType) => ({
17
17
}
18
18
} ) ;
19
19
20
- const getItemString = ( type ) => ( < span > // { type } </ span > ) ;
20
+ const getItemString = type => (
21
+ < span >
22
+ { ' // ' }
23
+ { type }
24
+ </ span >
25
+ ) ;
21
26
22
27
const getValueLabelStyle = ( { style } , nodeType , keyPath ) => ( {
23
28
style : {
24
29
...style ,
25
- color : ! isNaN ( keyPath [ 0 ] ) && ! ( parseInt ( keyPath , 10 ) % 2 ) ?
26
- '#33F' : style . color
30
+ color :
31
+ ! Number . isNaN ( keyPath [ 0 ] ) && ! ( parseInt ( keyPath , 10 ) % 2 )
32
+ ? '#33F'
33
+ : style . color
27
34
}
28
35
} ) ;
29
36
30
37
// eslint-disable-next-line max-len
31
- const longString = 'Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.' ;
38
+ const longString =
39
+ 'Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.Loremipsumdolorsitamet,consecteturadipiscingelit.Namtempusipsumutfelisdignissimauctor.Maecenasodiolectus,finibusegetultricesvel,aliquamutelit.' ;
32
40
33
41
const data = {
34
42
array : [ 1 , 2 , 3 ] ,
@@ -57,7 +65,10 @@ const data = {
57
65
emptyObject : { } ,
58
66
symbol : Symbol ( 'value' ) ,
59
67
// eslint-disable-next-line new-cap
60
- immutable : Map ( [ [ 'key' , 'value' ] , [ { objectKey : 'value' } , { objectKey : 'value' } ] ] ) ,
68
+ immutable : Map ( [
69
+ [ 'key' , 'value' ] ,
70
+ [ { objectKey : 'value' } , { objectKey : 'value' } ]
71
+ ] ) ,
61
72
map : new window . Map ( [
62
73
[ 'key' , 'value' ] ,
63
74
[ 0 , 'value' ] ,
@@ -98,44 +109,29 @@ const theme = {
98
109
99
110
const App = ( ) => (
100
111
< div >
101
- < JSONTree
102
- data = { data }
103
- theme = { theme }
104
- invertTheme
105
- />
112
+ < JSONTree data = { data } theme = { theme } invertTheme />
106
113
< br />
107
114
< h3 > Dark Theme</ h3 >
108
- < JSONTree
109
- data = { data }
110
- theme = { theme }
111
- invertTheme = { false }
112
- />
115
+ < JSONTree data = { data } theme = { theme } invertTheme = { false } />
113
116
< br />
114
117
< h3 > Hidden Root</ h3 >
115
- < JSONTree
116
- data = { data }
117
- theme = { theme }
118
- hideRoot
119
- />
118
+ < JSONTree data = { data } theme = { theme } hideRoot />
120
119
< br />
121
120
< h3 > Base16 Greenscreen Theme</ h3 >
122
- < JSONTree
123
- data = { data }
124
- theme = 'greenscreen'
125
- invertTheme = { false }
126
- />
121
+ < JSONTree data = { data } theme = "greenscreen" invertTheme = { false } />
127
122
< h4 > Inverted Theme</ h4 >
128
- < JSONTree
129
- data = { data }
130
- theme = 'greenscreen'
131
- invertTheme
132
- />
123
+ < JSONTree data = { data } theme = "greenscreen" invertTheme />
133
124
< br />
134
125
< h3 > Style Customization</ h3 >
135
126
< ul >
136
- < li > Label changes between uppercase/lowercase based on the expanded state.</ li >
127
+ < li >
128
+ Label changes between uppercase/lowercase based on the expanded state.
129
+ </ li >
137
130
< li > Array keys are styled based on their parity.</ li >
138
- < li > The labels of objects, arrays, and iterables are customized as "// type".</ li >
131
+ < li >
132
+ The labels of objects, arrays, and iterables are customized as "//
133
+ type".
134
+ </ li >
139
135
< li > See code for details.</ li >
140
136
</ ul >
141
137
< div >
@@ -151,33 +147,38 @@ const App = () => (
151
147
/>
152
148
</ div >
153
149
< h3 > More Fine Grained Rendering</ h3 >
154
- < p > Pass < code > labelRenderer</ code > or < code > valueRenderer</ code > .</ p >
150
+ < p >
151
+ Pass < code > labelRenderer</ code > or < code > valueRenderer</ code > .
152
+ </ p >
155
153
< div >
156
154
< JSONTree
157
155
data = { data }
158
156
theme = { theme }
159
157
labelRenderer = { ( [ raw ] ) => < span > (({ raw } )):</ span > }
160
- valueRenderer = { raw => < em > 😐 { raw } 😐</ em > }
158
+ valueRenderer = { raw => (
159
+ < em >
160
+ < span role = "img" aria-label = "mellow" >
161
+ 😐
162
+ </ span > { ' ' }
163
+ { raw } { ' ' }
164
+ < span role = "img" aria-label = "mellow" >
165
+ 😐
166
+ </ span >
167
+ </ em >
168
+ ) }
161
169
/>
162
170
</ div >
163
- < p > Sort object keys with < code > sortObjectKeys</ code > prop.</ p >
171
+ < p >
172
+ Sort object keys with < code > sortObjectKeys</ code > prop.
173
+ </ p >
164
174
< div >
165
- < JSONTree
166
- data = { data }
167
- theme = { theme }
168
- sortObjectKeys
169
- />
175
+ < JSONTree data = { data } theme = { theme } sortObjectKeys />
170
176
</ div >
171
177
< p > Collapsed root node</ p >
172
178
< div >
173
- < JSONTree
174
- data = { data }
175
- theme = { theme }
176
- shouldExpandNode = { ( ) => false }
177
- />
179
+ < JSONTree data = { data } theme = { theme } shouldExpandNode = { ( ) => false } />
178
180
</ div >
179
181
</ div >
180
182
) ;
181
183
182
184
export default App ;
183
-
0 commit comments