##// END OF EJS Templates
If the first thread is created with not section existing yet, default tag will be added if it is the only one specified
If the first thread is created with not section existing yet, default tag will be added if it is the only one specified

File last commit:

r1639:ee493d1c default
r1658:b924e5d9 default
Show More
form.js
141 lines | 3.9 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 == 10 || 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 $fileSourceButton = $('#file-source-button');
if (window.localStorage) {
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();
}
$fileSourceButton.click(function() {
selectFileChoice();
});
} else {
$fileSourceButton.hide();
}
});