|
@@ -28,9 +28,9 @@ class SearchPage extends React.Component {
|
|
|
this.state = {
|
|
this.state = {
|
|
|
searchingKeyword: decodeURI(this.props.query.q) || '',
|
|
searchingKeyword: decodeURI(this.props.query.q) || '',
|
|
|
searchedKeyword: '',
|
|
searchedKeyword: '',
|
|
|
- searchedPages: [],
|
|
|
|
|
|
|
+ searchResults: [],
|
|
|
searchResultMeta: {},
|
|
searchResultMeta: {},
|
|
|
- focusedPage: {},
|
|
|
|
|
|
|
+ focusedSearchResultData: {},
|
|
|
selectedPages: new Set(),
|
|
selectedPages: new Set(),
|
|
|
searchResultCount: 0,
|
|
searchResultCount: 0,
|
|
|
activePage: 1,
|
|
activePage: 1,
|
|
@@ -125,7 +125,7 @@ class SearchPage extends React.Component {
|
|
|
this.setState({
|
|
this.setState({
|
|
|
searchingKeyword: '',
|
|
searchingKeyword: '',
|
|
|
searchedKeyword: '',
|
|
searchedKeyword: '',
|
|
|
- searchedPages: [],
|
|
|
|
|
|
|
+ searchResults: [],
|
|
|
searchResultMeta: {},
|
|
searchResultMeta: {},
|
|
|
searchResultCount: 0,
|
|
searchResultCount: 0,
|
|
|
activePage: 1,
|
|
activePage: 1,
|
|
@@ -149,10 +149,10 @@ class SearchPage extends React.Component {
|
|
|
if (res.data.length > 0) {
|
|
if (res.data.length > 0) {
|
|
|
this.setState({
|
|
this.setState({
|
|
|
searchedKeyword: keyword,
|
|
searchedKeyword: keyword,
|
|
|
- searchedPages: res.data,
|
|
|
|
|
|
|
+ searchResults: res.data,
|
|
|
searchResultMeta: res.meta,
|
|
searchResultMeta: res.meta,
|
|
|
searchResultCount: res.meta.total,
|
|
searchResultCount: res.meta.total,
|
|
|
- focusedPage: res.data[0],
|
|
|
|
|
|
|
+ focusedSearchResultData: res.data[0],
|
|
|
// reset active page if keyword changes, otherwise set the current state
|
|
// reset active page if keyword changes, otherwise set the current state
|
|
|
activePage: this.state.searchedKeyword === keyword ? this.state.activePage : 1,
|
|
activePage: this.state.searchedKeyword === keyword ? this.state.activePage : 1,
|
|
|
});
|
|
});
|
|
@@ -160,10 +160,10 @@ class SearchPage extends React.Component {
|
|
|
else {
|
|
else {
|
|
|
this.setState({
|
|
this.setState({
|
|
|
searchedKeyword: keyword,
|
|
searchedKeyword: keyword,
|
|
|
- searchedPages: [],
|
|
|
|
|
|
|
+ searchResults: [],
|
|
|
searchResultMeta: {},
|
|
searchResultMeta: {},
|
|
|
searchResultCount: 0,
|
|
searchResultCount: 0,
|
|
|
- focusedPage: {},
|
|
|
|
|
|
|
+ focusedSearchResultData: {},
|
|
|
activePage: 1,
|
|
activePage: 1,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
@@ -174,11 +174,11 @@ class SearchPage extends React.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
selectPage= (pageId) => {
|
|
selectPage= (pageId) => {
|
|
|
- const index = this.state.searchedPages.findIndex((page) => {
|
|
|
|
|
- return page._id === pageId;
|
|
|
|
|
|
|
+ const index = this.state.searchResults.findIndex(({ pageData }) => {
|
|
|
|
|
+ return pageData._id === pageId;
|
|
|
});
|
|
});
|
|
|
this.setState({
|
|
this.setState({
|
|
|
- focusedPage: this.state.searchedPages[index],
|
|
|
|
|
|
|
+ focusedSearchResultData: this.state.searchResults[index],
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -196,7 +196,7 @@ class SearchPage extends React.Component {
|
|
|
<SearchResultContent
|
|
<SearchResultContent
|
|
|
appContainer={this.props.appContainer}
|
|
appContainer={this.props.appContainer}
|
|
|
searchingKeyword={this.state.searchingKeyword}
|
|
searchingKeyword={this.state.searchingKeyword}
|
|
|
- focusedPage={this.state.focusedPage}
|
|
|
|
|
|
|
+ focusedSearchResultData={this.state.focusedSearchResultData}
|
|
|
>
|
|
>
|
|
|
</SearchResultContent>
|
|
</SearchResultContent>
|
|
|
);
|
|
);
|
|
@@ -205,8 +205,8 @@ class SearchPage extends React.Component {
|
|
|
renderSearchResultList = () => {
|
|
renderSearchResultList = () => {
|
|
|
return (
|
|
return (
|
|
|
<SearchResultList
|
|
<SearchResultList
|
|
|
- pages={this.state.searchedPages || []}
|
|
|
|
|
- focusedPage={this.state.focusedPage}
|
|
|
|
|
|
|
+ pages={this.state.searchResults || []}
|
|
|
|
|
+ focusedSearchResultData={this.state.focusedSearchResultData}
|
|
|
selectedPages={this.state.selectedPages || []}
|
|
selectedPages={this.state.selectedPages || []}
|
|
|
searchResultCount={this.state.searchResultCount}
|
|
searchResultCount={this.state.searchResultCount}
|
|
|
activePage={this.state.activePage}
|
|
activePage={this.state.activePage}
|