Sha256: 6439ab51e6ec654676a8f967ab1351a784aed793317f61858df48a9cc489b845

Contents?: true

Size: 1.9 KB

Versions: 3

Compression:

Stored size: 1.9 KB

Contents

class ScreenList extends Lanes.React.Component

    activateScreen: (ev) ->
        ev.preventDefault()
        @model.display().then (screen) =>
            @context.viewport.history.push(screen.historyUrl())

    render: ->
        <li>
            <a href="#" onClick={@activateScreen}>
                <span>{@model.title}</span><LC.Icon type={@model.icon} />
            </a>
        </li>


class ScreenGroup extends Lanes.React.Component

    toggleActive: (ev) ->
        ev.preventDefault()
        @model.active = !@model.active
        undefined

    render: ->
        screens = @model.screens().map (list) =>
            <ScreenList {...@props} model=list key=list.id />

        <li className={_.classnames("group", active: @model.active)} onClick={@toggleActive}>
            <a className="heading" href="#">
                <span>{@model.title}</span>
                <i className={"icon icon-#{@model.icon}"}></i>
            </a>
            <ul>{screens}</ul>
        </li>

class Lanes.Workspace.ScreensMenu extends Lanes.React.Component

    modelBindings:
        user: -> Lanes.current_user

    renderGroup: (group) ->
        <ScreenGroup {...@props} model=group key=group.id />

    logOut: (ev) ->
        ev.preventDefault()
        Lanes.current_user.logout()

    render: ->
        <div className="screens-menu">
            <div className="screens-menu-content">
                <ul className="navigation">
                    {Lanes.Screens.Definitions.groups.available().map @renderGroup}
                </ul>
            </div>
            <ul className="navigation">
                <li className="group logout" data-tooltip-message="Log Out" data-placement="right">
                    <a href="#" name="LogOut" onClick={@logOut}>
                        <span>Log Out</span>
                        <LC.Icon type='times' />
                    </a>
                </li>
            </ul>
        </div>

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.7.0 client/lanes/workspace/ScreensMenu.cjsx
lanes-0.6.1 client/lanes/workspace/ScreensMenu.cjsx
lanes-0.6.0 client/lanes/workspace/ScreensMenu.cjsx