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
5e7c2952a1
Hook up WS connection to client UI
2020-02-10 23:14:20 +00:00