From 1c97a7fe4301e0388bbab48f1c055a9da2bec203 Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Mon, 13 Dec 2021 12:26:33 +1000 Subject: [PATCH] DEV: Move isInside to private function (#15268) This text manipulation library can be used by plugins as well, so better to have this defined as a function instead of floating above the class. --- .../app/mixins/textarea-text-manipulation.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/discourse/app/mixins/textarea-text-manipulation.js b/app/assets/javascripts/discourse/app/mixins/textarea-text-manipulation.js index 2db4cb85e35..ffdad12a250 100644 --- a/app/assets/javascripts/discourse/app/mixins/textarea-text-manipulation.js +++ b/app/assets/javascripts/discourse/app/mixins/textarea-text-manipulation.js @@ -11,11 +11,6 @@ import { } from "discourse/lib/utilities"; import { next, schedule } from "@ember/runloop"; -const isInside = (text, regex) => { - const matches = text.match(regex); - return matches && matches.length % 2; -}; - const INDENT_DIRECTION_LEFT = "left"; const INDENT_DIRECTION_RIGHT = "right"; @@ -240,6 +235,11 @@ export default Mixin.create({ return null; }, + _isInside(text, regex) { + const matches = text.match(regex); + return matches && matches.length % 2; + }, + @bind paste(e) { if (!this._$textarea.is(":focus") && !isTesting()) { @@ -259,7 +259,7 @@ export default Mixin.create({ const selected = this._getSelected(null, { lineVal: true }); const { pre, value: selectedValue, lineVal } = selected; const isInlinePasting = pre.match(/[^\n]$/); - const isCodeBlock = isInside(pre, /(^|\n)```/g); + const isCodeBlock = this._isInside(pre, /(^|\n)```/g); if ( plainText && @@ -279,7 +279,7 @@ export default Mixin.create({ if (isInlinePasting) { canPasteHtml = !( lineVal.match(/^```/) || - isInside(pre, /`/g) || + this._isInside(pre, /`/g) || lineVal.match(/^ /) ); } else {