Support custom tags in the room list again
Fixes https://github.com/vector-im/riot-web/issues/14091 Design needs work, however this is behind labs anyways. This re-implements the behaviour of the old room list. The implementation ended up being a lot easier due to early confusion with what the TagOrderStore and TagPanel take care of. Turns out they don't deal with tags, but groups. As such, we don't need to do anything with filtering (though we keep some sanity checks in place for safety), and just have to wire up the CustomRoomTagPanel and CustomRoomTagStore.
This commit is contained in:
parent
4de1645ac7
commit
a0b2859436
10 changed files with 89 additions and 54 deletions
|
@ -25,3 +25,13 @@ export function getEnumValues<T>(e: any): T[] {
|
|||
.filter(k => ['string', 'number'].includes(typeof(e[k])))
|
||||
.map(k => e[k]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a given value is a valid value for the provided enum.
|
||||
* @param e The enum to check against.
|
||||
* @param val The value to search for.
|
||||
* @returns True if the enum contains the value.
|
||||
*/
|
||||
export function isEnumValue<T>(e: T, val: string | number): boolean {
|
||||
return getEnumValues(e).includes(val);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue