Просмотр исходного кода

remove unnecessary props and methods

yusuketk 7 лет назад
Родитель
Сommit
4feea71857

+ 2 - 3
src/client/js/components/HeaderSearchBox/HeaderSearchForm.js

@@ -24,8 +24,8 @@ export default class HeaderSearchForm extends React.Component {
   componentWillUnmount() {
   }
 
-  onSubmit(query) {
-    this.refs.form.submit(query);
+  onSubmit() {
+    this.refs.form.submit();
   }
 
   render() {
@@ -41,7 +41,6 @@ export default class HeaderSearchForm extends React.Component {
               crowi={this.crowi}
               onSubmit={this.onSubmit}
               placeholder="Search ..."
-              keyword=''
             />
             <InputGroup.Button>
               <Button type="submit" bsStyle="link">

+ 6 - 3
src/client/js/components/SearchForm.js

@@ -1,5 +1,5 @@
 import React from 'react';
-
+import PropTypes from 'prop-types';
 import SearchTypeahead from './SearchTypeahead';
 
 // SearchTypeahead wrapper
@@ -9,7 +9,6 @@ export default class SearchForm extends React.Component {
     super(props);
 
     this.state = {
-      keyword: this.props.keyword,
       searchError: null,
     };
 
@@ -69,6 +68,7 @@ export default class SearchForm extends React.Component {
 
     return (
       <SearchTypeahead
+        ref = 'searchTypeahead'
         crowi={this.props.crowi}
         onChange={this.onChange}
         onSubmit={this.props.onSubmit}
@@ -76,13 +76,16 @@ export default class SearchForm extends React.Component {
         emptyLabel={emptyLabel}
         placeholder="Search ..."
         promptText={this.getHelpElement()}
-        keywordOnInit={this.state.keyword}
+        keywordOnInit={this.props.keyword}
       />
     );
   }
 }
 
 SearchForm.propTypes = {
+  crowi: PropTypes.object.isRequired,
+  keyword: PropTypes.string,
+  onSubmit: PropTypes.func.isRequired,
 };
 
 SearchForm.defaultProps = {

+ 12 - 22
src/client/js/components/SearchPage/SearchPageForm.js

@@ -9,12 +9,10 @@ export default class SearchPageForm extends React.Component {
     super(props);
 
     this.state = {
-      keyword: this.props.keyword,
       searchedKeyword: this.props.keyword,
-      searchError: null,
     };
 
-    this.onSubmit = this.onSubmit.bind(this);
+    this.search = this.search.bind(this);
   }
 
   search(keyword) {
@@ -24,31 +22,23 @@ export default class SearchPageForm extends React.Component {
     }
   }
 
-  onSubmit(event) {
-    if (event !== '') {
-      event.preventDefault(); // prevent refreshing page of form tag
-    }
-    const input = this.refs.searchTypeahead.state.input;
-    this.setState({keyword: input});
-    this.search(input);
-  }
-
   render() {
     return (
       <form ref='form'
-      className="form form-group input-group"
-       onSubmit={this.onSubmit}>
+        className="form form-group input-group"
+        onSubmit={this.onSubmit}
+      >
         <SearchForm
-          ref='searchTypeahead'
+          ref='searchForm'
           crowi={this.props.crowi}
-          onSubmit={this.onSubmit}
-          keyword={this.state.keyword}
+          onSubmit={this.search}
+          keyword={this.state.searchedKeyword}
         />
-          <span className="input-group-btn">
-            <button type="submit" className="btn btn-default">
-              <i className="search-top-icon icon-magnifier"></i>
-            </button>
-          </span>
+        <span className="input-group-btn">
+          <button type="submit" className="btn btn-default">
+            <i className="search-top-icon icon-magnifier"></i>
+          </button>
+        </span>
       </form>
     );
   }

+ 1 - 11
src/client/js/components/SearchTypeahead.js

@@ -28,7 +28,6 @@ export default class SearchTypeahead extends React.Component {
     this.search = this.search.bind(this);
     this.onInputChange = this.onInputChange.bind(this);
     this.onKeyDown = this.onKeyDown.bind(this);
-    this.onChange = this.onChange.bind(this);
     this.dispatchSubmit = this.dispatchSubmit.bind(this);
     this.getRestoreFormButton = this.getRestoreFormButton.bind(this);
     this.renderMenuItemChildren = this.renderMenuItemChildren.bind(this);
@@ -104,18 +103,9 @@ export default class SearchTypeahead extends React.Component {
     }
   }
 
-  onChange(selected) {
-    const page = selected[0];  // should be single page selected
-
-    // navigate to page
-    if (page != null) {
-      window.location = page.path;
-    }
-  }
-
   dispatchSubmit() {
     if (this.props.onSubmit != null) {
-      this.props.onSubmit(this.state.keyword);
+      this.props.onSubmit(this.state.input);
     }
   }