Sha256: 3429d45d2cc22103017b05aa0e0e7b8c5068a3ac0b1d8a74da0d320ead7a542b

Contents?: true

Size: 1.19 KB

Versions: 37

Compression:

Stored size: 1.19 KB

Contents

#= require ../shared/asset_picker_view

Locomotive.Views.ThemeAssets ||= {}

class Locomotive.Views.ThemeAssets.ImagePickerView extends Locomotive.Views.Shared.AssetPickerView

  events:
    'click ul.list a':  'select_asset'

  initialize: ->
    @collection ||= new Locomotive.Models.ThemeAssetsCollection()
    super

  template: ->
    ich.theme_image_picker

  fetch_assets: ->
    @_reset()
    @collection.fetch
      data:
        content_type: 'image'
      success: () =>
        @open()

  build_uploader: (el, link) ->
    link.bind 'click', (event) ->
      event.stopPropagation() & event.preventDefault()
      el.click()

    el.bind 'change', (event) =>
      _.each event.target.files, (file) =>
        asset = new Locomotive.Models.ThemeAsset(source: file)
        asset.save {},
          headers:  { 'X-Flash': true }
          success:  (model) => @collection.add(model)
          error:    => @shake()

  select_asset: (event) ->
    event.stopPropagation() & event.preventDefault()
    if @options.on_select
      @options.on_select($(event.target).html())

  add_asset: (asset) ->
    @$('ul.list').append(ich.theme_asset(asset.toJSON()))
    @_refresh()

  _reset: ->
    @$('ul.list').empty()

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
locomotive_cms-2.5.7 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.6 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.6.rc2 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.6.rc1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.5 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.4 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.3 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.2 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.0 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.0.rc3 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.0.rc2 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.5.0.rc1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.4.1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.4.0 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.3.1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.3.0 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.2.3 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.2.2 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee
locomotive_cms-2.2.1 app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee