SearchResult.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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}>
  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. <div className="search-result row" id="search-result">
  20. <div className="col-md-4 page-list search-result-list" id="search-result-list">
  21. <nav data-spy="affix" data-offset-top="120">
  22. <ul className="page-list-ul nav">
  23. {listView}
  24. </ul>
  25. </nav>
  26. </div>
  27. <div className="col-md-8 search-result-content" id="search-result-content">
  28. <SearchResultList
  29. pages={this.props.pages}
  30. searchingKeyword={this.props.searchingKeyword}
  31. />
  32. </div>
  33. </div>
  34. </div>
  35. );
  36. }
  37. }
  38. SearchResult.propTypes = {
  39. searchedPages: React.PropTypes.array.isRequired,
  40. searchingKeyword: React.PropTypes.string.isRequired,
  41. };
  42. SearchResult.defaultProps = {
  43. searchedPages: [],
  44. searchingKeyword: '',
  45. };