@@ -168,8 +168,17 @@ public async void ComboBoxCommand(string sort)
168168 else
169169 {
170170 _languageSort = sort ;
171- var codes = await DataBase . OrderCode ( _languageSort , allcodes ) ;
172- CodeModeToViewModel ( await DataBase . OrderCode ( _basicSort , codes ) ) ;
171+ if ( _isSearchCancelled )
172+ {
173+ var codes = await DataBase . OrderCode ( _languageSort , DataBase . AllCodes ) ;
174+ CodeModeToViewModel ( await DataBase . OrderCode ( _basicSort , codes ) ) ;
175+ }
176+ else
177+ {
178+ var codes = await DataBase . SearchCode ( _searchText , "Home" ) ;
179+ codes = await DataBase . OrderCode ( _languageSort , codes ) ;
180+ CodeModeToViewModel ( await DataBase . OrderCode ( _basicSort , codes ) ) ;
181+ }
173182 }
174183 VisChange ( "Not found :(" ) ;
175184 }
@@ -181,8 +190,12 @@ public bool IsSearchBusy
181190 set => this . RaiseAndSetIfChanged ( ref _isSearchBusy , value ) ;
182191
183192 }
193+
194+ private string _searchText ;
184195 public async void SearchCommand ( string text )
185196 {
197+ _searchText = text ;
198+ _isSearchCancelled = false ;
186199 if ( string . IsNullOrEmpty ( text ) ) return ;
187200 IsSearchBusy = true ;
188201 if ( text != "" && AllCodes . Count > 0 )
@@ -194,11 +207,13 @@ public async void SearchCommand(string text)
194207 IsSearchBusy = false ;
195208 }
196209
210+ private bool _isSearchCancelled = true ;
197211 public async void SearchCancelled ( )
198212 {
199213 var codes = await DataBase . OrderCode ( _languageSort , AllCodes . Select ( c => c . Code ) . ToList ( ) ) ;
200214 CodeModeToViewModel ( await DataBase . OrderCode ( _basicSort , codes ) ) ;
201215 VisChange ( ) ;
216+ _isSearchCancelled = true ;
202217 }
203218 }
204219}
0 commit comments