diff --git a/js/app/App.js b/js/app/App.js index 1ac6305c6..1a77c69cc 100644 --- a/js/app/App.js +++ b/js/app/App.js @@ -47,12 +47,14 @@ import angularuiselect from 'ui-select'; import ngsortable from 'ng-sortable'; import md from 'angular-markdown-it'; import nganimate from 'angular-animate'; +import 'angular-file-upload'; var app = angular.module('Deck', [ ngsanitize, uirouter, angularuiselect, - ngsortable, md, nganimate + ngsortable, md, nganimate, + 'angularFileUpload' ]); export default app; diff --git a/js/app/Config.js b/js/app/Config.js index a4f7acd91..b6fa53b29 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -82,4 +82,22 @@ app.config(function ($provide, $interpolateProvider, $httpProvider, $urlRouterPr } }); + $provide.decorator('nvFileOverDirective', function ($delegate) { + var directive = $delegate[0], + link = directive.link; + + directive.compile = function () { + return function (scope, element, attrs) { + var overClass = attrs.overClass || 'nv-file-over'; + link.apply(this, arguments); + element.on('dragleave', function (event) { + element.removeClass(overClass); + event.stopPropagation(); + }); + }; + }; + + return $delegate; + }); + }); diff --git a/js/package-lock.json b/js/package-lock.json index fdc3b7f8f..4016c8ef4 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -405,6 +405,11 @@ "resolved": "https://registry.npmjs.org/angular-animate/-/angular-animate-1.7.2.tgz", "integrity": "sha512-/MQL2FEFXhdzFUKJ9AJq6gAYz3YGsh2xHTztuQKY5FkqjEBpF5YGypgprTz153P7t51T8nFqLsG8jwkpRdM6gg==" }, + "angular-file-upload": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/angular-file-upload/-/angular-file-upload-2.5.0.tgz", + "integrity": "sha1-D1PJP7xw7YuoNAqaKJumS2gOIWc=" + }, "angular-markdown-it": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/angular-markdown-it/-/angular-markdown-it-0.6.1.tgz", diff --git a/js/package.json b/js/package.json index e41be092b..40785e575 100644 --- a/js/package.json +++ b/js/package.json @@ -10,6 +10,7 @@ "dependencies": { "angular": "^1.7.1", "angular-animate": "^1.7.2", + "angular-file-upload": "^2.5.0", "angular-markdown-it": "^0.6.1", "angular-sanitize": "^1.7.2", "markdown-it": "^8.4.1",