Let's assume a page displaying a list of activities.  

They are some "Sport", some "Cinema" etc... 

To the Left of the list, there is a special column allowing user to filter displayed data.  

I'm focusing on the filter: **Activity Type**. 

So the basic workflow is:

1. The page displays all activities (without any filters) with refreshed data (query database for instance).
2. The user selects the filter "Sport", in order to hide other kind of activities.

My question is: Should the set of the filter "Sport" involve a refresh of data?  

Or should it just extract the corresponding data from the existing data (like a simple DOM manipulation for instance), even possibly stale?

Assuming that each click on distinct filter involves the refresh of data displayed, what strategy should I choose if user wants to refresh the current data (meaning keeping the same current filter)?  

Thus, if I display a button named "Refresh" near to the items list, I think that can confuse the user => They can think: "If they place a refresh button near the items list, it means that setting one filter doesn't refresh the data... (and of course that was not the case) "

Or maybe...dealing with websockets, refreshing automatically the data (or warning of new items)? Therefore allowing to drop this concept of refresh button.

Thanks a lot