Переглянути джерело

add e.stopPropagation(); to onKeyPress methods in controls

Alexander Rose 5 роки тому
батько
коміт
7d4e48431c

+ 2 - 0
src/mol-plugin/ui/controls/common.tsx

@@ -126,6 +126,7 @@ export class TextInput<T = string> extends PurePluginUIComponent<TextInputProps<
             }
             if (this.props.onEnter) this.props.onEnter();
         }
+        e.stopPropagation();
     }
 
     static getDerivedStateFromProps(props: TextInputProps<any>, state: TextInputState) {
@@ -179,6 +180,7 @@ export class NumericInput extends React.PureComponent<{
             }
             if (this.props.onEnter) this.props.onEnter();
         }
+        e.stopPropagation();
     }
 
     onBlur = () => {

+ 4 - 4
src/mol-plugin/ui/controls/parameters.tsx

@@ -247,10 +247,10 @@ export class TextControl extends SimpleParam<PD.Text> {
     }
 
     onKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {
-        if (!this.props.onEnter) return;
         if ((e.keyCode === 13 || e.charCode === 13)) {
-            this.props.onEnter();
+            if (this.props.onEnter) this.props.onEnter();
         }
+        e.stopPropagation();
     }
 
     renderControl() {
@@ -806,10 +806,10 @@ export class ScriptControl extends SimpleParam<PD.Script> {
     }
 
     onKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {
-        if (!this.props.onEnter) return;
         if ((e.keyCode === 13 || e.charCode === 13)) {
-            this.props.onEnter();
+            if (this.props.onEnter) this.props.onEnter();
         }
+        e.stopPropagation();
     }
 
     renderControl() {