v1.18.x
psychobunny 11 years ago
parent 1058d54c52
commit 22a3794c51

@ -210,13 +210,17 @@ define(['taskbar'], function(taskbar) {
selectionEnd = postContentEl.selectionEnd, selectionEnd = postContentEl.selectionEnd,
selectionLength = selectionEnd - selectionStart; selectionLength = selectionEnd - selectionStart;
function insertIntoInput(element, value) {
var start = postContentEl.selectionStart;
element.value = element.value.slice(0, start) + value + element.value.slice(start, element.value.length);
postContentEl.selectionStart = postContentEl.selectionEnd = start + value.length;
}
switch(iconClass) { switch(iconClass) {
case 'icon-bold': case 'icon-bold':
if (selectionStart === selectionEnd) { if (selectionStart === selectionEnd) {
// Nothing selected // Nothing selected
postContentEl.value = postContentEl.value + '**bolded text**'; insertIntoInput(postContentEl, "**bolded text**");
postContentEl.selectionStart = cursorEnd+2;
postContentEl.selectionEnd = postContentEl.value.length - 2;
} else { } else {
// Text selected // Text selected
postContentEl.value = postContentEl.value.slice(0, selectionStart) + '**' + postContentEl.value.slice(selectionStart, selectionEnd) + '**' + postContentEl.value.slice(selectionEnd); postContentEl.value = postContentEl.value.slice(0, selectionStart) + '**' + postContentEl.value.slice(selectionStart, selectionEnd) + '**' + postContentEl.value.slice(selectionEnd);
@ -227,9 +231,7 @@ define(['taskbar'], function(taskbar) {
case 'icon-italic': case 'icon-italic':
if (selectionStart === selectionEnd) { if (selectionStart === selectionEnd) {
// Nothing selected // Nothing selected
postContentEl.value = postContentEl.value + '*italicised text*'; insertIntoInput(postContentEl, "*italicised text*");
postContentEl.selectionStart = cursorEnd+1;
postContentEl.selectionEnd = postContentEl.value.length - 1;
} else { } else {
// Text selected // Text selected
postContentEl.value = postContentEl.value.slice(0, selectionStart) + '*' + postContentEl.value.slice(selectionStart, selectionEnd) + '*' + postContentEl.value.slice(selectionEnd); postContentEl.value = postContentEl.value.slice(0, selectionStart) + '*' + postContentEl.value.slice(selectionStart, selectionEnd) + '*' + postContentEl.value.slice(selectionEnd);
@ -239,16 +241,12 @@ define(['taskbar'], function(taskbar) {
break; break;
case 'icon-list': case 'icon-list':
// Nothing selected // Nothing selected
postContentEl.value = postContentEl.value + "\n\n* list item"; insertIntoInput(postContentEl, "\n\n* list item");
postContentEl.selectionStart = cursorEnd+4;
postContentEl.selectionEnd = postContentEl.value.length;
break; break;
case 'icon-link': case 'icon-link':
if (selectionStart === selectionEnd) { if (selectionStart === selectionEnd) {
// Nothing selected // Nothing selected
postContentEl.value = postContentEl.value + '[link text](link url)'; insertIntoInput(postContentEl, "[link text](link url)");
postContentEl.selectionStart = cursorEnd+12;
postContentEl.selectionEnd = postContentEl.value.length - 1;
} else { } else {
// Text selected // Text selected
postContentEl.value = postContentEl.value.slice(0, selectionStart) + '[' + postContentEl.value.slice(selectionStart, selectionEnd) + '](link url)' + postContentEl.value.slice(selectionEnd); postContentEl.value = postContentEl.value.slice(0, selectionStart) + '[' + postContentEl.value.slice(selectionStart, selectionEnd) + '](link url)' + postContentEl.value.slice(selectionEnd);
@ -258,6 +256,7 @@ define(['taskbar'], function(taskbar) {
break; break;
} }
}); });
window.addEventListener('resize', function() { window.addEventListener('resize', function() {
if (composer.active !== undefined) composer.reposition(composer.active); if (composer.active !== undefined) composer.reposition(composer.active);
}); });

Loading…
Cancel
Save