mirror of
https://github.com/owncloudarchive/contacts.git
synced 2024-12-01 13:24:10 +01:00
8c3d7ccdba
Remove old combobox user bower for onfontresize Add jcrop + md5 Add files to scrutinizer ignore list Remove misplaced text Selected the right MultiSelect library via bower Move bower dependencies to correct location
120 lines
4.0 KiB
JavaScript
120 lines
4.0 KiB
JavaScript
/*
|
|
* jQuery File Upload Validation Plugin 1.1.2
|
|
* 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
|
|
*/
|
|
|
|
/* global define, window */
|
|
|
|
(function (factory) {
|
|
'use strict';
|
|
if (typeof define === 'function' && define.amd) {
|
|
// Register as an anonymous AMD module:
|
|
define([
|
|
'jquery',
|
|
'./jquery.fileupload-process'
|
|
], factory);
|
|
} else {
|
|
// Browser globals:
|
|
factory(
|
|
window.jQuery
|
|
);
|
|
}
|
|
}(function ($) {
|
|
'use strict';
|
|
|
|
// Append to the default processQueue:
|
|
$.blueimp.fileupload.prototype.options.processQueue.push(
|
|
{
|
|
action: 'validate',
|
|
// Always trigger this action,
|
|
// even if the previous action was rejected:
|
|
always: true,
|
|
// Options taken from the global options map:
|
|
acceptFileTypes: '@',
|
|
maxFileSize: '@',
|
|
minFileSize: '@',
|
|
maxNumberOfFiles: '@',
|
|
disabled: '@disableValidation'
|
|
}
|
|
);
|
|
|
|
// The File Upload Validation plugin extends the fileupload widget
|
|
// with file validation functionality:
|
|
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
|
|
|
|
options: {
|
|
/*
|
|
// The regular expression for allowed file types, matches
|
|
// against either file type or file name:
|
|
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
|
|
// The maximum allowed file size in bytes:
|
|
maxFileSize: 10000000, // 10 MB
|
|
// The minimum allowed file size in bytes:
|
|
minFileSize: undefined, // No minimal file size
|
|
// The limit of files to be uploaded:
|
|
maxNumberOfFiles: 10,
|
|
*/
|
|
|
|
// Function returning the current number of files,
|
|
// has to be overriden for maxNumberOfFiles validation:
|
|
getNumberOfFiles: $.noop,
|
|
|
|
// Error and info messages:
|
|
messages: {
|
|
maxNumberOfFiles: 'Maximum number of files exceeded',
|
|
acceptFileTypes: 'File type not allowed',
|
|
maxFileSize: 'File is too large',
|
|
minFileSize: 'File is too small'
|
|
}
|
|
},
|
|
|
|
processActions: {
|
|
|
|
validate: function (data, options) {
|
|
if (options.disabled) {
|
|
return data;
|
|
}
|
|
var dfd = $.Deferred(),
|
|
settings = this.options,
|
|
file = data.files[data.index],
|
|
fileSize;
|
|
if (options.minFileSize || options.maxFileSize) {
|
|
fileSize = file.size;
|
|
}
|
|
if ($.type(options.maxNumberOfFiles) === 'number' &&
|
|
(settings.getNumberOfFiles() || 0) + data.files.length >
|
|
options.maxNumberOfFiles) {
|
|
file.error = settings.i18n('maxNumberOfFiles');
|
|
} else if (options.acceptFileTypes &&
|
|
!(options.acceptFileTypes.test(file.type) ||
|
|
options.acceptFileTypes.test(file.name))) {
|
|
file.error = settings.i18n('acceptFileTypes');
|
|
} else if (fileSize > options.maxFileSize) {
|
|
file.error = settings.i18n('maxFileSize');
|
|
} else if ($.type(fileSize) === 'number' &&
|
|
fileSize < options.minFileSize) {
|
|
file.error = settings.i18n('minFileSize');
|
|
} else {
|
|
delete file.error;
|
|
}
|
|
if (file.error || data.files.error) {
|
|
data.files.error = true;
|
|
dfd.rejectWith(this, [data]);
|
|
} else {
|
|
dfd.resolveWith(this, [data]);
|
|
}
|
|
return dfd.promise();
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}));
|