Sha256: dbae0b252193dd92682fd42509d57ac60f9c74a10433b4f89628e7138f4952ad

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

##= require ./EditingMixin

Lanes.Components.Grid.PopoverMixin = {

    mixins: [
        Lanes.Components.Grid.EditingMixin
    ]

    propTypes:
        width:  React.PropTypes.number.isRequired
        height: React.PropTypes.number.isRequired

    getDefaultProps: ->
        width:  280, height: 350

    renderPopover: (child) ->
        props = _.extend({}, @props)
        {position} = @props
        if position.left > ((position.container.width / 2) - 150)
            props.placement = 'left'
            props.positionLeft = position.left - @props.width
        else
            props.placement = 'right'
            props.positionLeft = position.left
        props.arrowOffsetTop = Math.min(position.top + 20, (@props.height - 75))
        props.positionTop    = Math.max(5, position.top - props.arrowOffsetTop + (position.rowHeight / 2))

        <div className="editor po">
            <BS.Popover
                id="editing-form"
                {...props}
                style={height: @props.height, width: @props.width}
                title = "Edit #{@model.name || 'Record'}"
            >
                {@renderEditingBody()}
            </BS.Popover>
        </div>
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.5.6 client/lanes/components/grid/PopOverMixin.cjsx
lanes-0.5.5 client/lanes/components/grid/PopOverMixin.cjsx
lanes-0.5.0 client/lanes/components/grid/PopOverMixin.cjsx