@@ -24,6 +24,7 @@ const DEFAULT_STATE = {
2424 // used to produce the current query results. It is always in sync 
2525 // with the Results State 
2626 current : 1 , 
27+  error : "" , 
2728 filters : [ ] , 
2829 resultsPerPage : 0 , 
2930 searchTerm : "" , 
@@ -134,31 +135,39 @@ export default class AppSearchDriver {
134135 } ; 
135136 } 
136137
137-  return  this . client . search ( searchTerm ,  searchOptions ) . then ( resultList  =>  { 
138-  this . _setState ( { 
139-  current : resultList . info . meta . page . current , 
140-  facets : resultList . info . facets , 
141-  filters : filters , 
142-  requestId : resultList . info . meta . request_id , 
143-  results : resultList . results , 
144-  resultsPerPage : resultsPerPage , 
145-  searchTerm : searchTerm , 
146-  sortDirection : sortDirection , 
147-  sortField : sortField , 
148-  totalResults : resultList . info . meta . page . total_results 
149-  } ) ; 
138+  return  this . client . search ( searchTerm ,  searchOptions ) . then ( 
139+  resultList  =>  { 
140+  this . _setState ( { 
141+  current : resultList . info . meta . page . current , 
142+  error : "" , 
143+  facets : resultList . info . facets , 
144+  filters : filters , 
145+  requestId : resultList . info . meta . request_id , 
146+  results : resultList . results , 
147+  resultsPerPage : resultsPerPage , 
148+  searchTerm : searchTerm , 
149+  sortDirection : sortDirection , 
150+  sortField : sortField , 
151+  totalResults : resultList . info . meta . page . total_results 
152+  } ) ; 
150153
151-  if  ( ! skipPushToUrl )  { 
152-  this . URLManager . pushStateToURL ( { 
153-  current, 
154-  filters, 
155-  resultsPerPage, 
156-  searchTerm, 
157-  sortDirection, 
158-  sortField
154+  if  ( ! skipPushToUrl )  { 
155+  this . URLManager . pushStateToURL ( { 
156+  current, 
157+  filters, 
158+  resultsPerPage, 
159+  searchTerm, 
160+  sortDirection, 
161+  sortField
162+  } ) ; 
163+  } 
164+  } , 
165+  error  =>  { 
166+  this . _setState ( { 
167+  error : `An unexpected error occurred: ${ error . message }  
159168 } ) ; 
160169 } 
161-  } ) ; 
170+  ) ; 
162171 } ; 
163172
164173 _setState ( newState )  { 
@@ -177,11 +186,28 @@ export default class AppSearchDriver {
177186 this . subscriptions . push ( onStateChange ) ; 
178187 } 
179188
189+  /** 
190+  * Retrieves all available acitons 
191+  * 
192+  * @returns  Object All actions 
193+  */ 
194+  getActions ( )  { 
195+  return  { 
196+  addFilter : this . addFilter , 
197+  removeFilter : this . removeFilter , 
198+  setResultsPerPage : this . setResultsPerPage , 
199+  setSearchTerm : this . setSearchTerm , 
200+  setSort : this . setSort , 
201+  setCurrent : this . setCurrent , 
202+  trackClickThrough : this . trackClickThrough 
203+  } ; 
204+  } 
205+ 
180206 /** 
181207 * Retrieve current state. Typically used on app initialization. Subsequent 
182208 * state updates should come through subscription. 
183209 * 
184-  * @returns  Current state 
210+  * @returns  Object  Current state 
185211 */ 
186212 getState ( )  { 
187213 // We return a copy of state here, because we want to ensure the state 
0 commit comments