Commit graph

10 commits

Author SHA1 Message Date
rr-
1b62daed9a client/general: clean up, refactor 2016-08-05 23:02:41 +02:00
rr-
394e51ed21 client/general: improve scrolling 2016-07-13 17:18:28 +02:00
rr-
54e3099c56 client/general: refactor control flow
- Controller lifetime is bound to route lifetime
- View lifetime is bound to controller lifetime
- Control lifetime is bound to view lifetime
- Enhanced event dispatching
- Enhanced responsiveness in some places
- Views communicate user input to controllers via new event system
2016-06-18 10:35:20 +02:00
rr-
69fe8ec31a client/general: refactor all the things
- Move controls to the "controls/" directory
- Make controls interface look similar to each other
- Prefix "private" methods and attributes with underscore
2016-05-21 00:08:43 +02:00
rr-
2a4241641c client/events: improve event dispatching
This commit introduces timer-less retry system:

1. Any change to URL is going to stop listening to any messages.
2. If a message is sent and there's no handler that could pick it up,
   the message gets enqueued.
3. The message is sent again to the first handler that attaches itself
   to given event type.

While in theory this is full of holes (no control over the first
handler), in practice, it works quite well.

Additionally, views.listenToMessages was attaching to completely wrong
DOM node; this commit fixes this as well.
2016-05-11 23:47:50 +02:00
rr-
2e1823b708 client/views: replace inheritance with composition 2016-04-09 22:23:24 +02:00
rr-
5bd7f1fa6c client/views: move notifications to controllers 2016-04-08 13:48:23 +02:00
rr-
0ceaa8da42 client/views: refactor rendering 2016-04-08 13:48:23 +02:00
rr-
8a1140eff6 client/api: convert messages to events 2016-04-08 09:48:47 +02:00
rr-
92dd958866 client+server: finish password reminders 2016-04-06 17:56:34 +02:00