Add search results pagination to web UI (#11409)
* Add search results pagination to web UI Fix #10737 * Fix code style issue
This commit is contained in:
		@@ -10,6 +10,10 @@ export const SEARCH_FETCH_REQUEST = 'SEARCH_FETCH_REQUEST';
 | 
			
		||||
export const SEARCH_FETCH_SUCCESS = 'SEARCH_FETCH_SUCCESS';
 | 
			
		||||
export const SEARCH_FETCH_FAIL    = 'SEARCH_FETCH_FAIL';
 | 
			
		||||
 | 
			
		||||
export const SEARCH_EXPAND_REQUEST = 'SEARCH_EXPAND_REQUEST';
 | 
			
		||||
export const SEARCH_EXPAND_SUCCESS = 'SEARCH_EXPAND_SUCCESS';
 | 
			
		||||
export const SEARCH_EXPAND_FAIL    = 'SEARCH_EXPAND_FAIL';
 | 
			
		||||
 | 
			
		||||
export function changeSearch(value) {
 | 
			
		||||
  return {
 | 
			
		||||
    type: SEARCH_CHANGE,
 | 
			
		||||
@@ -77,8 +81,50 @@ export function fetchSearchFail(error) {
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export function showSearch() {
 | 
			
		||||
  return {
 | 
			
		||||
    type: SEARCH_SHOW,
 | 
			
		||||
  };
 | 
			
		||||
export const expandSearch = type => (dispatch, getState) => {
 | 
			
		||||
  const value  = getState().getIn(['search', 'value']);
 | 
			
		||||
  const offset = getState().getIn(['search', 'results', type]).size;
 | 
			
		||||
 | 
			
		||||
  dispatch(expandSearchRequest());
 | 
			
		||||
 | 
			
		||||
  api(getState).get('/api/v2/search', {
 | 
			
		||||
    params: {
 | 
			
		||||
      q: value,
 | 
			
		||||
      type,
 | 
			
		||||
      offset,
 | 
			
		||||
    },
 | 
			
		||||
  }).then(({ data }) => {
 | 
			
		||||
    if (data.accounts) {
 | 
			
		||||
      dispatch(importFetchedAccounts(data.accounts));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (data.statuses) {
 | 
			
		||||
      dispatch(importFetchedStatuses(data.statuses));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dispatch(expandSearchSuccess(data, value, type));
 | 
			
		||||
    dispatch(fetchRelationships(data.accounts.map(item => item.id)));
 | 
			
		||||
  }).catch(error => {
 | 
			
		||||
    dispatch(expandSearchFail(error));
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const expandSearchRequest = () => ({
 | 
			
		||||
  type: SEARCH_EXPAND_REQUEST,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export const expandSearchSuccess = (results, searchTerm, searchType) => ({
 | 
			
		||||
  type: SEARCH_EXPAND_SUCCESS,
 | 
			
		||||
  results,
 | 
			
		||||
  searchTerm,
 | 
			
		||||
  searchType,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export const expandSearchFail = error => ({
 | 
			
		||||
  type: SEARCH_EXPAND_FAIL,
 | 
			
		||||
  error,
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export const showSearch = () => ({
 | 
			
		||||
  type: SEARCH_SHOW,
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user