diff options
author | friendica <info@friendica.com> | 2014-01-19 14:08:21 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-01-19 14:08:21 -0800 |
commit | f3a7bf913f3bb03c1601b105271daf77df4e3bbb (patch) | |
tree | b7a2c2ddcf1440f2df61c5bace571a76e13e3e18 /library/jqupload/js/app.js | |
parent | 724ad4505628d493b43b4f585512d67dc0b4ee76 (diff) | |
download | volse-hubzilla-f3a7bf913f3bb03c1601b105271daf77df4e3bbb.tar.gz volse-hubzilla-f3a7bf913f3bb03c1601b105271daf77df4e3bbb.tar.bz2 volse-hubzilla-f3a7bf913f3bb03c1601b105271daf77df4e3bbb.zip |
add the jquery file uploader. Have been suggesting this as a replacement for the valum uploaders for quite some time - as there is client resize ability and no license incompatibilities. It still requires integration.
Diffstat (limited to 'library/jqupload/js/app.js')
-rw-r--r-- | library/jqupload/js/app.js | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/library/jqupload/js/app.js b/library/jqupload/js/app.js new file mode 100644 index 000000000..47b4f923b --- /dev/null +++ b/library/jqupload/js/app.js @@ -0,0 +1,101 @@ +/* + * jQuery File Upload Plugin Angular JS Example 1.2.1 + * https://github.com/blueimp/jQuery-File-Upload + * + * Copyright 2013, Sebastian Tschan + * https://blueimp.net + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ + +/* jshint nomen:false */ +/* global window, angular */ + +(function () { + 'use strict'; + + var isOnGitHub = window.location.hostname === 'blueimp.github.io', + url = isOnGitHub ? '//jquery-file-upload.appspot.com/' : 'server/php/'; + + angular.module('demo', [ + 'blueimp.fileupload' + ]) + .config([ + '$httpProvider', 'fileUploadProvider', + function ($httpProvider, fileUploadProvider) { + delete $httpProvider.defaults.headers.common['X-Requested-With']; + fileUploadProvider.defaults.redirect = window.location.href.replace( + /\/[^\/]*$/, + '/cors/result.html?%s' + ); + if (isOnGitHub) { + // Demo settings: + angular.extend(fileUploadProvider.defaults, { + // Enable image resizing, except for Android and Opera, + // which actually support image resizing, but fail to + // send Blob objects via XHR requests: + disableImageResize: /Android(?!.*Chrome)|Opera/ + .test(window.navigator.userAgent), + maxFileSize: 5000000, + acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i + }); + } + } + ]) + + .controller('DemoFileUploadController', [ + '$scope', '$http', '$filter', '$window', + function ($scope, $http) { + $scope.options = { + url: url + }; + if (!isOnGitHub) { + $scope.loadingFiles = true; + $http.get(url) + .then( + function (response) { + $scope.loadingFiles = false; + $scope.queue = response.data.files || []; + }, + function () { + $scope.loadingFiles = false; + } + ); + } + } + ]) + + .controller('FileDestroyController', [ + '$scope', '$http', + function ($scope, $http) { + var file = $scope.file, + state; + if (file.url) { + file.$state = function () { + return state; + }; + file.$destroy = function () { + state = 'pending'; + return $http({ + url: file.deleteUrl, + method: file.deleteType + }).then( + function () { + state = 'resolved'; + $scope.clear(file); + }, + function () { + state = 'rejected'; + } + ); + }; + } else if (!file.$cancel && !file._index) { + file.$cancel = function () { + $scope.clear(file); + }; + } + } + ]); + +}()); |