Sha256: 6cbcda825cc97b339010041b1f2b0acc47d4f8ede6c6f58dea58390352c80bd5

Contents?: true

Size: 1.57 KB

Versions: 6

Compression:

Stored size: 1.57 KB

Contents

angular.module('flow.dragEvents', ['flow.init'])
/**
 * @name flowPreventDrop
 * Prevent loading files then dropped on element
 */
  .directive('flowPreventDrop', function() {
    return {
      'scope': false,
      'link': function(scope, element, attrs) {
        element.bind('drop dragover', function (event) {
          event.preventDefault();
        });
      }
    };
  })
/**
 * @name flowDragEnter
 * executes `flowDragEnter` and `flowDragLeave` events
 */
  .directive('flowDragEnter', ['$timeout', function($timeout) {
    return {
      'scope': false,
      'link': function(scope, element, attrs) {
        var promise;
        var enter = false;
        element.bind('dragover', function (event) {
          if (!isFileDrag(event)) {
            return ;
          }
          if (!enter) {
            scope.$apply(attrs.flowDragEnter);
            enter = true;
          }
          $timeout.cancel(promise);
          event.preventDefault();
        });
        element.bind('dragleave drop', function (event) {
          promise = $timeout(function () {
            scope.$eval(attrs.flowDragLeave);
            promise = null;
            enter = false;
          }, 100);
        });
        function isFileDrag(dragEvent) {
          var fileDrag = false;
          var dataTransfer = dragEvent.dataTransfer || dragEvent.originalEvent.dataTransfer;
          angular.forEach(dataTransfer && dataTransfer.types, function(val) {
            if (val === 'Files') {
              fileDrag = true;
            }
          });
          return fileDrag;
        }
      }
    };
  }]);

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
kms-0.9.0 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js
kms-0.8.0 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js
kms-0.7.0 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js
kms-0.6.0 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js
kms-0.5.0 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js
kms-0.4.2 vendor/assets/bower_components/ng-flow/src/directives/drag-events.js