Commit graph

220 commits

Author SHA1 Message Date
Michael Telatynski
22fe0add3c Make UserOnlineDot more generic 2019-12-26 18:14:46 +00:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston
344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Michael Telatynski
db069b9602 delint 2019-12-19 14:33:46 +00:00
Michael Telatynski
6c1944359e Add RoomTile online indicator to DMs 2019-12-19 14:29:46 +00:00
Michael Telatynski
5c92f8ab25 Fix RoomTile right click context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-10 00:08:45 +00:00
Michael Telatynski
757f811126 s/ContextualMenu/ContextMenu/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 23:21:59 +00:00
Michael Telatynski
e2733a27c4 add null-guard
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-02 10:06:58 +00:00
Michael Telatynski
6c5b777a77 Consolidate all except tooltips
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-28 18:16:59 +00:00
Michael Telatynski
2eddb6ca01 DRY context menu placement algorithms 2019-11-12 11:24:14 +00:00
Michael Telatynski
1c4d89f2d7 Migrate all standard Context Menus over to new custom framework 2019-11-11 17:53:17 +00:00
Michael Telatynski
98096d206b Fix missing i18n for RoomTile ARIA labels and +a case for notif-off bold 2019-10-29 16:34:56 +00:00
Michael Telatynski
3400808f6e Use navigation treeview aria pattern for roomlist sublists and tiles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-17 15:53:39 +01:00
Michael Telatynski
a782baf510 React error/warning cleanup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-08 12:10:37 +01:00
Michael Telatynski
f1db0cf027 Various ARIA a11y fixes.
Notate RightPanel tabs.
Shorten Screen Reader queues.
Make AccessibleTooltipButton screen reader friendly
Flatten DOM for Sticker button using React Fragments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-03 09:35:39 +01:00
Michael Telatynski
2621ad1b43 Group room tiles in room sub list in the room list for ARIA
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-30 16:04:43 +01:00
Michael Telatynski
70ff2bc9cd Switch to createReactClass: views/rooms and test/components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 15:04:46 +01:00
David Baker
0e6f401b62 copyright 2019-06-19 11:48:47 +01:00
David Baker
c57d93702a De-duplicate notif badge code
We had two different places we were deciding whether to show a badge.
Let's just have one.
2019-06-19 11:46:24 +01:00
Travis Ralston
6b2dbdf7ba Don't refresh custom status on logout
The RoomTile gets remounted during logout due to the room stores being obliterated, however this causes the render() function to check if it should be showing custom status. If you have custom status enabled, and the person has a status set, the function errors due to no MatrixClient being available.

Fixes https://github.com/vector-im/riot-web/issues/9940
2019-06-04 15:34:11 -06:00
Matthew Hodgson
c63419f8a2 typos 2019-05-19 16:31:25 +01:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
Travis Ralston
f5600fd4d7 Add badges to breadcrumb rooms
Fixes https://github.com/vector-im/riot-web/issues/8606
2019-04-03 15:29:15 -06:00
Matthew Hodgson
40f16fa310 adds validation for fields.
* renames RoomTooltip to be a generic Tooltip (which it is)
 * hooks it into Field to show validation results
 * adds onValidate to Field to let Field instances call an arbitrary validation function

Rebased from @ara4n's https://github.com/matrix-org/matrix-react-sdk/pull/2550
by @jryans. Subsequent commits revise and adapt this work.
2019-03-12 14:02:54 +00:00
Bruno Windels
b6aa72da55 update RoomTile notificationCount through props so updates are consistent 2019-02-11 15:40:17 +01:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
Bruno Windels
8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
J. Ryan Stinnett
d8de607edc Update RoomTile on status change 2019-01-15 10:54:29 -06:00
J. Ryan Stinnett
c76b273fae Update RoomTiles on custom status change 2019-01-15 10:54:29 -06:00
Bruno Windels
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
J. Ryan Stinnett
920911c0a1 Room list fixes for custom status 2019-01-03 18:49:15 -06:00
Travis Ralston
8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
Travis Ralston
04c9fff6ce Add a feature flag for custom status messages 2018-12-18 15:11:08 -07:00
Bruno Windels
242b0c21ac make avatar 24px and tile height 32px 2018-12-17 14:03:48 +01:00
Travis Ralston
63658e0441 Add a missing null check 2018-12-13 14:29:12 -07:00
Bruno Windels
720bc11aa4 avoid using roomviewstore for detecting selected room 2018-12-13 13:01:59 +01:00
Bruno Windels
43efa29ef8 track active room with OpenRoomsStore 2018-12-13 12:59:18 +01:00
Travis Ralston
f2649f7807 Use the now-prefixed js-sdk status message API
See 08b3dfa3b5
2018-12-12 23:07:03 -07:00
Travis Ralston
dd382ecb05 Fix a bug with determining 1:1 rooms
We shouldn't consider rooms where people have left or been banned
2018-12-12 13:20:26 -07:00
Travis Ralston
cd9ea2b2d7 Fix alignment of avatars and status messages
also introduce the status message to the MemberInfo pane

Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-12 12:57:48 -07:00
Travis Ralston
ce7969e3d5 Display custom status messages in the UI
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-11 21:40:11 -07:00
Bruno Windels
ef26189add add dedicated menu button to room tile with new design 2018-11-05 17:42:25 +01:00
Bruno Windels
c0becc7664 fix roomtile badge
only put it in the dom if it has
anything to show as it has a border now in collapsed mode
2018-11-05 14:24:12 +01:00
Bruno Windels
cc29dd08da don't always show badge (leftover) 2018-10-16 14:54:14 +02:00
Bruno Windels
928b6d47c8 add resize handles between 3 main app columns 2018-09-24 16:07:42 +01:00
Bruno Windels
91ec96c8d3 Merge branch 'develop' into bwindels/redesign 2018-09-21 12:44:44 +02:00
Matthew Hodgson
ece041d059 fix NPE on name (related to LL?) 2018-09-18 00:16:25 +01:00
Bruno Windels
908de56c6d replace getMember(myId).membership with getMyMembership
This works with rooms which haven't had their members
loaded yet.
2018-08-02 11:42:05 +02:00
Matthew Hodgson
9783b6100d Merge branch 'develop' into matthew/dharma 2018-07-29 17:03:23 +01:00
Michael Telatynski
e0d36b18c9
make RoomTile context menu appear where you right clicked instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-18 12:08:47 +01:00
Michael Telatynski
1a236499b1
fix import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-18 11:54:06 +01:00
Michael Telatynski
4fdb64a049
delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-16 09:10:13 +01:00
Michael Telatynski
8fa96e19d5
allow rightclicking for exposing room tile context menus
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-16 09:07:16 +01:00
Michael Telatynski
c820836bcc
make RoomTooltip generic and add ContextMenu&Tooltip to GroupInviteTile
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-12 15:23:11 +01:00
Matthew Hodgson
3bf28a08ec experiments in dharma 2018-05-25 03:17:29 +01:00
Luke Barnard
856c499541 Fix room tile badge not disappearing when receiving a read receipt
Fixes https://github.com/vector-im/riot-web/issues/6357
2018-03-20 17:19:49 +00:00
Luke Barnard
8672b97f9a Improve room list performance when receiving messages
In summary this makes RoomTiles (and RoomAvatars) do more for
themselves in terms of reacting individually to state changes in
the js-sdk.

Instead of force updating the entire room list for avatar changes
and room name changes, do this in the RoomTile and RoomAvatar
instead. This increases the number of listeners listening to the
matrix client, but allows us to properly implement a
shouldComponentUpdate for RoomTile (because the avatar, name and
notification count are now in component state)
2018-03-14 14:29:55 +00:00
Luke Barnard
a95f6a9804 Implement transparent RoomTile for use in some places
where a transparent appearance is required (i.e. in MemberInfo
or ChatCreateOrReuseDialog)
2018-03-05 12:36:02 +00:00
lukebarnard
dfecad181a Swap RoomList to react-beautiful-dnd 2018-01-18 17:59:29 +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
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Travis Ralston
ae10a11ac4 Convert synced settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06: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
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
saul.kredi@krutt.org
159a920dc8 Better RTL support 2017-06-03 18:52:45 +03:00
David Baker
ebfafb3639 Revert "Merge pull request #807 from matrix-org/matthew/quick-search"
This reverts commit 0ad1d8caf3, reversing
changes made to 1189368aab.
2017-05-16 16:11:01 +01:00
Matthew Hodgson
238f59dc87 return the event from RoomTile's onClick to distinguish clicks from keypresses 2017-04-20 14:16:45 +01:00
Matthew Hodgson
5a3b4b6a60 various bug fixes:
don't redraw RoomList when the selectedRoom changes
keep passing selectedRoom through to RoomTiles so they have correct initial state
handle onAccountData at the RoomList, not RoomTile level
Fix some typos
2017-04-20 01:12:57 +01:00
Matthew Hodgson
fb6252a16b fix invite highlights take 3 2017-04-19 00:16:17 +01:00
Matthew Hodgson
4a9c168682 fix invite highlights 2017-04-19 00:13:01 +01:00
Matthew Hodgson
abf2300c0d highlight invites correctly 2017-04-19 00:09:03 +01:00
Matthew Hodgson
8389a67c75 we don't need RoomTile specific focus in the end 2017-04-18 22:54:30 +01:00
Matthew Hodgson
c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
Matthew Hodgson
9591ad31e6 fix bugs, experiment with focus pulling, make it vaguely work 2017-04-18 02:43:29 +01:00
Matthew Hodgson
da569c2c8d add constantTimeDispatcher and use it for strategic refreshes.
constantTimeDispatcher lets you poke a specific react component to do something
without having to do any O(N) operations.  This is useful if you have thousands
of RoomTiles in a RoomSubList and want to just tell one of them to update,
without either having to do a full comparison of this.props.list or have each
and every RoomTile subscribe to a generic event from flux or node's eventemitter

*UNTESTED*
2017-04-17 21:06:37 +01:00
Matthew Hodgson
691639d1e0 track RoomTile focus in RoomList, and stop the RoomList from updating during mouseOver 2017-04-15 13:25:32 +01:00
Luke Barnard
1f788feacd Merge the two RoomTile context menus into one
This will require riot-web changes https://github.com/vector-im/riot-web/pull/3395
2017-03-09 17:03:57 +00:00
Luke Barnard
391886cac4 Remove dis as a dep in RoomTile 2017-03-06 17:45:25 +00:00
Luke Barnard
bf348a0f78 Instead of listening for view_room, use a callback
But make sure that nothing other than the callback is done when RoomTile is clicked.
2017-03-06 17:44:29 +00:00
Luke Barnard
ca5c2fb82e Allow user to choose from existing DMs on new chat
When creating a new chat with one person, show a dialog that asks the user whether they'd like to use an existing chat or actually create a new room.

Fixes https://github.com/vector-im/riot-web/issues/2760
2017-03-03 13:48:37 +00:00
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Matthew Hodgson
b76b0f755d fix context menu bg 2017-01-20 02:47:47 +00:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
041196d729 Added quick search functionality 2017-01-13 19:36:40 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Aviral Dasgupta
022eb575d9 Upgrade to babel6 and enable some presets. 2016-10-17 16:23:25 +01:00
David Baker
5b4b81f7dc Revert "Switch to babel 6" 2016-10-14 18:49:52 +01:00
Aviral Dasgupta
2d173d83b9 Upgrade to babel6 and enable some presets. 2016-10-02 17:27:45 +05:30
David Baker
690309adfc Bring back the little green men without slowness
Introduces a singleton DMRoomMap that subscribes to account data to keep itself up to date so we don't have to keep doing the map inversion for each room tile.
2016-09-26 18:02:14 +01:00
Matthew Hodgson
40ba1ff5aa disable LGM badges for DMs temporarily - see https://github.com/vector-im/vector-web/issues/2343 2016-09-24 00:43:46 +01:00
Matthew Hodgson
0046ae50b5 switch to 3-digit formatting for counts 2016-09-17 02:39:19 +01:00
wmwragg
45f17eb973 Added incomingCallBox to header and removed from roomTile 2016-09-15 14:39:34 +01:00
Matthew Hodgson
83209197f4 Merge branch 'develop' into matthew/notif-panel 2016-09-11 02:38:16 +01:00
Matthew Hodgson
bae6409edb show badge menu on RoomTile hoverover 2016-09-11 00:30:43 +01:00
David Baker
590d6d3ee8 Merge remote-tracking branch 'origin/develop' into dbkr/memberinfo_list_rooms 2016-09-09 16:22:48 +01:00
David Baker
aa0f15c46e List common rooms in MemberInfo 2016-09-09 16:15:01 +01:00