diff --git a/src/pyj/book_list/ui.pyj b/src/pyj/book_list/ui.pyj index 9dfcabfbb0..099e40aaae 100644 --- a/src/pyj/book_list/ui.pyj +++ b/src/pyj/book_list/ui.pyj @@ -121,6 +121,12 @@ class UI: self.states.pop() self.apply_state(self.states[-1]) + def close_all_panels(self): + if len(self.states) > 1: + while len(self.states) > 1: + self.states.pop() + self.apply_state(self.states[-1]) + def replace_panel(self, state): if len(self.states) > 1: self.states.pop() diff --git a/src/pyj/book_list/views.pyj b/src/pyj/book_list/views.pyj index 0e54b8d88b..0d8abe640c 100644 --- a/src/pyj/book_list/views.pyj +++ b/src/pyj/book_list/views.pyj @@ -250,7 +250,7 @@ class BooksView: return error_dialog(_('Could not change search query'), err + '', details=err.stack) query = {'search':self.interface_data.search_result.query, 'library_id':self.interface_data.library_id} window.history.pushState(None, '', encode_query(query)) - boss.ui.close_panel() + boss.ui.close_all_panels() self.update_fetching_status() window.scrollTo(0, 0) elif end_type != 'abort':