From b1735ee5d9d866efc601b26e3db1cebc525c7113 Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Fri, 5 Aug 2022 10:14:13 -0500 Subject: [PATCH 1/7] Trim string before pasting --- dev/src/views/Expression.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/src/views/Expression.js b/dev/src/views/Expression.js index c9d45717..3bbc3f93 100644 --- a/dev/src/views/Expression.js +++ b/dev/src/views/Expression.js @@ -223,7 +223,7 @@ export default class Expression extends EventDispatcher { // catches pasting full expressions in. // TODO: will need to be updated to work with other delimeters this._deferUpdate(); - let str = evt.text[0]; + let str = evt.text[0].trim(); if (str.length < 3 || !str.match(/^\/.+[^\\]\/[a-z]*$/ig) || evt.from.ch !== 1 || evt.to.ch != 1 + evt.removed[0].length) { // not pasting a full expression. return; From 2237ba5c6c7fd40e1ed0726b7c2ba72d3b14908b Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Fri, 5 Aug 2022 10:26:18 -0500 Subject: [PATCH 2/7] Use explicit undefined check for query strings --- dev/src/RegExr.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dev/src/RegExr.js b/dev/src/RegExr.js index f3c8d055..5a4f77ff 100644 --- a/dev/src/RegExr.js +++ b/dev/src/RegExr.js @@ -60,13 +60,14 @@ export default class RegExr extends EventDispatcher { this._savedHash = null; let params = Utils.getUrlParams(); + console.log(params); if (Utils.isLocal && params.id) { Server.load(params.id).then((o) => this.state = o); params = {}; } if (params.engine) { this.flavor.value = params.engine; } - if (params.expression) { this.expression.value = params.expression; } - if (params.text) { this.text.value = params.text; } + if (params.expression !== undefined) { this.expression.value = params.expression; } + if (params.text !== undefined) { this.text.value = params.text; } if (params.tool) { this.tools.value = {id:params.tool, input:params.input}; } window.onbeforeunload = (e) => this.unsaved ? "You have unsaved changes." : null; From 7c8814a4717c245c5e0554b3d4b0c88ee5f7f118 Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Fri, 5 Aug 2022 10:26:31 -0500 Subject: [PATCH 3/7] Only use defalut value if nullish --- dev/src/views/Expression.js | 2 +- dev/src/views/Text.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/src/views/Expression.js b/dev/src/views/Expression.js index 3bbc3f93..0713c6c9 100644 --- a/dev/src/views/Expression.js +++ b/dev/src/views/Expression.js @@ -43,7 +43,7 @@ export default class Expression extends EventDispatcher { } set value(expression) { - let regex = Utils.decomposeRegEx(expression || Expression.DEFAULT_EXPRESSION, this.delim); + let regex = Utils.decomposeRegEx(expression ?? Expression.DEFAULT_EXPRESSION, this.delim); this.pattern = regex.source; this.flags = regex.flags; } diff --git a/dev/src/views/Text.js b/dev/src/views/Text.js index 0e3bb19b..b4971e5e 100644 --- a/dev/src/views/Text.js +++ b/dev/src/views/Text.js @@ -47,7 +47,7 @@ export default class Text extends EventDispatcher { } set value(val) { - this.editor.setValue(val || this.defaultText); + this.editor.setValue(val ?? this.defaultText); } get value() { From 249f5cc71586837b164b0a5361113d75d6174b59 Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Mon, 19 Sep 2022 12:01:07 -0500 Subject: [PATCH 4/7] Remove debug --- dev/src/RegExr.js | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/src/RegExr.js b/dev/src/RegExr.js index 5a4f77ff..f082ae2f 100644 --- a/dev/src/RegExr.js +++ b/dev/src/RegExr.js @@ -60,7 +60,6 @@ export default class RegExr extends EventDispatcher { this._savedHash = null; let params = Utils.getUrlParams(); - console.log(params); if (Utils.isLocal && params.id) { Server.load(params.id).then((o) => this.state = o); params = {}; From 9e3e9d08aa76106d5737bc38c2b9311602f446ae Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Mon, 19 Sep 2022 12:03:42 -0500 Subject: [PATCH 5/7] Remove change from other PR --- dev/src/views/Expression.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/src/views/Expression.js b/dev/src/views/Expression.js index 0713c6c9..1e81730f 100644 --- a/dev/src/views/Expression.js +++ b/dev/src/views/Expression.js @@ -223,7 +223,7 @@ export default class Expression extends EventDispatcher { // catches pasting full expressions in. // TODO: will need to be updated to work with other delimeters this._deferUpdate(); - let str = evt.text[0].trim(); + let str = evt.text[0]; if (str.length < 3 || !str.match(/^\/.+[^\\]\/[a-z]*$/ig) || evt.from.ch !== 1 || evt.to.ch != 1 + evt.removed[0].length) { // not pasting a full expression. return; @@ -264,4 +264,4 @@ Expression.FLAG_LABELS = { "x": "extended", "y": "sticky", "U": "Ungreedy" -}; \ No newline at end of file +}; From 747686f27af528cb64614e53e76dd70e6d8401dd Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Mon, 19 Sep 2022 12:04:02 -0500 Subject: [PATCH 6/7] Remove end line From d088160e5212de9977369c0f49b8652a9b46a911 Mon Sep 17 00:00:00 2001 From: Albert Portnoy Date: Mon, 19 Sep 2022 12:06:22 -0500 Subject: [PATCH 7/7] No trailing new line --- dev/src/views/Expression.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/src/views/Expression.js b/dev/src/views/Expression.js index 1e81730f..08ce6281 100644 --- a/dev/src/views/Expression.js +++ b/dev/src/views/Expression.js @@ -264,4 +264,4 @@ Expression.FLAG_LABELS = { "x": "extended", "y": "sticky", "U": "Ungreedy" -}; +}; \ No newline at end of file