Sha256: 4de9d7b0120115b126b98d1641e46adcabb67dae987ffa1e6ab5ace60c3f17b0

Contents?: true

Size: 1.79 KB

Versions: 5

Compression:

Stored size: 1.79 KB

Contents

class TabView extends Lanes.React.Component

    setDataState: (nextState) ->
        if @model.active
            _.dom(document.head).qs('title').text = @model.title()
            @props.history.replace(@model.historyUrl())
        if Lanes.Screens.Definitions.displaying.length is 0
            @props.history.push('/')
        @setState(nextState)

    propTypes:
        history: React.PropTypes.shape(
            push: React.PropTypes.func
        ).isRequired

    activate: ->
        @props.history.push(@model.historyUrl())
        null

    close: -> @model.remove()

    render: ->
        <li key={@model.cid} className={_.classnames(active: @model.active)}>
            <a onClick={@activate} className='tab'>{@model.title()}</a>
            <LC.Icon type={@model.screen.icon} />
            <span onClick={@close} className='close'>×</span>
        </li>


class Lanes.Workspace.Tabs extends Lanes.React.Component
    propTypes:
        history: React.PropTypes.shape(
            push: React.PropTypes.func
        ).isRequired

    dataObjects:
        collection: -> Lanes.Screens.Definitions.displaying

    render: ->
        <div className="menu-container">
            <div className="active-screens">
                <div className="scroller scroller-left">
                    <i className="glyphicon glyphicon-chevron-left"/>
                </div>
                <div className="scroller scroller-right">
                    <i className="glyphicon glyphicon-chevron-right"/>
                </div>
                <div className="wrapper">
                    <ul className="nav nav-tabs">
                        { @collection.map (view) =>
                            <TabView {...@props} key={view.id} model=view /> }
                    </ul>
                </div>
            </div>
        </div>

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lanes-0.5.6 client/lanes/workspace/Tabs.cjsx
lanes-0.5.5 client/lanes/workspace/Tabs.cjsx
lanes-0.5.0 client/lanes/workspace/Tabs.cjsx
lanes-0.4.0 client/lanes/workspace/Tabs.cjsx
lanes-0.3.0 client/lanes/workspace/Tabs.cjsx