Sha256: 55e27f2855c61074b4f787f85b48565b5e5a30d06792b43566d180acc5e6b7f2
Contents?: true
Size: 1.44 KB
Versions: 5
Compression:
Stored size: 1.44 KB
Contents
Rev.registerComponent 'StatelessTabs', getDefaultProps: -> activeKey: null onChange: () -> # noop getActiveKey: -> @props.activeKey or @getNormalizedChildren()[0]?.key renderTab: (child) -> className = @classSet active: child.key == @getActiveKey() 'RevTabs-tab': true <dd key={child.key} className={className} onClick={@handleTabClick(child)}> {child.props.tab} </dd> renderContent: (child) -> newProps = key: child.key newProps.active = true if child.key == @getActiveKey() React.addons.cloneWithProps child, newProps render: -> children = @getNormalizedChildren() dlClassName = @classSet 'RevTabs-tabs': true tabs: true vertical: @props.vertical <div className='RevTabs'> <dl className={dlClassName}> {children.map @renderTab} </dl> <div className="RevTabs-content tabs-content"> {children.map @renderContent} </div> </div> handleTabClick: (activeTab) -> (e) => e.preventDefault() e.stopPropagation() e.activeTab = activeTab @props.onChange(e) Rev.registerComponent 'Tabs', getDefaultProps: -> onChange: () -> # noop getInitialState: -> activeKey: @props.activeKey render: -> <Rev.Components.StatelessTabs {...@props} activeKey={@state.activeKey} onChange={@handleChange} /> handleChange: (e) -> @setState activeKey: e.activeTab.key @props.onChange e
Version data entries
5 entries across 5 versions & 1 rubygems