##// END OF EJS Templates
Translation updates
Translation updates

File last commit:

r685:5f7e76d5 default
r720:e05355af default
Show More
panel.js
102 lines | 3.2 KiB | application/javascript | JavascriptLexer
/*
@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.
*/
/**
* Add the desired characters to the start and end of selection.
*
* @param start Start (left) text
* @param end End (right) text
*/
function addMarkToMsg(start, end) {
if (end.length == 0) {
return addTextToEachLineOfSelection(start);
}
var textareas = $('textarea');
for (var i = 0; i < textareas.length; i++) {
var textarea = textareas[i];
if (document.selection) {
textarea.focus();
var sel = document.selection.createRange();
sel.text = start + sel.text + end;
} else if (textarea.selectionStart || textarea.selectionStart == '0') {
textarea.focus();
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
var oldValue = textarea.value;
textarea.value = oldValue.substring(0, startPos) + start +
oldValue.substring(startPos, endPos) + end +
oldValue.substring(endPos, oldValue.length);
} else {
textarea.value += start + end;
}
}
return false;
}
/**
* Add text to the beginning of each selected line. Partially selected lines
* are included
*
* @param textToAdd Text to add to the each line
*/
function addTextToEachLineOfSelection(textToAdd) {
var textareas = $('textarea');
for (var i = 0; i < textareas.length; i++) {
var textarea = textareas[i];
if (document.selection) {
textarea.focus();
var sel = document.selection.createRange();
sel.text = start + sel.text + end;
} else if (textarea.selectionStart || textarea.selectionStart == '0') {
textarea.focus();
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
var oldValue = textarea.value;
var textBeforeSelection = oldValue.substring(0, startPos);
var selectionText = oldValue.substring(startPos, endPos)
.replace(/\n/g, '\n' + textToAdd);
textarea.value = textBeforeSelection + textToAdd +
selectionText +
oldValue.substring(endPos, oldValue.length);
} else {
textarea.value += textToAdd;
}
}
return false;
}