diff --git a/public/src/app.js b/public/src/app.js index 88da403680..a82c730ee2 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -288,6 +288,7 @@ var socket, var cursorEnd = postContentEl.value.length, selectionStart = postContentEl.selectionStart, selectionEnd = postContentEl.selectionEnd, + selectionLength = selectionEnd - selectionStart, target; if (e.target.nodeName === 'I') target = e.target; else if (e.target.nodeName === 'SPAN') target = e.target.querySelector('i'); @@ -324,6 +325,19 @@ var socket, postContentEl.selectionStart = cursorEnd+4; postContentEl.selectionEnd = postContentEl.value.length; break; + case 'icon-link': + if (selectionStart === selectionEnd) { + // Nothing selected + postContentEl.value = postContentEl.value + '[link text](link url)'; + postContentEl.selectionStart = cursorEnd+12; + postContentEl.selectionEnd = postContentEl.value.length - 1; + } else { + // Text selected + postContentEl.value = postContentEl.value.slice(0, selectionStart) + '[' + postContentEl.value.slice(selectionStart, selectionEnd) + '](link url)' + postContentEl.value.slice(selectionEnd); + postContentEl.selectionStart = selectionStart + selectionLength + 3; + postContentEl.selectionEnd = selectionEnd + 11; + } + break; } } }, false); diff --git a/public/templates/header.tpl b/public/templates/header.tpl index f4591e3ba2..252611a734 100644 --- a/public/templates/header.tpl +++ b/public/templates/header.tpl @@ -66,6 +66,7 @@ +