Merge pull request #3011 from thelounge/xpaw/upload-cursor
Fix up link insertion after uploads to be saner
This commit is contained in:
commit
0f4e29d60d
@ -1,10 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const socket = require("../socket");
|
const socket = require("../socket");
|
||||||
const wrapCursor = require("undate").wrapCursor;
|
const updateCursor = require("undate").update;
|
||||||
|
|
||||||
socket.on("upload:success", (url) => {
|
socket.on("upload:success", (url) => {
|
||||||
const fullURL = new URL(url, location);
|
const fullURL = (new URL(url, location)).toString();
|
||||||
const textbox = document.getElementById("input");
|
const textbox = document.getElementById("input");
|
||||||
wrapCursor(textbox, fullURL, " ");
|
const initStart = textbox.selectionStart;
|
||||||
|
|
||||||
|
// Get the text before the cursor, and add a space if it's not in the beginning
|
||||||
|
const headToCursor = initStart > 0 ? (textbox.value.substr(0, initStart) + " ") : "";
|
||||||
|
|
||||||
|
// Get the remaining text after the cursor
|
||||||
|
const cursorToTail = textbox.value.substr(initStart);
|
||||||
|
|
||||||
|
// Construct the value until the point where we want the cursor to be
|
||||||
|
const textBeforeTail = headToCursor + fullURL + " ";
|
||||||
|
|
||||||
|
updateCursor(textbox, textBeforeTail + cursorToTail);
|
||||||
|
|
||||||
|
// Set the cursor after the link and a space
|
||||||
|
textbox.selectionStart = textbox.selectionEnd = textBeforeTail.length;
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user