Can I use CodeMirror as an input instead of textarea so it’s all on a single line?
1 Like
You can use a "beforeChange"
filter to prevent any newline from being added, and style the editor to be only a single line high. Might also want to set scrollbarStyle: "null"
to prevent scrollbars from showing up.
1 Like
Thanks, I’ll try that!
My solution to prevent new lines (its for a custom search query input field):
cm.on("beforeChange", function(cm, changeObj) {
var typedNewLine = changeObj.origin == '+input' && typeof changeObj.text == "object" && changeObj.text.join("") == "";
if (typedNewLine) {
return changeObj.cancel();
}
var pastedNewLine = changeObj.origin == 'paste' && typeof changeObj.text == "object" && changeObj.text.length > 1;
if (pastedNewLine) {
var newText = changeObj.text.join(" ");
// trim
//newText = $.trim(newText);
return changeObj.update(null, null, [newText]);
}
return null;
});
1 Like