markdown shortcuts: Replace Ctrl+L with Ctrl+L+Shift for link insertion.

As Ctrl-L was interfering with browsers's Ctrl-L, the shortcut key
for link insertion is changed to Ctrl+L+Shift.
This commit is contained in:
YJDave
2018-01-24 16:40:52 +05:30
committed by Tim Abbott
parent ef42bb2e73
commit b519f1c640
2 changed files with 8 additions and 7 deletions

View File

@@ -354,6 +354,7 @@ people.add(bob);
event.keyCode = 76; event.keyCode = 76;
event.which = undefined; event.which = undefined;
event.ctrlKey = true; event.ctrlKey = true;
event.shiftKey = true;
compose.handle_keydown(event); compose.handle_keydown(event);
assert.equal("Any [link](url).", $('#compose-textarea').val()); assert.equal("Any [link](url).", $('#compose-textarea').val());
// Test if exec command is not enabled in browser. // Test if exec command is not enabled in browser.

View File

@@ -675,11 +675,11 @@ exports.handle_keydown = function (event) {
var code = event.keyCode || event.which; var code = event.keyCode || event.which;
var textarea = $("#compose-textarea"); var textarea = $("#compose-textarea");
var range = textarea.range(); var range = textarea.range();
var bKey = 66; var isBold = code === 66;
var iKey = 73; var isItalic = code === 73;
var lKey = 76; var isLink = code === 76 && event.shiftKey;
if ((code === bKey || code === iKey || code === lKey) && (event.ctrlKey || event.metaKey)) { if (isBold || isItalic || isLink && (event.ctrlKey || event.metaKey)) {
function add_markdown(markdown) { function add_markdown(markdown) {
var textarea = $("#compose-textarea"); var textarea = $("#compose-textarea");
var range = textarea.range(); var range = textarea.range();
@@ -689,21 +689,21 @@ exports.handle_keydown = function (event) {
event.preventDefault(); event.preventDefault();
} }
if (code === bKey) { if (isBold) {
// ctrl + b: Convert selected text to bold text // ctrl + b: Convert selected text to bold text
add_markdown("**" + range.text + "**"); add_markdown("**" + range.text + "**");
if (!range.length) { if (!range.length) {
textarea.caret(textarea.caret() - 2); textarea.caret(textarea.caret() - 2);
} }
} }
if (code === iKey) { if (isItalic) {
// ctrl + i: Convert selected text to italic text // ctrl + i: Convert selected text to italic text
add_markdown("*" + range.text + "*"); add_markdown("*" + range.text + "*");
if (!range.length) { if (!range.length) {
textarea.caret(textarea.caret() - 1); textarea.caret(textarea.caret() - 1);
} }
} }
if (code === lKey) { if (isLink) {
// ctrl + l: Insert a link to selected text // ctrl + l: Insert a link to selected text
add_markdown("[" + range.text + "](url)"); add_markdown("[" + range.text + "](url)");
var position = textarea.caret(); var position = textarea.caret();