|
|
@ -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);
|
|
|
|
});
|
|
|
|
});
|
|
|
|