Commit graph

205 commits

Author SHA1 Message Date
Luke Barnard
7a4c1994c3 Use Boolean() instead of assuming filter is based on truthiness 2018-02-12 18:35:13 +00:00
lukebarnard
feca1707f1 Remove a factor n complexity during room visibility calc 2018-02-06 09:55:58 +00:00
lukebarnard
701abb6a21 Move management of room lists to RoomListStore
this is part maintenance to make RoomList clearer and part
allowing room list state to be modified via a dispatch.
2018-01-25 22:16:03 +01:00
lukebarnard
d0e3319bd9 Remove DragDropContext from TagPanel and RoomList
So that we can have one context that can handle DND between
the TagPanel and RoomList.
2018-01-25 22:05:20 +01:00
lukebarnard
6106b3ce44 newOrder defaults null, allows check for newOrder on line 357 2018-01-19 14:12:27 +00:00
lukebarnard
54f6d305d7 Null-guard for newTag 2018-01-19 14:11:05 +00:00
lukebarnard
6f0d799912 Fix indentation 2018-01-18 18:15:34 +00:00
lukebarnard
59f4661bfd Add comment 2018-01-18 18:01:31 +00:00
lukebarnard
dfecad181a Swap RoomList to react-beautiful-dnd 2018-01-18 17:59:29 +00:00
lukebarnard
408f13f68c Only set selected tags state when updating rooms
instead of every time we get an update from a GroupStore/otherwise.

This was leading to many setStates and renders at startup when we
receive many group /members /rooms etc. responses.

Also, use the rate limited version of refreshRoomList.
2018-01-15 14:42:41 +00:00
David Baker
587a6f8e2b
Merge pull request #1687 from matrix-org/luke/perf-tag-panel-selected
Improve performance of tag panel selection (when tags are selected)
2018-01-05 15:55:24 +00:00
lukebarnard
8ade357349 Handle newly added rooms and removed rooms. 2018-01-05 12:33:26 +00:00
David Baker
5aed77c752
Merge pull request #1677 from aidalgol/PropTypes
Remove use of deprecated React.PropTypes
2018-01-05 11:53:55 +00:00
lukebarnard
7606e60188 Merge branch 'develop' into luke/perf-tag-panel-selected 2018-01-05 10:26:03 +00:00
lukebarnard
f1b60287fb Merge branch 'develop' into luke/fix-get-users-rooms-for-joined-groups 2018-01-04 17:56:34 +00:00
David Baker
b34f360f96
Merge pull request #1690 from matrix-org/luke/remove-selected-room-prop
Remove unused selectedRoom prop
2018-01-04 17:33:36 +00:00
lukebarnard
2282f5c26f Remove unused selectedRoom prop 2018-01-04 14:19:10 +00:00
lukebarnard
cdd1a57569 Calculate visible rooms when tags change
instead of every time we getRoomLists
2018-01-04 11:50:33 +00:00
lukebarnard
5c5307c665 Improve performance of tag panel selection (when tags are selected)
Deselecting all tags is now slightly less performant than selecting a tag
but mostly due to the number of RoomTiles being rendered.

Swapping between different tags (a supposed common use-case) feels much
more spritely!
2018-01-03 17:12:31 +00:00
lukebarnard
2baacfa562 Handle case where ordering is not yet known 2018-01-03 14:12:28 +00:00
lukebarnard
a2bb240dcb Fetch group data for all tags instead of those selected
so that tag switching is not delayed by fetching group data, i.e group members and rooms.
2018-01-03 14:07:29 +00:00
lukebarnard
85cdd888e8 Combine TagOrderStore and FilterStore
so that shift-click semantics can work. The store that computes the shift-click
rules has to be aware of the actual order of tags displayed, so they must be done
in the same store.
2018-01-03 11:33:59 +00:00
lukebarnard
57fb09dfb7 Fix dodgy merge done in 874a7bf
where develop branch should have been used for a chunk of code
2018-01-02 19:26:56 +00:00
lukebarnard
874a7bf1de Merge branch 'develop' into luke/fix-room-list-group-store-leak 2018-01-02 16:19:37 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Luke Barnard
d292dab9c6 More doc 2017-12-15 17:30:21 +00:00
Luke Barnard
56affd3d42 Rename for clarity 2017-12-15 17:29:06 +00:00
Luke Barnard
653137f6ec Update comment 2017-12-15 17:21:20 +00:00
Luke Barnard
961d5e1868 Split updatedSelectedTagsRooms
because we don't need to get the rooms for all groups when
the filtered tags change.
2017-12-15 14:23:35 +00:00
Luke Barnard
34e455c6fc Fix leaking of GroupStore listeners in RoomList 2017-12-15 14:12:21 +00:00
Luke Barnard
df1134f092 Use "shared" DMRoomMap 2017-12-14 16:34:49 +00:00
Luke Barnard
3732fd29d5 Comments for instance variables 2017-12-14 16:17:06 +00:00
Luke Barnard
aac5bcfe80 Attempt to improve TagPanel performance
by only recalculating rooms to show (for a given group) when a group updates.
2017-12-05 11:25:30 +00:00
Luke Barnard
45bcb6f2ed Implement TagPanel (or LeftLeftPanel) for group filtering
This allows for filtering of the RoomList by group. When a group is selected, the room list will show:
 - Rooms in the group
 - Direct messages with members in the group

A button at the bottom of the TagPanel allows for creating new groups, which will appear in the panel following creation.
2017-11-29 16:53:43 +00:00
Stefan Parviainen
df6d5cc2b4 Pass plain components, rather than functions returning them 2017-11-14 20:09:52 +01:00
Stefan Parviainen
3afbaf61e7 Refactor i18n stuff a bit 2017-11-13 20:19:33 +01:00
Luke Barnard
151f9917b1 Fix group invites such that they look similar to room invites
- Change GroupInviteTile to use RoomTile CSS
 - Give group invites their own sub list, with heading "Community Invites"
2017-11-03 12:19:37 +00:00
Stefan Parviainen
15d1dc1f3b Fix indentation
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-15 16:57:22 +02:00
Stefan Parviainen
1f44233e05 Better translations in RoomList.js
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-12 21:24:45 +02:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
David Baker
add91f9a7d Update when a group arrives 2017-09-21 16:28:49 +01:00
David Baker
3c3328c5f1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-13 16:34:39 +01:00
David Baker
757bc9fe32 Update roomlist when an event is decrypted
Events are now decrypted asynchronously, so are not decrypted
at the time of the Room.timeline which is when our RoomList
got the chance to update. It needs to update once the event has
been decrypted.

Ideally we would not update the whole room list order, but this is
how all the room list re-ordering happens right now, so staying
consistent with this.

Fixes https://github.com/vector-im/riot-web/issues/5020
2017-09-12 14:47:26 +01:00
David Baker
be8f0991a6 Avoid re-rendering RoomList on room switch
Introduce a class that consumes updates from the RoomViewStore and
announces to listeners if the active room ID is now or is no longer
the room ID they specified. Naming suggestions welcome: it's
currently called ActiveRoomObserver.

Avoids passing the selectedRoomId down from MatrixChat all the way
through the LeftPanel / RoomList / RoomSubList to the RoomTiles.

Also introduce a CallPreview class that listens directly for
RoomViewStore changes as the call preview in the left panel needs
to know when the room changes, so this allows this component to
update without having to update the entire left panel.
2017-09-11 16:59:09 +01:00
David Baker
9efa604706 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-30 17:39:47 +01:00
Michael Telatynski
edb449dfe5
we need to pass whether it is an invite RoomSubList explicitly (i18n) 2017-08-27 23:38:25 +01:00
David Baker
55998028b4 Show group invites in 'invites' section 2017-08-18 11:22:50 +01:00
David Baker
b1ca83bb9d Internationalise the drop targets
Unsure how these had got missed (and yet still had the translation
strings in the json)
2017-06-19 17:49:22 +01:00
daniel tygel
13c12811e7 typo 2017-06-19 13:22:23 -03:00
daniel tygel
aebe4fb88f add two strings to translation 2017-06-19 13:21:23 -03:00