thread.js
57 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
neko259
|
r332 | /* | |
@licstart The following is the entire license notice for the | |||
JavaScript code in this page. | |||
Copyright (C) 2013 neko259 | |||
The JavaScript code in this page is free software: you can | |||
redistribute it and/or modify it under the terms of the GNU | |||
General Public License (GNU GPL) as published by the Free Software | |||
Foundation, either version 3 of the License, or (at your option) | |||
any later version. The code is distributed WITHOUT ANY WARRANTY; | |||
without even the implied warranty of MERCHANTABILITY or FITNESS | |||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. | |||
As additional permission under GNU GPL version 3 section 7, you | |||
may distribute non-source (e.g., minimized or compacted) forms of | |||
that code without the copy of the GNU GPL normally required by | |||
section 4, provided you include this license notice and a URL | |||
through which recipients can access the Corresponding Source. | |||
@licend The above is the entire license notice | |||
for the JavaScript code in this page. | |||
*/ | |||
neko259
|
r970 | var $html = $("html, body"); | |
Pavel Ryapolov
|
r106 | function moveCaretToEnd(el) { | |
if (typeof el.selectionStart == "number") { | |||
el.selectionStart = el.selectionEnd = el.value.length; | |||
} else if (typeof el.createTextRange != "undefined") { | |||
el.focus(); | |||
var range = el.createTextRange(); | |||
range.collapse(false); | |||
range.select(); | |||
} | |||
} | |||
neko259
|
r97 | function addQuickReply(postId) { | |
neko259
|
r744 | var textToAdd = '[post]' + postId + '[/post]\n'; | |
neko259
|
r629 | var selection = window.getSelection().toString(); | |
if (selection.length > 0) { | |||
neko259
|
r744 | textToAdd += '[quote]' + selection + '[/quote]\n'; | |
neko259
|
r629 | } | |
neko259
|
r439 | var textAreaId = 'textarea'; | |
Pavel Ryapolov
|
r107 | $(textAreaId).val($(textAreaId).val()+ textToAdd); | |
neko259
|
r97 | ||
neko259
|
r439 | var textarea = document.getElementsByTagName('textarea')[0]; | |
Pavel Ryapolov
|
r107 | $(textAreaId).focus(); | |
Pavel Ryapolov
|
r106 | moveCaretToEnd(textarea); | |
neko259
|
r970 | $html.animate({ scrollTop: $(textAreaId).offset().top }, "slow"); | |
neko259
|
r97 | } | |
neko259
|
r671 | ||
neko259
|
r686 | function scrollToBottom() { | |
neko259
|
r970 | $html.animate({scrollTop: $html.height()}, "fast"); | |
} |