From 79bca59110793ddc3e88a04d2d5618144321e580 Mon Sep 17 00:00:00 2001 From: Aidas Klimas Date: Tue, 4 Feb 2014 11:31:53 +0200 Subject: [PATCH] feat: dynamically disable drop area --- README.md | 12 +++++++-- samples/dataurl/app.js | 50 +++++++++++++++++++++++++++++++++++++ samples/dataurl/flow.png | Bin 0 -> 17816 bytes samples/dataurl/index.html | 47 ++++++++++++++++++++++++++++++++++ src/directives/drop.js | 18 ++++++++++++- 5 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 samples/dataurl/app.js create mode 100644 samples/dataurl/flow.png create mode 100644 samples/dataurl/index.html diff --git a/README.md b/README.md index 4b8d0a9..1f39b5e 100644 --- a/README.md +++ b/README.md @@ -89,13 +89,21 @@ Use `flow-prevent-drop` directive on `body` element: ### How to add some styles while dropping a file? Use `flow-drag-enter` directive: ````html -
```` - Note: `flow-drag-leave` attribute can't be used alone, it is a part of `flow-drag-enter` directive. +### How to dynamically disable drop area? +````html +
+ Drag And Drop your file here +
+```` +See example at `samples/dataurl/`. + + How can I preview uploaded image? ============ diff --git a/samples/dataurl/app.js b/samples/dataurl/app.js new file mode 100644 index 0000000..a27d887 --- /dev/null +++ b/samples/dataurl/app.js @@ -0,0 +1,50 @@ +/*global angular */ +'use strict'; + +/** + * The main app module + * @name app + * @type {angular.Module} + */ +var app = angular.module('app', ['flow']) +.config(['flowFactoryProvider', function (flowFactoryProvider) { + flowFactoryProvider.defaults = { + target: 'upload.php', + permanentErrors: [404, 500, 501], + maxChunkRetries: 1, + chunkRetryInterval: 5000, + simultaneousUploads: 4 + }; + flowFactoryProvider.on('catchAll', function (event) { + console.log('catchAll', arguments); + }); + // Can be used with different implementations of Flow.js + // flowFactoryProvider.factory = fustyFlowFactory; +}]).directive('appDownloadUrl', [function () { + return { + restrict: 'A', + link: function(scope, element, attrs) { + element.bind('dragstart', function (event) { + var config = scope.$eval(attrs.appDownloadUrl); + if (!config.disabled) { + var data = config.mime + ':' + config.name + ':' + window.location.href + config.url; + event.dataTransfer.setData('DownloadURL', data); + } + }); + } + }; +}]).directive("appDragstart", [function () { + return function(scope, element, attrs) { + element.bind('dragstart', function (event) { + scope.$eval(attrs.appDragstart); + }); + } +}]).directive("appDragend", [function () { + return function(scope, element, attrs) { + element.bind('dragend', function (event) { + scope.$eval(attrs.appDragend); + }); + } +}]).run(function ($rootScope) { + $rootScope.dropEnabled = true; +}); \ No newline at end of file diff --git a/samples/dataurl/flow.png b/samples/dataurl/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..1b00d2a5815be38a76af01cf33ac627f661d89d3 GIT binary patch literal 17816 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 + + + Download url + + + + + + + + + + + + + + + +
+

Flow drag & drop and drop to desktop feature

+

Chrome browser only

+
+ +
+ Drag And Drop your file here
+ + Drag "flow.png" to desktop + +
+ +
    +
  • {{file.name}}
  • +
+
+ + \ No newline at end of file diff --git a/src/directives/drop.js b/src/directives/drop.js index e6a4076..b028ec0 100644 --- a/src/directives/drop.js +++ b/src/directives/drop.js @@ -4,7 +4,23 @@ angular.module('flow.drop', ['flow.init']) 'scope': false, 'require': '^flowInit', 'link': function(scope, element, attrs) { - scope.$flow.assignDrop(element); + if (attrs.flowDropEnabled) { + scope.$watch(attrs.flowDropEnabled, function (value) { + if (value) { + assignDrop(); + } else { + unAssignDrop(); + } + }); + } else { + assignDrop(); + } + function assignDrop() { + scope.$flow.assignDrop(element); + } + function unAssignDrop() { + scope.$flow.unAssignDrop(element); + } } }; });