Commit graph

7885 commits

Author SHA1 Message Date
lukebarnard
d5534a9ece Copyright 2017-12-13 10:17:38 +00:00
Luke Barnard
13925db251 Refactor to allow dispatching of two kinds of Actions
They are:
 1. The existing type of Action, Objects with an `action` type.
 1. Asyncronous Actions, functions that accept a `dispatch` argument, which can be used to dispatch Actions asyncronously.
2017-12-12 17:32:43 +00:00
Luke Barnard
60d8ebb914 Refactor MatrixActions to something much easier to grok. 2017-12-12 16:05:18 +00:00
Luke Barnard
3e532e3722 Use consistent indentation and break;s in TagOrderStore switch 2017-12-12 14:10:39 +00:00
Luke Barnard
a120335130 Handle groups being joined and left 2017-12-11 18:03:19 +00:00
Luke Barnard
8d2d3e62cd Only commit a non-falsy tags list 2017-12-11 17:30:10 +00:00
Luke Barnard
0b38bf5e7b Do not allow ordering until TagOrderStore has loaded 2017-12-11 17:24:33 +00:00
Luke Barnard
aa914098dc Return null if TagOrderStore is loading
The view should decide the default state.
2017-12-11 17:19:29 +00:00
Luke Barnard
991ea4ebe5 Fix a few bugs with TagOrderStore:
- Have TagOrderStore listen for MatrixSync actions so that it can initialise
   tag ordering state.
 - Expose an empty list until the client has done its first sync and has
   fetched list of joined groups
2017-12-11 17:17:05 +00:00
Luke Barnard
df88b71dbb Comment typo 2017-12-08 16:47:52 +00:00
Luke Barnard
8f0774496f Remove redundant MatrixChat 2017-12-08 11:29:21 +00:00
Luke Barnard
53e7232a97 Linting 2017-12-08 11:08:57 +00:00
Luke Barnard
31a52c15bd Fix bug with removing matrix listeners 2017-12-08 10:55:29 +00:00
Luke Barnard
72550961e5 Move 'commit_tags' to action creator 2017-12-08 10:52:20 +00:00
Luke Barnard
12515441cd Handle accountData events from TagOrderStore
This introduces a generic way to register certain events emitted by
the js-sdk as those that should be propagated through as dispatched
actions.

This allows the store to treat the js-sdk as the "Server" in the
Flux data flow model. It also allows for stores to not be aware
specifically of the matrix client if they are only reading from it.
2017-12-08 10:05:18 +00:00
Luke Barnard
ee6df105fe Introduce action creators
These can be used to dispatch actions immediately, or after some asynchronous
work has been done. Also, create GroupActions.fetchJoinedGroups as an example.

The concept of async action creators can be used in the following cases:
 - stores or views that do async work, dispatching based on the results
 - actions that have complicated payloads, would make more sense as functions
   with documentation that dispatch created actions.
2017-12-07 14:17:32 +00:00
Luke Barnard
65d88334a9 Fix linting
React DnD specifies functions with upper-case first letters
2017-12-06 16:48:18 +00:00
Luke Barnard
7e1f1cdbd9 Move DragDropContext to wrap LoggedInView
Becuase the tests rely on being able to inspect the state of MatrixChat
2017-12-06 15:01:16 +00:00
Luke Barnard
8f88995b3d Add analytics to TagOrderStore 2017-12-06 14:22:11 +00:00
Luke Barnard
a9cc8eba33 Remove redundant TagOrderStore.orderedTags setting 2017-12-06 14:20:16 +00:00
Luke Barnard
35a108eecc Simplify render of TagPanel - remove sorting 2017-12-06 14:17:26 +00:00
Luke Barnard
4af7def20e Use AccountData im.vector.web.tag_ordering
Also, make defaults sensible
2017-12-06 14:13:08 +00:00
Luke Barnard
7aa5dcef69 Move DragDropContext to wrap entire app 2017-12-06 13:10:58 +00:00
Luke Barnard
a8a650c24a Move TagTile to separate file, and make it dragable 2017-12-06 11:25:46 +00:00
Luke Barnard
82a95f0793 Simplify order_tag in TagOrderStore
such that:
 - it takes a targetTag to be replaced instead the previous tag to insert after
 - it optionally displaces the targetTag before or after the inserted tag
2017-12-06 11:22:06 +00:00
Luke Barnard
8178496457 Implement Store for ordering tags in the tag panel 2017-12-05 14:45:44 +00:00
Luke Barnard
4f58b92a14 Merge branch 'master' into develop 2017-12-04 12:24:56 +00:00
Luke Barnard
1a283f90f5 v0.11.3 2017-12-04 12:24:21 +00:00
Luke Barnard
d2cb46159b Prepare changelog for v0.11.3 2017-12-04 12:24:21 +00:00
Luke Barnard
50e227f5c0 Bump js-sdk dep. to 0.9.2 2017-12-04 12:15:19 +00:00
Luke Barnard
aee04e41a6 Bump js-sdk dep. to 0.9.2 2017-12-04 11:59:01 +00:00
Luke Barnard
641add4964 Fix one kind of scroll jump
by calling onWidgetLoad when the <img> in MImageBody loads
2017-12-01 14:18:13 +00:00
Luke Barnard
b26cf23574
Merge pull request #1641 from matrix-org/luke/tag-panel-shift-click-semantics
Implement shift-click and ctrl-click semantics for TP
2017-12-01 12:04:21 +00:00
Luke Barnard
363fe04a10 isCtrlOrCmdKeyEvent -> isOnlyCtrlOrCmdKeyEvent 2017-12-01 10:44:00 +00:00
Luke Barnard
ddd0e161c0 Fix broken imports 2017-12-01 10:41:56 +00:00
Luke Barnard
fe81fcb8c6 Factor out isCtrlOrCmdKeyEvent, use that in TagPanel
as opposed to the incorrect ctrl || meta
2017-12-01 10:30:49 +00:00
David Baker
f30094c648
Merge pull request #1642 from matrix-org/luke/tag-panel-do-not-view-group
Don't show group when clicking tag panel
2017-11-30 15:43:24 +00:00
Luke Barnard
eaaa9fe747 Don't show group when clicking tag panel 2017-11-30 15:35:40 +00:00
Luke Barnard
3bcb3195c4 Implement shift-click and ctrl-click semantics for TP 2017-11-30 14:48:54 +00:00
Luke Barnard
7118f7a38f gen-18n 2017-11-29 18:41:08 +00:00
Luke Barnard
feb193afd4
Merge pull request #1639 from matrix-org/luke/feature-tag-panel
Implement TagPanel (or LeftLeftPanel) for group filtering
2017-11-29 18:16:43 +00:00
Luke Barnard
f708250d44 Add feature flag for Tag Panel 2017-11-29 18:00:42 +00:00
Luke Barnard
ead30fae9d Use unmounted instead of mounted 2017-11-29 17:07:43 +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
Luke Barnard
ff25c2f329
Merge pull request #1638 from matrix-org/luke/feature-bulk-device-deletion
Implement UI for using bulk device deletion API
2017-11-28 16:01:39 +00:00
David Baker
a5acc2cfc2
Merge pull request #1637 from matrix-org/luke/replace-IRC-with-flair
Replace (IRC) with flair
2017-11-28 16:00:47 +00:00
Luke Barnard
736b8045aa Remove evil auth cache 2017-11-28 15:54:00 +00:00
Luke Barnard
204bbebfca Only calculate displayed groups if flair enabled 2017-11-28 15:49:11 +00:00
Luke Barnard
b32e4a57bc Factor out _getDisplayeDGroups 2017-11-28 15:46:23 +00:00
Luke Barnard
b748c62880 Renames for clarification 2017-11-28 15:40:36 +00:00