@@ -4,14 +4,17 @@ let {IconButton, Slider, Styles, Tab, Tabs } = require('material-ui');
44let ComponentDoc = require ( '../../component-doc' ) ;
55let { Colors, Typography } = Styles ;
66let Code = require ( 'tabs-code' ) ;
7-
7+ const SwipeableViews = require ( 'react-swipeable-views' ) ;
88
99export default class TabsPage extends React . Component {
1010
1111 constructor ( props ) {
1212 super ( props ) ;
1313 this . _handleTabActive = this . _handleTabActive . bind ( this ) ;
14- this . state = { tabsValue : 'a' } ;
14+ this . state = {
15+ tabsValue : 'a' ,
16+ slideIndex : 0 ,
17+ } ;
1518 }
1619
1720 render ( ) {
@@ -150,6 +153,9 @@ export default class TabsPage extends React.Component {
150153 position : 'relative' ,
151154 paddingLeft : padding ,
152155 } ,
156+ slide : {
157+ padding : 10 ,
158+ } ,
153159 } ;
154160
155161 return (
@@ -227,11 +233,41 @@ export default class TabsPage extends React.Component {
227233 </ Tab >
228234 </ Tabs >
229235 </ div >
236+ < br />
237+ < Tabs onChange = { this . _handleChangeTabs . bind ( this ) } value = { this . state . slideIndex + '' } >
238+ < Tab label = "Tab One" value = "0" />
239+ < Tab label = "Tab Two" value = "1" />
240+ < Tab label = "Tab Three" value = "2" />
241+ </ Tabs >
242+ < SwipeableViews index = { this . state . slideIndex } onChangeIndex = { this . _handleChangeIndex . bind ( this ) } >
243+ < div >
244+ < h2 style = { styles . headline } > Tabs with slide effect</ h2 >
245+ Swipe to see the next slide.< br />
246+ </ div >
247+ < div style = { styles . slide } >
248+ slide n°2
249+ </ div >
250+ < div style = { styles . slide } >
251+ slide n°3
252+ </ div >
253+ </ SwipeableViews >
230254 </ CodeExample >
231255 </ ComponentDoc >
232256 ) ;
233257 }
234258
259+ _handleChangeIndex ( index ) {
260+ this . setState ( {
261+ slideIndex : index ,
262+ } ) ;
263+ }
264+
265+ _handleChangeTabs ( value ) {
266+ this . setState ( {
267+ slideIndex : parseInt ( value , 10 ) ,
268+ } ) ;
269+ }
270+
235271 _handleButtonClick ( ) {
236272 this . setState ( { tabsValue : 'c' } ) ;
237273 }
0 commit comments