@@ -6,37 +6,76 @@ import ContentInbox from 'material-ui/svg-icons/content/inbox';
66import ContentDrafts from 'material-ui/svg-icons/content/drafts' ;
77import ContentSend from 'material-ui/svg-icons/content/send' ;
88import Subheader from 'material-ui/Subheader' ;
9+ import Toggle from 'material-ui/Toggle' ;
910
10- const ListExampleNested = ( ) => (
11- < MobileTearSheet >
12- < List >
13- < Subheader > Nested List Items</ Subheader >
14- < ListItem primaryText = "Sent mail" leftIcon = { < ContentSend /> } />
15- < ListItem primaryText = "Drafts" leftIcon = { < ContentDrafts /> } />
16- < ListItem
17- primaryText = "Inbox"
18- leftIcon = { < ContentInbox /> }
19- initiallyOpen = { true }
20- primaryTogglesNestedList = { true }
21- nestedItems = { [
22- < ListItem
23- key = { 1 }
24- primaryText = "Starred"
25- leftIcon = { < ActionGrade /> }
26- /> ,
27- < ListItem
28- key = { 2 }
29- primaryText = "Sent Mail"
30- leftIcon = { < ContentSend /> }
31- disabled = { true }
32- nestedItems = { [
33- < ListItem key = { 1 } primaryText = "Drafts" leftIcon = { < ContentDrafts /> } /> ,
34- ] }
35- /> ,
36- ] }
37- />
38- </ List >
39- </ MobileTearSheet >
40- ) ;
11+ export default class ListExampleNested extends React . Component {
4112
42- export default ListExampleNested ;
13+ state = {
14+ open : false ,
15+ } ;
16+
17+ handleToggle = ( ) => {
18+ this . setState ( {
19+ open : ! this . state . open ,
20+ } ) ;
21+ } ;
22+
23+ handleNestedListToggle = ( item ) => {
24+ this . setState ( {
25+ open : item . state . open ,
26+ } ) ;
27+ } ;
28+
29+ render ( ) {
30+ return (
31+ < div >
32+ < Toggle
33+ toggled = { this . state . open }
34+ onToggle = { this . handleToggle }
35+ labelPosition = "right"
36+ label = "This toggle controls the expanded state of the submenu item."
37+ />
38+ < br />
39+ < MobileTearSheet >
40+ < List >
41+ < Subheader > Nested List Items</ Subheader >
42+ < ListItem primaryText = "Sent mail" leftIcon = { < ContentSend /> } />
43+ < ListItem primaryText = "Drafts" leftIcon = { < ContentDrafts /> } />
44+ < ListItem
45+ primaryText = "Inbox"
46+ leftIcon = { < ContentInbox /> }
47+ initiallyOpen = { true }
48+ primaryTogglesNestedList = { true }
49+ nestedItems = { [
50+ < ListItem
51+ key = { 1 }
52+ primaryText = "Starred"
53+ leftIcon = { < ActionGrade /> }
54+ /> ,
55+ < ListItem
56+ key = { 2 }
57+ primaryText = "Sent Mail"
58+ leftIcon = { < ContentSend /> }
59+ disabled = { true }
60+ nestedItems = { [
61+ < ListItem key = { 1 } primaryText = "Drafts" leftIcon = { < ContentDrafts /> } /> ,
62+ ] }
63+ /> ,
64+ < ListItem
65+ key = { 3 }
66+ primaryText = "Inbox"
67+ leftIcon = { < ContentInbox /> }
68+ open = { this . state . open }
69+ onNestedListToggle = { this . handleNestedListToggle }
70+ nestedItems = { [
71+ < ListItem key = { 1 } primaryText = "Drafts" leftIcon = { < ContentDrafts /> } /> ,
72+ ] }
73+ /> ,
74+ ] }
75+ />
76+ </ List >
77+ </ MobileTearSheet >
78+ </ div >
79+ ) ;
80+ }
81+ }
0 commit comments