##// END OF EJS Templates
Made post preview border less 'invasive'
Made post preview border less 'invasive'

File last commit:

r685:5f7e76d5 default
r711:849df175 default
Show More
panel.js
102 lines | 3.2 KiB | application/javascript | JavascriptLexer
neko259
Added copyright to the JS code.
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
Added proper formatting when several lines are selected
r440 /**
* Add the desired characters to the start and end of selection.
neko259
Fixed adding text to multiple lines with formatting panel
r685 *
neko259
Added proper formatting when several lines are selected
r440 * @param start Start (left) text
* @param end End (right) text
*/
rt@lightning
add mark panel
r228 function addMarkToMsg(start, end) {
neko259
Added proper formatting when several lines are selected
r440 if (end.length == 0) {
return addTextToEachLineOfSelection(start);
}
neko259
Refactored formatting panel code
r684 var textareas = $('textarea');
neko259
Updated form to a new style. Fixed mark manel
r680
for (var i = 0; i < textareas.length; i++) {
var textarea = textareas[i];
neko259
Refactored formatting panel code
r684 if (document.selection) {
neko259
Updated form to a new style. Fixed mark manel
r680 textarea.focus();
neko259
Refactored formatting panel code
r684
neko259
Updated form to a new style. Fixed mark manel
r680 var sel = document.selection.createRange();
sel.text = start + sel.text + end;
neko259
Refactored formatting panel code
r684 } else if (textarea.selectionStart || textarea.selectionStart == '0') {
neko259
Updated form to a new style. Fixed mark manel
r680 textarea.focus();
neko259
Refactored formatting panel code
r684
neko259
Updated form to a new style. Fixed mark manel
r680 var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
neko259
Refactored formatting panel code
r684
var oldValue = textarea.value;
textarea.value = oldValue.substring(0, startPos) + start +
oldValue.substring(startPos, endPos) + end +
oldValue.substring(endPos, oldValue.length);
neko259
Updated form to a new style. Fixed mark manel
r680 } else {
textarea.value += start + end;
}
rt@lightning
add mark panel
r228 }
neko259
Refactored formatting panel code
r684
rt@lightning
add mark panel
r228 return false;
neko259
Added proper formatting when several lines are selected
r440 }
/**
* Add text to the beginning of each selected line. Partially selected lines
* are included
neko259
Fixed adding text to multiple lines with formatting panel
r685 *
* @param textToAdd Text to add to the each line
neko259
Added proper formatting when several lines are selected
r440 */
function addTextToEachLineOfSelection(textToAdd) {
neko259
Fixed adding text to multiple lines with formatting panel
r685 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();
neko259
Added proper formatting when several lines are selected
r440
neko259
Fixed adding text to multiple lines with formatting panel
r685 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;
neko259
Added proper formatting when several lines are selected
r440 }
neko259
Fixed adding text to multiple lines with formatting panel
r685 }
neko259
Added proper formatting when several lines are selected
r440
neko259
Fixed adding text to multiple lines with formatting panel
r685 return false;
neko259
Refactored formatting panel code
r684 }