Commit graph

94 commits

Author SHA1 Message Date
0edc241149 [client] Adjust editor to look like web client text boxes 2020-03-14 01:12:21 +00:00
d58f1e4fef [client] Fix rendering of nodes containing empty strings 2020-02-28 19:35:42 +00:00
041f117df8 [client] Allow choosing the attribute name for the indentation text 2020-02-28 19:28:44 +00:00
0d01e4792d [client] Remove microlens dependency 2020-02-28 19:25:31 +00:00
50e78cfed3 [client] Use the correct function for the job
Somehow, I missed this function and reimplemented it myself. Sometimes it helps
to read the documentation...
2020-02-28 19:25:31 +00:00
ab8c764329 [client] Align node permissions to the right
The previous layout depended on txtWrap being greedy, but not taking up all
available horizontal space. That behaviour is incorrect according to the
definition of greedy widgets, which have to take up all available horizontal
space.

In brick 0.52, this behaviour has been partially fixed. The padRight function
added in this commit emulates the correct txtWrap behaviour even for cases where
txtWrap has not been fixed yet. If txtWrap is fixed entirely, the padRight can
be removed again.
2020-02-27 15:09:11 +00:00
22974d96a7 [server] Move server-related files into their own subdirectory 2020-02-26 08:57:09 +00:00
a2c2c4487b [client] Improve cursor behaviour when elements are deleted 2020-02-26 08:57:09 +00:00
9fa804f87f [stack] Update resolver 2020-02-24 13:27:39 +00:00
657adad7e5 [client] Improve reply interactions 2020-02-24 12:41:32 +00:00
901a1c4bce [client] Grey out tree lines 2020-02-24 00:20:37 +00:00
6359555db6 [client] Add key bindings to help text 2020-02-20 00:39:53 +00:00
e6958e11cb [client] Only send packets when the corresponding permission is set 2020-02-19 23:48:21 +00:00
ec61c4d092 [client] Unfold a node when replying to it 2020-02-19 23:45:54 +00:00
1fd476e585 [client] Fix initial editor contents 2020-02-19 23:37:36 +00:00
385ec894ef [client] Fix rendering of editor 2020-02-19 23:37:22 +00:00
661c233ce1 [client] Fix cursor becoming invisible 2020-02-19 23:36:14 +00:00
e8b6efcb76 [client] Rewrite client structure 2020-02-19 23:12:53 +00:00
bd06b64699 [docs] Add back inital root node in server hello packet 2020-02-18 12:13:29 +00:00
f2e77b7c03 [server] Implement shared editing module 2020-02-18 00:43:30 +00:00
e917893a9b [server] Print exceptions encountered during a connection 2020-02-18 00:42:57 +00:00
af8305bfac [client] Print exceptions encountered while UI is running 2020-02-18 00:42:30 +00:00
8c233ae4e0 [server] Fix fork module
Previously, the fork module would return Just () on all actions. This made the
server disconnect any client after a successful action (e. g. editing a node).
2020-02-18 00:41:19 +00:00
d2c6efd6c4 [server] Implement API changes 2020-02-17 23:34:02 +00:00
964b13739a [server] Add ordered map
It works similar to a map, but additionally keeps track of the order of its
keys.
2020-02-17 23:33:50 +00:00
4d06e48a82 [docs] Switch to map of child nodes plus display order 2020-02-16 23:32:33 +00:00
a50338a028 [docs] Add link to status code section of websocket RFC 2020-02-15 14:27:29 +00:00
8bf783b85a [docs] Add API documentation 2020-02-15 14:27:23 +00:00
2a2b148046 [server] Add return value to tree modules
Now, tree modules can't just stop, they can Just stop. Sorry... But they can
return values now, with a tiny bit of type class trickery.
2020-02-13 23:38:26 +00:00
220b5a3234 [server] Adjust TreeModule structure
This commit prepares a slighly more powerful TreeModule structure: Now,
TreeModules can finish their execution, which should make some kinds of menus
and transitions possible.
2020-02-13 23:23:15 +00:00
d08f858692 [client] Make websocket connection closing more robust 2020-02-12 13:04:47 +00:00
5e7f90c6d5 [server] Rename tree module files 2020-02-12 11:34:25 +00:00
3656483bc8 [server] Add very simple animation module
I mostly used this module for testing the partial tree updates.
2020-02-12 11:07:12 +00:00
b2b34d551a [server] Send partial updates when possible 2020-02-12 10:58:39 +00:00
45a6d1934e [server] Fix typo 2020-02-12 00:38:35 +00:00
6d6344d372 [server] Add ForkModule for combining other modules
This one has some interesting code in its constructor, using the Cont monad
because of the way the ModuleConstructor is structured.
2020-02-12 00:38:29 +00:00
d5d0fccdaf [server] Improve readability of project description 2020-02-11 18:04:07 +00:00
7709fc92a9 [server] Write better project description 2020-02-11 17:37:38 +00:00
f101ecdbb4 [client] Adjust padding 2020-02-11 17:35:55 +00:00
a546ce0334 Fix order of nodes in client 2020-02-11 17:35:55 +00:00
ae28d79b46 Scroll so editor cursor is always visible
This took a bit to figure out. Also, this is the only point in this project
where I use lenses.
2020-02-11 12:59:36 +00:00
70bbc3a69a Scroll so focused element is always visible 2020-02-11 12:14:51 +00:00
9f507b5b9e Add help to command line parser 2020-02-11 12:14:25 +00:00
1dfce4a93d Wrap node text in client 2020-02-11 11:48:10 +00:00
4c24430c07 Display custom node in ConstModule
Also wrote a short introductory node explaining node permissions.
2020-02-11 11:48:10 +00:00
29e19ec1b2 Add very basic logging to client 2020-02-11 11:38:28 +00:00
92f4804b40 Allow all actions on ConstModule node 2020-02-10 23:49:46 +00:00
70e3386cb5 Implement client actions properly 2020-02-10 23:49:34 +00:00
5902421872 Add very basic logging to server 2020-02-10 23:48:44 +00:00
fb6cfdefd7 Add ConstModule loading delay 2020-02-10 23:14:25 +00:00