Skip to content

Instantly share code, notes, and snippets.

@Taosif7
Created December 1, 2025 18:45
Show Gist options
  • Select an option

  • Save Taosif7/d7aba6e993e7f44c33524a654ddfb675 to your computer and use it in GitHub Desktop.

Select an option

Save Taosif7/d7aba6e993e7f44c33524a654ddfb675 to your computer and use it in GitHub Desktop.
Conceptual implementation of Travel filter controller
class TravelFilterController {
MasterFilters? masterFilters;
MasterFilters? userSelectedFilters;
MasterFilters? lastAppliedFilters;
bool get hasAnyFilterApplied =>
userSelectedFilters?.selectionFilters?.isFilterApplied ?? false;
void onFilterOptionTapped(String filterId, String optionId) {
// delegate to selection/slider/toggle controller managing their state
// update the userSelectedFilters
}
void applyFilters() {
lastAppliedFilters = userSelectedFilters?.duplicate();
// call criteria callback to trigger search
}
void clearAll() {
// reset user selections to match masterFilters
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment