element-web/src/stores/room-list
Travis Ralston fd029e8e80 Dumb down list algorithms in favour of smarter tags
This commit is a bit involved, as it factors the tag specific handling out of `/list-ordering` (and moves the `Algorithm` class one higher as a result), leaving it in the `Algorithm`. The algorithms for list ordering now only know how to handle a single tag, and this is managed by the `Algorithm` class - which is also no longer the base class for the list ordering. The list ordering algorithms now inherit from a generic `OrderingAlgorithm` base class which handles some rudimentary things.

Overall the logic hasn't changed much: the tag-specific stuff has been moved into the `Algorithm`, and the list ordering algorithms essentially just removed the iteration on tags. The `RoomListStore2` still shovels a bunch of information over to the `Algorithm`, which can lead to an awkward code flow however this commit is meant to keep the number of surfaces touched to a minimum.

The RoomListStore has also gained the ability to set per-list (tag) ordering and sorting, which is required for the new room list. The assumption that it defaults from the account-level settings is not reviewed by design, yet. This decision is deferred.
2020-06-11 22:02:09 -06:00
..
algorithms Dumb down list algorithms in favour of smarter tags 2020-06-11 22:02:09 -06:00
filters Use IDestroyable instead of IDisposable 2020-06-09 08:08:47 -06:00
ListLayout.ts Merge branch 'develop' into travis/room-list/hover-state 2020-06-10 07:42:41 -06:00
membership.ts Clean up imports and other minor lints 2020-05-14 12:46:16 -06:00
models.ts Merge remote-tracking branch 'origin/develop' into travis/room-list/sticky 2020-06-07 13:06:30 -06:00
RoomListStore2.ts Dumb down list algorithms in favour of smarter tags 2020-06-11 22:02:09 -06:00
RoomListStoreTempProxy.ts Remove 1 extra line 2020-06-09 15:30:03 -06:00
TagWatcher.ts Destroy old CommunityFilterConditions when they aren't needed 2020-06-09 15:22:37 -06:00