From 124429d004d2aebfc21ffc98c0ce917c3bb5837e Mon Sep 17 00:00:00 2001 From: MouseOfLight <4144-MouseOfLight@users.noreply.gitgud.io> Date: Sun, 8 Dec 2019 16:10:05 -0800 Subject: [PATCH] A couple StringEditor derived classes that call updateSelected manually now suppress it in StringEditor --- src/js/rulesAssistantOptions.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 3d839b8b7be..1fa0880e688 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -350,6 +350,9 @@ window.rulesAssistantOptions = (function() { this.onchange(this.getData()); } } + dataEqual(left, right) { + return _.isEqual(left, right); + } updateSelected() { const dataValue = this.getData(); let selected; @@ -357,9 +360,9 @@ window.rulesAssistantOptions = (function() { selected = this.children.filter(listItem => listItem.data == null); } else { - selected = this.children.filter(listItem => _.isEqual(listItem.data, dataValue)); + selected = this.children.filter(listItem => this.dataEqual(listItem.data, dataValue)); } - if (selected.length > 1) throw Error(`Multiple shortcuts matched ${JSON.stringify(dataValue)}`); + if (selected.length > 1) { debugger; throw Error(`Multiple shortcuts matched ${JSON.stringify(dataValue)}`); } if (selected.length == 1) { const listItem = selected[0]; listItem.select(false); @@ -749,6 +752,16 @@ window.rulesAssistantOptions = (function() { const v = this.parse(this.numEditor.value); return v === null ? null : App.RA.makeTarget(this.opSelector.value, v); } + + dataEqual(left, right) { + debugger; + if (left == null && right == null) { return true; } + if (left == null || right == null) { return false; } + //ignore the operator + if(_.isObject(left )) { left = left .val; } + if(_.isObject(right)) { right = right.val; } + return left == right; + } } class NumericRangeEditor extends EditorWithShortcuts { @@ -1273,6 +1286,7 @@ window.rulesAssistantOptions = (function() { } } + class RangeEditor extends Element { render(fn, data) { const elem = document.createElement("div"); -- GitLab