blob: 0c164bbb9e667e9ff9fdf0a3f3485ada404234a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
/*
* quick-posts-controls.js
* https://github.com/savetheinternet/Tinyboard/blob/master/js/quick-posts-controls.js
*
* Released under the MIT license
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
*
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/quick-post-controls.js';
*
*/
$(document).ready(function(){
var open_form = function() {
var thread = $(this).parent().parent().hasClass('op');
var id = $(this).attr('name').match(/^delete_(\d+)$/)[1];
var submitButton;
if(this.checked) {
var post_form = $('<form class="post-actions" method="post" style="margin:10px 0 0 0">' +
'<div style="text-align:right">' +
(!thread ? '<hr>' : '') +
'<input type="hidden" name="delete_' + id + '">' +
'<label for="password_' + id + '">Password</label>: ' +
'<input id="password_' + id + '" type="password" name="password" size="11" maxlength="18">' +
'<input title="Delete file only" type="checkbox" name="file" id="delete_file_' + id + '">' +
'<label for="delete_file_' + id + '">File</label>' +
' <input type="submit" name="delete" value="Delete">' +
'<br>' +
'<label for="reason_' + id + '">Reason</label>: ' +
'<input id="reason_' + id + '" type="text" name="reason" size="20" maxlength="100">' +
' <input type="submit" name="report" value="Report">' +
'</div>' +
'</form>');
post_form
.attr('action', $('form:first').attr('action'))
.append($('input[name=board]:first').clone())
.find('input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"])').keypress(function(e) {
if(e.which == 13) {
e.preventDefault();
if($(this).attr('name') == 'password') {
post_form.find('input[name=delete]').click();
} else if($(this).attr('name') == 'reason') {
post_form.find('input[name=report]').click();
}
return false;
}
return true;
});
post_form.find('input[type="password"]').val(localStorage.password);
if(thread) {
post_form.prependTo($(this).parent().parent().find('div.body'));
} else {
post_form.appendTo($(this).parent().parent());
//post_form.insertBefore($(this));
}
} else {
var elm = $(this).parent().parent().find('form');
if(elm.attr('class') == 'post-actions')
elm.remove();
}
};
$('div.post input[type=checkbox].delete').each(function() {
$(this).change(open_form);
if(this.checked)
$(this).trigger('change');
});
});
|