# HG changeset patch # User rt@lightning # Date 2013-09-22 04:04:42 # Node ID 8e4f78c841e927bcc1c8e71f8cf798e929421c42 # Parent 13c7145f491fb3e7159950440e01f62bfac187f5 add mark panel diff --git a/boards/static/js/main.js b/boards/static/js/main.js --- a/boards/static/js/main.js +++ b/boards/static/js/main.js @@ -14,4 +14,5 @@ addRefLinkMap(); addPopups(); -}) + addMarkPanel(); +}); diff --git a/boards/static/js/panel.js b/boards/static/js/panel.js new file mode 100644 --- /dev/null +++ b/boards/static/js/panel.js @@ -0,0 +1,34 @@ +function addMarkToMsg(start, end) { + var textarea = document.getElementById('id_text'); + if(!textarea) return; + if( document.selection ) { + textarea.focus(); + 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; + textarea.value = textarea.value.substring(0, startPos) + start + textarea.value.substring(startPos, endPos) + end + textarea.value.substring( endPos, textarea.value.length ); + } else { + textarea.value += start + end; + } + return false; +} + +function addMarkPanel() { + $('.mark_btn').on('click', function() { + switch($(this).attr('id')) { + case "italic": + return addMarkToMsg('_', '_'); + case "bold": + return addMarkToMsg('__', '__'); + case "spoiler": + return addMarkToMsg('%%', '%%'); + case "comment": + return addMarkToMsg('//', ''); + case "quote": + return addMarkToMsg('>', ''); + } + }); +}