From 470c23ffd809da4f1edcd775cfc0fa232acf7b93 Mon Sep 17 00:00:00 2001 From: Felipe Lima Date: Tue, 27 Oct 2015 22:02:23 -0300 Subject: [PATCH] Added tabTemplate property in Tabs component for custom tab templates. --- docs/src/app/components/pages/components/tabs.jsx | 6 ++++++ src/tabs/tabs.jsx | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/src/app/components/pages/components/tabs.jsx b/docs/src/app/components/pages/components/tabs.jsx index 22c6d990cda5db..e9127f7b24fc3d 100644 --- a/docs/src/app/components/pages/components/tabs.jsx +++ b/docs/src/app/components/pages/components/tabs.jsx @@ -55,6 +55,12 @@ export default class TabsPage extends React.Component { header: 'optional', desc: 'Override the inline-styles of the tab-labels container.', }, + { + name: 'tabTemplate', + type: 'ReactClass', + header: 'optional', + desc: 'Override the default tab template used to wrap the content of each tab element.', + }, { name: 'value', type: 'string or number', diff --git a/src/tabs/tabs.jsx b/src/tabs/tabs.jsx index d9b9f46763b3b1..5230b8a9447b9b 100644 --- a/src/tabs/tabs.jsx +++ b/src/tabs/tabs.jsx @@ -20,6 +20,7 @@ const Tabs = React.createClass({ initialSelectedIndex: React.PropTypes.number, inkBarStyle: React.PropTypes.object, tabItemContainerStyle: React.PropTypes.object, + tabTemplate: React.PropTypes.func, }, //for passing default theme context to children @@ -36,6 +37,7 @@ const Tabs = React.createClass({ getDefaultProps() { return { initialSelectedIndex : 0, + tabTemplate: TabTemplate, }; }, @@ -85,6 +87,7 @@ const Tabs = React.createClass({ style, tabWidth, tabItemContainerStyle, + tabTemplate, ...other, } = this.props; @@ -118,7 +121,7 @@ const Tabs = React.createClass({ } tabContent.push(tab.props.children ? - React.createElement(TabTemplate, { + React.createElement(tabTemplate, { key: index, selected: this._getSelected(tab, index), }, tab.props.children) : undefined);