diff --git a/guacamole/pom.xml b/guacamole/pom.xml
index 852f98f94..1d99627cf 100644
--- a/guacamole/pom.xml
+++ b/guacamole/pom.xml
@@ -135,7 +135,7 @@
lib/plugins/angular-route.js
lib/plugins/angular-translate.js
lib/plugins/angular-translate-loader-static-files.js
- lib/plugins/modal.js
+ lib/plugins/modal.min.js
lib/blob/blob.js
lib/filesaver/filesaver.js
license.txt
diff --git a/guacamole/src/main/webapp/lib/plugins/modal.js b/guacamole/src/main/webapp/lib/plugins/modal.js
deleted file mode 100644
index 5f460ecf2..000000000
--- a/guacamole/src/main/webapp/lib/plugins/modal.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*!
- * angular-modal v0.0.3
- * (c) 2013 Brian Ford http://briantford.com
- * License: MIT
- */
-
-'use strict';
-
-angular.module('btford.modal', []).
-factory('btfModal', function ($compile, $rootScope, $controller, $q, $http, $templateCache) {
- return function modalFactory (config) {
-
- if ((+!!config.template) + (+!!config.templateUrl) !== 1) {
- throw new Error('Expected modal to have exacly one of either `template` or `templateUrl`');
- }
-
- var template = config.template,
- controller = config.controller || angular.noop,
- controllerAs = config.controllerAs,
- container = angular.element(config.container || document.body),
- element = null,
- html;
-
- if (config.template) {
- var deferred = $q.defer();
- deferred.resolve(config.template);
- html = deferred.promise;
- } else {
- html = $http.get(config.templateUrl, {
- cache: $templateCache
- }).
- then(function (response) {
- return response.data;
- });
- }
-
- function activate (locals) {
- html.then(function (html) {
- if (!element) {
- attach(html, locals);
- }
- });
- }
-
- function attach (html, locals) {
- element = angular.element(html);
-
- /*
- * Changed by James Muehlner to append to the end of the document instead
- * of the beginning.
- */
- container.append(element);
- var scope = $rootScope.$new();
- if (locals) {
- for (var prop in locals) {
- scope[prop] = locals[prop];
- }
- }
- var ctrl = $controller(controller, { $scope: scope });
- if (controllerAs) {
- scope[controllerAs] = ctrl;
- }
- $compile(element)(scope);
- }
-
- function deactivate () {
- if (element) {
- element.remove();
- element = null;
- }
- }
-
- return {
- activate: activate,
- deactivate: deactivate
- };
- };
-});
diff --git a/guacamole/src/main/webapp/lib/plugins/modal.min.js b/guacamole/src/main/webapp/lib/plugins/modal.min.js
new file mode 100644
index 000000000..b357950a2
--- /dev/null
+++ b/guacamole/src/main/webapp/lib/plugins/modal.min.js
@@ -0,0 +1,7 @@
+/*
+ * @license
+ * angular-modal v0.4.0
+ * (c) 2013 Brian Ford http://briantford.com
+ * License: MIT
+ */
+"use strict";angular.module("btford.modal",[]).factory("btfModal",["$animate","$compile","$rootScope","$controller","$q","$http","$templateCache",function(e,t,r,n,o,a,l){return function(c){function i(e){return p.then(function(t){$||u(t,e)})}function u(o,a){if($=angular.element(o),0===$.length)throw new Error("The template contains no elements; you need to wrap text nodes");if(e.enter($,h),d=r.$new(),a)for(var l in a)d[l]=a[l];var c=n(s,{$scope:d});v&&(d[v]=c),t($)(d)}function m(){var t=o.defer();return $?e.leave($,function(){d.$destroy(),$=null,t.resolve()}):t.resolve(),t.promise}function f(){return!!$}if(!(!c.template^!c.templateUrl))throw new Error("Expected modal to have exacly one of either `template` or `templateUrl`");var p,d,s=(c.template,c.controller||angular.noop),v=c.controllerAs,h=angular.element(c.container||document.body),$=null;if(c.template){var g=o.defer();g.resolve(c.template),p=g.promise}else p=a.get(c.templateUrl,{cache:l}).then(function(e){return e.data});return{activate:i,deactivate:m,active:f}}}]);
\ No newline at end of file