Sha256: b845b4338f2eb3d098f0d71c81900a73050b59b6bbba202d055c483aeaaca19a

Contents?: true

Size: 959 Bytes

Versions: 4

Compression:

Stored size: 959 Bytes

Contents

import Vue from 'vue';
import $ from 'jquery';

export default Vue.directive('asset-upload', {
  params: ['fallback-id', 'maxfiles'],
  bind: function() {
    let self = this,
        $el = $(self.el);

    if ( window.FileReader && Modernizr.draganddrop ) {
      if (self.params.fallbackId) {
        self.vm.hideFileField = true;
      }
      $el.filedrop({
        fallback_id:  self.params.fallbackId,
        url:          `${ PushType.Routes.adminPath }/media/upload`,
        paramname:    'asset[file]',
        maxfiles:     ( self.params.maxfiles || 1 ),
        maxfilesize:  35,
        dragOver:     function() { $(this).addClass('hover') },
        dragLeave:    function() { $(this).removeClass('hover') },
        drop:         function() { $(this).removeClass('hover') },
        uploadFinished: function(i, file, response, time) {
          self.vm.afterUpload(response.asset);
        }
      })
    } else {
      $el.hide()
    }
  }
})

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
push_type_admin-0.12.1 app/webpack/javascripts/directives/asset-upload.es6
push_type_admin-0.12.0 app/webpack/javascripts/directives/asset-upload.es6
push_type_admin-0.12.0.beta.1 app/webpack/javascripts/directives/asset-upload.es6
push_type_admin-0.11.2 app/webpack/javascripts/directives/asset-upload.es6