summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/pomf.js146
1 files changed, 73 insertions, 73 deletions
diff --git a/js/pomf.js b/js/pomf.js
index c5474fb..ec69360 100644
--- a/js/pomf.js
+++ b/js/pomf.js
@@ -2,148 +2,148 @@
$(function() {
var uploadInput = $('#upload-input'),
uploadBtn = $('#upload-btn'),
- uploadFiles = $('#upload-filelist')
+ uploadFiles = $('#upload-filelist');
- var btnContent = ""
+ var btnContent = "";
if (!$.hasFileAPI()) {
- $('#no-file-api').show()
- uploadBtn.hide()
+ $('#no-file-api').show();
+ uploadBtn.hide();
}
- uploadBtn.cabinet(uploadInput)
+ uploadBtn.cabinet(uploadInput);
uploadBtn.on('dragenter', function(e) {
if (this === e.target) {
- $(this).addClass('drop')
- btnContent = $(this).html()
- $(this).html('Drop it here~')
+ $(this).addClass('drop');
+ btnContent = $(this).html();
+ $(this).html('Drop it here~');
}
- })
+ });
uploadBtn.on('drop', function(e) {
- $(this).trigger('dragleave')
- })
+ $(this).trigger('dragleave');
+ });
uploadBtn.on('dragleave', function(e) {
- node = e.target
+ node = e.target;
do {
if (node === this) {
- $(this).removeClass('drop')
- $(this).html(btnContent)
- break
+ $(this).removeClass('drop');
+ $(this).html(btnContent);
+ break;
}
- } while (node = node.parentNode)
- })
+ } while (node = node.parentNode);
+ });
var MAX_SIZE = (function(node) {
- var max = node.attr('data-max-size') || '120MiB'
- var num = parseInt(/([0-9,]+).*/.exec(max)[1].replace(',', ''))
- var unit = /(?:([KMGTPEZY])(i)?B|([BKMGTPEZY]))/.exec(max) || ["B", "", ""]
+ var max = node.attr('data-max-size') || '120MiB';
+ var num = parseInt(/([0-9,]+).*/.exec(max)[1].replace(',', ''));
+ var unit = /(?:([KMGTPEZY])(i)?B|([BKMGTPEZY]))/.exec(max) || ["B", "", ""];
var oneUnit = Math.pow(
(unit[2] === "i" ? 1024 : 1000),
'BKMGTPEZY'.indexOf(unit[1])
- )
+ );
- return num * oneUnit
- })(uploadInput)
+ return num * oneUnit;
+ })(uploadInput);
var createRow = function(filename, size, extra) {
var rowItem = $('<li class=file>'),
rowName = $('<span class=file-name>'),
rowProg = $('<div class="file-progress progress-outer">'),
rowSize = $('<span class=file-size>'),
- rowUrl = $('<span class=file-url>')
+ rowUrl = $('<span class=file-url>');
- rowItem.addClass(extra || '')
+ rowItem.addClass(extra || '');
- $('<div class=progress-inner>').appendTo(rowProg)
+ $('<div class=progress-inner>').appendTo(rowProg);
- rowItem.attr('data-filename', escape(filename))
- rowName.text(filename)
- rowSize.text(size)
+ rowItem.attr('data-filename', escape(filename));
+ rowName.text(filename);
+ rowSize.text(size);
- rowItem.append(rowName, rowProg, rowSize, rowUrl)
+ rowItem.append(rowName, rowProg, rowSize, rowUrl);
- return rowItem
- }
+ return rowItem;
+ };
uploadBtn.on('change', function(e) {
- uploadFiles.empty().removeClass('error completed')
+ uploadFiles.empty().removeClass('error completed');
var files = uploadInput[0].filelist;
files.forEach(function(file) {
- createRow(file.name, file.humanSize).appendTo(uploadFiles)
- })
+ createRow(file.name, file.humanSize).appendTo(uploadFiles);
+ });
- var totalRow = createRow('', files.humanSize, 'total')
- totalRow.appendTo(uploadFiles)
+ var totalRow = createRow('', files.humanSize, 'total');
+ totalRow.appendTo(uploadFiles);
if (files.size > MAX_SIZE) {
- uploadFiles.addClass('error')
+ uploadFiles.addClass('error');
$('.file-name', totalRow).html('onii-chan y-your upload is t-too big&hellip;');
- return
+ return;
}
- var up = files.upload("upload.php")
+ var up = files.upload("upload.php");
var eachRow = function(files, fn) {
- var hits = {}
+ var hits = {};
files.forEach(function(file) {
- ++hits[file.name] || (hits[file.name] = 0)
- var row = $($('li[data-filename="' + escape(file.name) + '"]')[hits[file.name] || 0])
- fn.call(row, row, file, files)
- })
- }
+ ++hits[file.name] || (hits[file.name] = 0);
+ var row = $($('li[data-filename="' + escape(file.name) + '"]')[hits[file.name] || 0]);
+ fn.call(row, row, file, files);
+ });
+ };
- var totalName = $('.file-name', totalRow)
+ var totalName = $('.file-name', totalRow);
up.on('uploadprogress', function(e, files) {
eachRow(files, function(row, file, files) {
- $('.progress-inner', row).width((file.percentUploaded * 100) + '%')
- })
- $('.progress-inner', totalRow).width((files.percentUploaded * 100) + '%')
- })
+ $('.progress-inner', row).width((file.percentUploaded * 100) + '%');
+ });
+ $('.progress-inner', totalRow).width((files.percentUploaded * 100) + '%');
+ });
up.on('uploadcomplete', function(e) {
- $('.progress-inner').width('100%')
- totalName.text('Grabbing URLs...')
- })
+ $('.progress-inner').width('100%');
+ totalName.text('Grabbing URLs...');
+ });
up.on('load', function(e, res) {
switch (e.target.status) {
case 200:
- var res = JSON.parse(res)
+ var res = JSON.parse(res);
if (!res.success) {
- uploadFiles.addClass('error')
- $('.file-name', totalRow).text('Something went wrong; try again later.')
- break
+ uploadFiles.addClass('error');
+ $('.file-name', totalRow).text('Something went wrong; try again later.');
+ break;
}
eachRow(res.files, function(row, file, files) {
- var link = $('<a>')
+ var link = $('<a>');
link.attr('href', file.url)
.attr('target', '_BLANK')
- .text(file.url.replace("http://", "").replace("https://", ""))
+ .text(file.url.replace("http://", "").replace("https://", ""));
- $('.file-url', row).append(link)
- })
- uploadFiles.addClass('completed')
- totalName.text('Done!')
- break
+ $('.file-url', row).append(link);
+ });
+ uploadFiles.addClass('completed');
+ totalName.text('Done!');
+ break;
case 413:
- uploadFiles.addClass('error completed')
+ uploadFiles.addClass('error completed');
// Terrible work-around, but necessary since otherwise the '&hellip;' entity is left decoded
totalName.html($('<div/>').html('onii-chan, y-your upload is t-too big&hellip;').text());
- break
+ break;
default:
- uploadFiles.addClass('error completed')
- totalName.text('Something went wrong; try again later.')
+ uploadFiles.addClass('error completed');
+ totalName.text('Something went wrong; try again later.');
}
- })
- up.upload()
- })
-})
+ });
+ up.upload();
+ });
+});