##// END OF EJS Templates
Added image aliases to upload the same images (like "fake" or "gtfo")
Added image aliases to upload the same images (like "fake" or "gtfo")

File last commit:

r1468:14229bdf default
r1500:9178427e default
Show More
form.js
136 lines | 3.7 KiB | application/javascript | JavascriptLexer
var ITEM_FILE_SOURCE = 'fileSource';
$('input[name=image]').wrap($('<div class="file_wrap"></div>'));
$('body').on('change', 'input[name=image]', function(event) {
var file = event.target.files[0];
if(file.type.match('image.*')) {
var fileReader = new FileReader();
fileReader.addEventListener("load", function(event) {
var wrapper = $('.file_wrap');
wrapper.find('.file-thumb').remove();
wrapper.append(
$('<div class="file-thumb" style="background-image: url('+event.target.result+')"></div>')
);
});
fileReader.readAsDataURL(file);
}
});
var form = $('#form');
$('textarea').keypress(function(event) {
if (event.which == 13 && event.ctrlKey) {
form.find('input[type=submit]').click();
}
});
$('#preview-button').click(function() {
var data = {
raw_text: $('textarea').val()
}
var diffUrl = '/api/preview/';
$.post(diffUrl,
data,
function(data) {
var previewTextBlock = $('#preview-text');
previewTextBlock.html(data);
previewTextBlock.show();
})
});
/**
* Show text in the errors row of the form.
* @param form
* @param text
*/
function showAsErrors(form, text) {
form.children('.form-errors').remove();
if (text.length > 0) {
var errorList = $('<div class="form-errors">' + text + '<div>');
errorList.appendTo(form);
}
}
function addHiddenInput(form, name, value) {
form.find('input[name=' + name + ']').val(value);
}
function selectFileChoice() {
var file_input = $('#id_file');
var url_input = $('#id_file_url');
var file_input_row = file_input.parent().parent();
var url_input_row = url_input.parent().parent();
file_input_row.toggle();
url_input_row.toggle();
url_input.val('');
file_input.val('');
var source;
if (file_input_row.is(':visible')) {
source = 'file';
} else {
source = 'url';
}
localStorage.setItem(ITEM_FILE_SOURCE, source);
}
$(document).ready(function() {
var powDifficulty = parseInt($('body').attr('data-pow-difficulty'));
if (powDifficulty > 0 && typeof SharedWorker != 'undefined') {
var worker = new SharedWorker($('.post-form').attr('data-pow-script'));
worker.port.onmessage = function(e) {
var form = $('#form');
addHiddenInput(form, 'timestamp', e.data.timestamp);
addHiddenInput(form, 'iteration', e.data.iteration);
addHiddenInput(form, 'guess', e.data.guess);
form.submit();
$('.post-form-w').unblock();
};
worker.onerror = function(event){
throw new Error(event.message + " (" + event.filename + ":" + event.lineno + ")");
};
worker.port.start();
var form = $('#form');
var submitButton = form.find('input[type=submit]');
submitButton.click(function() {
showAsErrors(form, gettext('Computing PoW...'));
$('.post-form-w').block({ message: gettext('Computing PoW...') })
var msg = $('textarea').val().trim();
var data = {
msg: msg,
difficulty: parseInt($('body').attr('data-pow-difficulty')),
hasher: $('.post-form').attr('data-hasher')
};
worker.port.postMessage(data);
return false;
});
}
var source = localStorage.getItem(ITEM_FILE_SOURCE);
if (source == null) {
source = 'file';
}
if (source == 'file') {
$('#id_file_url').parent().parent().hide();
} else {
$('#id_file').parent().parent().hide();
}
$('#file-source-button').click(function() {
selectFileChoice();
});
});