Sha256: 11555050bdbef83d883d8c9fea5ca45c492e2bd932107c12e85f9756e91273e0

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

class Lanes.Components.ImageSaver extends Lanes.React.Component

    propTypes:
        model: Lanes.PropTypes.Model
        name: React.PropTypes.string.isRequired

    listenNetworkEvents: true
    bindDataEvents: ->
        model: "change:#{@props.name} change:#{@props.name}_data"

    uploadImage: ->
        imageFormData = new FormData()
        imageFormData.append('imageFile', imageFile)

    handleImageChange: (ev) ->
        ev.preventDefault()
        @model.set("#{@props.name}_file", ev.target.files[0])

    renderImage: ->
        <img className="preview" src={@model.imageUrlFor('logo', 'thumb')} />

    render: ->
        value = if @model.hasImage(@props.name) then @renderImage() else null
        className = _.classnames(@props.className, 'image-saver', {'with-image': @model.hasImage(@props.name)})
        <LC.FieldWrapper {...@props} className={className} value={value}>
            {value}
            <form>
                <label className="selector">
                    {if value then 'Update' else 'Choose'}
                    <input id='file' className="file" type="file" onChange={@handleImageChange} />
                </label>
            </form>
        </LC.FieldWrapper>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lanes-0.4.0 client/lanes/components/shared/ImageSaver.cjsx
lanes-0.3.0 client/lanes/components/shared/ImageSaver.cjsx