var messageEdit = function messageEdit(messageEl) {
messageEditReverse();
messageEl.classList.add("chat-message--editing");
var contentEl = messageEl.querySelector(".message");
messageEl.originalMessage = contentEl.outerHTML;
var formEl = document.getElementById("new-message-form").cloneNode(true);
formEl.id = "edit-message-form";
var inputEl = formEl.querySelector(".chat-input");
inputEl.id = "edit-message-input";
var submitEl = formEl.querySelector("button.submit");
//submitEl.id = "edit-message-input";
submitEl.remove();
contentEl.replaceWith(formEl);
inputEl.innerHTML = messageEl.rawMessage;
inputAddEventListeners(inputEl);
inputEl.addEventListener("keydown", function(event) {
switch(event.key){
case "Escape":
event.preventDefault();
messageEditReverse();
return false;
case "Enter":
event.preventDefault();
messageSend("/edit " + JSON.stringify({
id: parseInt(messageEl.dataset.id, 10),
message: this.innerHTML
}));
messageEditReverse();
return false;
}
});
// Apparently, .focus() doesn't work on contenteditable=true until one frame after.
inputFocusEnd(inputEl);
};