@@ -161,6 +161,17 @@ export class InterfaceManager extends DisposableObject {
161161 return this . _panel ;
162162 }
163163
164+ private async changeSortState ( update : ( query : CompletedQuery ) => Promise < void > ) : Promise < void > {
165+ if ( this . _displayedQuery === undefined ) {
166+ showAndLogErrorMessage ( "Failed to sort results since evaluation info was unknown." ) ;
167+ return ;
168+ }
169+ // Notify the webview that it should expect new results.
170+ await this . postMessage ( { t : 'resultsUpdating' } ) ;
171+ await update ( this . _displayedQuery ) ;
172+ await this . showResults ( this . _displayedQuery , WebviewReveal . NotForced , true ) ;
173+ }
174+
164175 private async handleMsgFromView ( msg : FromResultsViewMsg ) : Promise < void > {
165176 switch ( msg . t ) {
166177 case 'viewSourceFile' : {
@@ -202,28 +213,12 @@ export class InterfaceManager extends DisposableObject {
202213 this . _panelLoadedCallBacks . forEach ( cb => cb ( ) ) ;
203214 this . _panelLoadedCallBacks = [ ] ;
204215 break ;
205- case 'changeSort' : {
206- if ( this . _displayedQuery === undefined ) {
207- showAndLogErrorMessage ( "Failed to sort results since evaluation info was unknown." ) ;
208- break ;
209- }
210- // Notify the webview that it should expect new results.
211- await this . postMessage ( { t : 'resultsUpdating' } ) ;
212- await this . _displayedQuery . updateSortState ( this . cliServer , msg . resultSetName , msg . sortState ) ;
213- await this . showResults ( this . _displayedQuery , WebviewReveal . NotForced , true ) ;
216+ case 'changeSort' :
217+ await this . changeSortState ( ( query ) => query . updateSortState ( this . cliServer , msg . resultSetName , msg . sortState ) ) ;
214218 break ;
215- }
216- case 'changeInterpretedSort' : {
217- if ( this . _displayedQuery === undefined ) {
218- showAndLogErrorMessage ( "Failed to sort results since evaluation info was unknown." ) ;
219- break ;
220- }
221- // Notify the webview that it should expect new results.
222- await this . postMessage ( { t : 'resultsUpdating' } ) ;
223- await this . _displayedQuery . updateInterpretedSortState ( this . cliServer , msg . sortState ) ;
224- await this . showResults ( this . _displayedQuery , WebviewReveal . NotForced , true ) ;
219+ case 'changeInterpretedSort' :
220+ await this . changeSortState ( ( query ) => query . updateInterpretedSortState ( this . cliServer , msg . sortState ) ) ;
225221 break ;
226- }
227222 default :
228223 assertNever ( msg ) ;
229224 }
0 commit comments