1+ import React from 'react' ;
2+
3+ import TabMenuItem from '../Tab/TabMenuItem/main' ;
4+ import EVMTabPanel from './EVMTabPanel' ;
5+
6+ import styles from '../../styles/Tab/Tab.scss' ;
7+
8+ class EVMTab extends React . Component {
9+ constructor ( props ) {
10+ super ( props ) ;
11+
12+ this . state = {
13+ currentTabIndex : 0 ,
14+ }
15+ }
16+
17+ setActiveTab ( index ) {
18+ this . setState ( {
19+ currentTabIndex : index ,
20+ } ) ;
21+ }
22+
23+ handleIconClick ( event , index ) {
24+ event . stopPropagation ( ) ;
25+
26+ const { data } = this . props ;
27+
28+ this . setState ( {
29+ currentTabIndex :
30+ index === data . length - 1 && index === this . state . currentTabIndex ? 0
31+ : index === this . state . currentTabIndex ? index
32+ : this . state . currentTabIndex ,
33+ } ) ;
34+
35+ this . props . onMenuItemIconClick ( index ) ;
36+ }
37+
38+ render ( ) {
39+ const { data } = this . props ;
40+ const { currentTabIndex } = this . state ;
41+
42+ console . log ( data )
43+
44+ return (
45+ < div className = { styles [ 'tab' ] } >
46+ < div className = { styles [ 'tab__navigation' ] } >
47+ { data . map ( ( item , i ) => {
48+ return (
49+ < TabMenuItem
50+ key = { `id--${ item . gas } ` }
51+ name = { i + 1 }
52+ active = { currentTabIndex === i }
53+ onClick = { ( ) => this . setActiveTab ( i ) }
54+ />
55+ )
56+ } ) }
57+ </ div >
58+ { data . map ( ( item , i ) => {
59+ return (
60+ < EVMTabPanel
61+ key = { `id--${ item . gas } ` }
62+ active = { currentTabIndex === i }
63+ evmData = { item } />
64+ )
65+ } )
66+ }
67+ </ div >
68+ ) ;
69+ }
70+ }
71+
72+ export default EVMTab ;
0 commit comments