Sha256: 0440c3f92442cf21a342b37e02726ddfe2d95a6d93ffaeb117d0aeb27ca43410
Contents?: true
Size: 1.26 KB
Versions: 14
Compression:
Stored size: 1.26 KB
Contents
Rev.registerComponent 'StatelessTabsAccordion', getDefaultProps: -> onChange: () -> # noop activeKey: null getActiveKey: -> @props.activeKey or @getNormalizedChildren()[0]?.key render: -> <ul className="RevAccordion accordion"> {@getNormalizedChildren().map @renderChild} </ul> renderChild: (child) -> active = child.key == @getActiveKey() className = @classSet "RevTabsAccordion": true "RevTabsAccordion is-active": true "accordion-navigation": true "active": active tab = React.addons.cloneWithProps child.props.tab, onClick: @handleTabClick child content = React.addons.cloneWithProps child, active: active <li key={child.key} className={className}> {tab} {content} </li> handleTabClick: (activeTab) -> (e) => e.preventDefault() e.stopPropagation() e.activeTab = activeTab @props.onChange(e) Rev.registerComponent 'TabsAccordion', getDefaultProps: -> onChange: () -> # noop getInitialState: -> activeKey: null render: -> <Rev.Components.StatelessTabsAccordion {...@props} activeKey={@state.activeKey} onChange={@handleChange} /> handleChange: (e) -> @setState activeKey: e.activeTab.key @props.onChange e
Version data entries
14 entries across 14 versions & 1 rubygems