SearchResult.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from 'react';
  2. import Page from '../PageList/Page';
  3. import SearchResultList from './SearchResultList';
  4. // Search.SearchResult
  5. export default class SearchResult extends React.Component {
  6. render() {
  7. const listView = this.props.pages.map((page) => {
  8. const pageId = "#" + page._id;
  9. return (
  10. <Page page={page} linkTo={pageId} key={page._id}>
  11. <div className="page-list-option">
  12. <a href={page.path}><i className="fa fa-arrow-circle-right" /></a>
  13. </div>
  14. </Page>
  15. );
  16. });
  17. return (
  18. <div className="content-main" id="content-main">
  19. <span>Search {this.props.searchingKeyword}</span>
  20. <div className="search-result row" id="search-result">
  21. <div className="col-md-4 page-list search-result-list" id="search-result-list">
  22. <nav data-spy="affix" data-offset-top="120">
  23. <ul className="page-list-ul nav">
  24. {listView}
  25. </ul>
  26. </nav>
  27. </div>
  28. <div className="col-md-8 search-result-content" id="search-result-content">
  29. <SearchResultList
  30. pages={this.props.pages}
  31. searchingKeyword={this.props.searchingKeyword}
  32. />
  33. </div>
  34. </div>
  35. </div>
  36. );
  37. }
  38. }
  39. SearchResult.propTypes = {
  40. searchedPages: React.PropTypes.array.isRequired,
  41. searchingKeyword: React.PropTypes.string.isRequired,
  42. };
  43. SearchResult.defaultProps = {
  44. searchedPages: [],
  45. searchingKeyword: '',
  46. };