add basic insertAtCursor

This commit is contained in:
Elliot Fosong 2017-07-07 10:41:49 +01:00
parent 85ecc582b4
commit 6fbf38f6ba
4 changed files with 59 additions and 8 deletions

File diff suppressed because one or more lines are too long

View File

@ -16357,6 +16357,24 @@ function drawLink(editor) {
_replaceSelection(cm, stat.link, options.insertTexts.link, url); _replaceSelection(cm, stat.link, options.insertTexts.link, url);
} }
/**
* Insert image at cursor
*/
function insertAtCursor(cm, text, url, desc, point) {
var start = text[0];
var end = text[1];
if(typeof point != "undefined") {
point = cm.coordsChar(point);
} else {
point = cm.getCursor("start");
}
start = start.replace("#desc#", desc);
end = end.replace("#url#", url);
cm.replaceRange(start + end, point);
cm.focus();
}
/** /**
* Action for drawing an img. * Action for drawing an img.
*/ */
@ -16364,7 +16382,6 @@ function drawImage(editor, url, desc) {
url = (typeof url != "undefined") ? url : "http://"; url = (typeof url != "undefined") ? url : "http://";
desc = (typeof desc != "undefined") ? desc : ""; desc = (typeof desc != "undefined") ? desc : "";
var cm = editor.codemirror; var cm = editor.codemirror;
var stat = getState(cm);
var options = editor.options; var options = editor.options;
if(options.promptURLs) { if(options.promptURLs) {
url = prompt(options.promptTexts.image); url = prompt(options.promptTexts.image);
@ -16372,7 +16389,7 @@ function drawImage(editor, url, desc) {
return false; return false;
} }
} }
_replaceSelection(cm, stat.image, options.insertTexts.image, url, desc); insertAtCursor(cm, options.insertTexts.image, url, desc);
} }
/** /**

File diff suppressed because one or more lines are too long

View File

@ -627,6 +627,24 @@ function drawLink(editor) {
_replaceSelection(cm, stat.link, options.insertTexts.link, url); _replaceSelection(cm, stat.link, options.insertTexts.link, url);
} }
/**
* Insert image at cursor
*/
function insertAtCursor(cm, text, url, desc, point) {
var start = text[0];
var end = text[1];
if(typeof point != "undefined") {
point = cm.coordsChar(point);
} else {
point = cm.getCursor("start");
}
start = start.replace("#desc#", desc);
end = end.replace("#url#", url);
cm.replaceRange(start + end, point);
cm.focus();
}
/** /**
* Action for drawing an img. * Action for drawing an img.
*/ */
@ -634,7 +652,6 @@ function drawImage(editor, url, desc) {
url = (typeof url != "undefined") ? url : "http://"; url = (typeof url != "undefined") ? url : "http://";
desc = (typeof desc != "undefined") ? desc : ""; desc = (typeof desc != "undefined") ? desc : "";
var cm = editor.codemirror; var cm = editor.codemirror;
var stat = getState(cm);
var options = editor.options; var options = editor.options;
if(options.promptURLs) { if(options.promptURLs) {
url = prompt(options.promptTexts.image); url = prompt(options.promptTexts.image);
@ -642,7 +659,7 @@ function drawImage(editor, url, desc) {
return false; return false;
} }
} }
_replaceSelection(cm, stat.image, options.insertTexts.image, url, desc); insertAtCursor(cm, options.insertTexts.image, url, desc);
} }
/** /**