Browse Source

fix: added missing event to function signature
Fixes: #16055

Hugo Häggmark 6 years ago
parent
commit
d563505dd3
1 changed files with 21 additions and 12 deletions
  1. 21 12
      public/app/features/explore/QueryField.tsx

+ 21 - 12
public/app/features/explore/QueryField.tsx

@@ -1,8 +1,12 @@
+// @ts-ignore
 import _ from 'lodash';
 import _ from 'lodash';
-import React from 'react';
+import React, { Context } from 'react';
 import ReactDOM from 'react-dom';
 import ReactDOM from 'react-dom';
+// @ts-ignore
 import { Change, Value } from 'slate';
 import { Change, Value } from 'slate';
+// @ts-ignore
 import { Editor } from 'slate-react';
 import { Editor } from 'slate-react';
+// @ts-ignore
 import Plain from 'slate-plain-serializer';
 import Plain from 'slate-plain-serializer';
 import classnames from 'classnames';
 import classnames from 'classnames';
 
 
@@ -75,7 +79,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
   resetTimer: any;
   resetTimer: any;
   mounted: boolean;
   mounted: boolean;
 
 
-  constructor(props: QueryFieldProps, context) {
+  constructor(props: QueryFieldProps, context: Context<any>) {
     super(props, context);
     super(props, context);
 
 
     this.placeholdersBuffer = new PlaceholdersBuffer(props.initialQuery || '');
     this.placeholdersBuffer = new PlaceholdersBuffer(props.initialQuery || '');
@@ -137,7 +141,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
     }
     }
   }
   }
 
 
-  onChange = ({ value }, invokeParentOnValueChanged?: boolean) => {
+  onChange = ({ value }: Change, invokeParentOnValueChanged?: boolean) => {
     const documentChanged = value.document !== this.state.value.document;
     const documentChanged = value.document !== this.state.value.document;
     const prevValue = this.state.value;
     const prevValue = this.state.value;
 
 
@@ -227,7 +231,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
             }
             }
 
 
             if (!group.skipSort) {
             if (!group.skipSort) {
-              group.items = _.sortBy(group.items, item => item.sortText || item.label);
+              group.items = _.sortBy(group.items, (item: CompletionItem) => item.sortText || item.label);
             }
             }
           }
           }
           return group;
           return group;
@@ -294,7 +298,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
       .focus();
       .focus();
   }
   }
 
 
-  handleEnterAndTabKey = change => {
+  handleEnterAndTabKey = (event: KeyboardEvent, change: Change) => {
     const { typeaheadIndex, suggestions } = this.state;
     const { typeaheadIndex, suggestions } = this.state;
     if (this.menuEl) {
     if (this.menuEl) {
       // Dont blur input
       // Dont blur input
@@ -306,7 +310,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
       const suggestion = getSuggestionByIndex(suggestions, typeaheadIndex);
       const suggestion = getSuggestionByIndex(suggestions, typeaheadIndex);
       const nextChange = this.applyTypeahead(change, suggestion);
       const nextChange = this.applyTypeahead(change, suggestion);
 
 
-      const insertTextOperation = nextChange.operations.find(operation => operation.type === 'insert_text');
+      const insertTextOperation = nextChange.operations.find((operation: any) => operation.type === 'insert_text');
       if (insertTextOperation) {
       if (insertTextOperation) {
         const suggestionText = insertTextOperation.text;
         const suggestionText = insertTextOperation.text;
         this.placeholdersBuffer.setNextPlaceholderValue(suggestionText);
         this.placeholdersBuffer.setNextPlaceholderValue(suggestionText);
@@ -323,7 +327,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
     }
     }
   };
   };
 
 
-  onKeyDown = (event, change) => {
+  onKeyDown = (event: KeyboardEvent, change: Change) => {
     const { typeaheadIndex } = this.state;
     const { typeaheadIndex } = this.state;
 
 
     switch (event.key) {
     switch (event.key) {
@@ -347,7 +351,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
       }
       }
       case 'Enter':
       case 'Enter':
       case 'Tab': {
       case 'Tab': {
-        return this.handleEnterAndTabKey(change);
+        return this.handleEnterAndTabKey(event, change);
         break;
         break;
       }
       }
 
 
@@ -384,7 +388,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
     }
     }
   };
   };
 
 
-  handleBlur = (event, change) => {
+  handleBlur = (event: FocusEvent, change: Change) => {
     const { lastExecutedValue } = this.state;
     const { lastExecutedValue } = this.state;
     const previousValue = lastExecutedValue ? Plain.serialize(this.state.lastExecutedValue) : null;
     const previousValue = lastExecutedValue ? Plain.serialize(this.state.lastExecutedValue) : null;
     const currentValue = Plain.serialize(change.value);
     const currentValue = Plain.serialize(change.value);
@@ -441,7 +445,7 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
     }
     }
   };
   };
 
 
-  menuRef = el => {
+  menuRef = (el: HTMLElement) => {
     this.menuEl = el;
     this.menuEl = el;
   };
   };
 
 
@@ -504,10 +508,15 @@ export class QueryField extends React.PureComponent<QueryFieldProps, QueryFieldS
   }
   }
 }
 }
 
 
-class Portal extends React.PureComponent<{ index?: number; origin: string }, {}> {
+interface PortalProps {
+  index?: number;
+  origin: string;
+}
+
+class Portal extends React.PureComponent<PortalProps, {}> {
   node: HTMLElement;
   node: HTMLElement;
 
 
-  constructor(props) {
+  constructor(props: PortalProps) {
     super(props);
     super(props);
     const { index = 0, origin = 'query' } = props;
     const { index = 0, origin = 'query' } = props;
     this.node = document.createElement('div');
     this.node = document.createElement('div');