forked from orf/simple
/
functions.js
63 lines (49 loc) · 1.56 KB
/
functions.js
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
// 100% stolen from yiransheng/simple
$.fn.autogrow = function(options) {
this.filter('textarea').each(function() {
var $this = $(this),
minHeight = $this.height(),
lineHeight = $this.css('lineHeight');
var shadow = $('<div></div>').css({
position: 'absolute',
top: -10000,
left: -10000,
width: $(this).width(),
fontSize: $this.css('fontSize'),
fontFamily: $this.css('fontFamily'),
lineHeight: $this.css('lineHeight'),
resize: 'none'
}).appendTo(document.body);
var update = function() {
var val = this.value.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/&/g, '&')
.replace(/\n/g, '<br/>');
shadow.html(val);
$(this).css('height', Math.max(shadow.height() + 60, minHeight));
}
$(this).change(update).keyup(update).keydown(update);
update.apply(this);
});
return this;
};
function issueSaveAjax(id, redirect){
var ptitle = $("#post_title").val();
var pcontent = $("#post_content").val();
var req = $.ajax({
type: "POST",
url:"/admin/save/"+id,
data: {title: ptitle,
content: pcontent}
});
req.done(function(message)
{
if (redirect)
{
var win = window.open("/preview/"+id, '_blank');
}
})
}
$(function() {
$('textarea').autogrow();
});