From 7ca69e61dae80b6d66c934f273c4dfeaad433b87 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2015 01:37:19 +0300 Subject: [PATCH] Editor: sticky .CodeMirror-active class for code boxes It is retained when a child search/jump minidialog is focused unlike the built-in .CodeMirror-focused --- edit.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/edit.js b/edit.js index d884fd44..94522ad3 100644 --- a/edit.js +++ b/edit.js @@ -310,8 +310,16 @@ function setupCodeMirror(textarea, index) { cm.on("blur", function(cm) { editors.lastActive = cm; hotkeyRerouter.setState(true); + setTimeout(function() { + var cm = editors.lastActive; + var childFocused = cm.display.wrapper.contains(document.activeElement); + cm.display.wrapper.classList.toggle("CodeMirror-active", childFocused); + }, 0); + }); + cm.on("focus", function() { + hotkeyRerouter.setState(false); + cm.display.wrapper.classList.add("CodeMirror-active"); }); - cm.on("focus", hotkeyRerouter.setState.bind(null, false)); var resizeGrip = cm.display.wrapper.appendChild(document.createElement("div")); resizeGrip.className = "resize-grip";