Skip to content

Commit 9fbba0e

Browse files
author
jonisaa
committed
Start to play with tabs
1 parent d44573e commit 9fbba0e

File tree

3 files changed

+70
-12
lines changed

3 files changed

+70
-12
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"homepage": "https://github.com/redux-autoform/redux-autoform-bootstrap-ui#readme",
3030
"dependencies": {
3131
"bootstrap": "^3.3.6",
32+
"font-awesome": "^4.6.3",
3233
"isomorphic-fetch": "^2.2.1",
3334
"react": "^15.1.0",
3435
"react-bootstrap": "^0.30.0",

src/components/groupComponents/Group.js

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { Component, PropTypes } from 'react';
2-
import { Alert } from 'react-bootstrap';
2+
import { Alert, Nav, NavItem } from 'react-bootstrap';
33

44
class Group extends Component {
55
static propTypes = {
@@ -96,27 +96,57 @@ class Group extends Component {
9696
}
9797
};
9898

99+
handleSelect = (eventKey) => {
100+
event.preventDefault();
101+
};
102+
99103
render() {
100104

101105
// the passed in layout can contain either fields or groups.
102106
// in case it contains 'fields', we're gonna render each of the fields.
103-
// in case it contains 'groups', we're gonna render render each group, passing the fields as a parameter
107+
// in case it contains 'groups', we're gonna render each group, passing the fields as a parameter
104108
try {
105109
let content = this.getContent();
106110
let header = this.getHeader();
111+
112+
let { layout } = this.props;
107113

108-
return (
109-
<section>
110-
<div className='row'>
111-
<div className="metaform-group">
112-
{ header }
113-
<div className="metaform-group-content">
114-
{ content }
114+
if (layout.type == "tabs") {
115+
return(
116+
<section>
117+
<div className='row'>
118+
<div className="metaform-group">
119+
{ header }
120+
<Nav bsStyle="tabs" onSelect={this.handleSelect}>
121+
{
122+
layout.groups.map((item, index) => (
123+
<NavItem eventKey={index}>
124+
{item.title}
125+
</NavItem>
126+
))
127+
}
128+
</Nav>
129+
<div className="metaform-group-content">
130+
{ content }
131+
</div>
115132
</div>
116133
</div>
117-
</div>
118-
</section>
119-
);
134+
</section>
135+
);
136+
} else {
137+
return (
138+
<section>
139+
<div className='row'>
140+
<div className="metaform-group">
141+
{ header }
142+
<div className="metaform-group-content">
143+
{ content }
144+
</div>
145+
</div>
146+
</div>
147+
</section>
148+
);
149+
}
120150

121151
} catch (ex) {
122152
return (
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import React, { Component, PropTypes } from 'react';
2+
import { Alert, Nav, NavItem } from 'react-bootstrap';
3+
4+
export default class Tabs extends Component {
5+
static propTypes = {
6+
header: PropTypes.object,
7+
content: PropTypes.object,
8+
layout: PropTypes.object
9+
};
10+
11+
render() {
12+
let { header, content, layout } = this.props;
13+
14+
return (
15+
<section>
16+
<div className='row'>
17+
<div className="metaform-group">
18+
{ header }
19+
<div className="metaform-group-content">
20+
{ content }
21+
</div>
22+
</div>
23+
</div>
24+
</section>
25+
);
26+
}
27+
}

0 commit comments

Comments
 (0)