* enhance(ux): up/down to navigate table rows
* enhance: remove block id+uuid class
Use `blockid`.
* enhance: arrowleft to select cell when a table row has been selected
* wip: table cell navigation
* feat: up/down/left/right table cell navigation
* enhance(ux): scroll to cell when it's not visible
* fix: save block content when exit title cell popup
* fix: table keyboard navigation doesn't work on virtualized table
The solution is to preload more rows for virtualized tables.
This commit also removes parents from page reference display because
1. there're bugs when clicking to edit
2. this may not be users' expected behavior
Uses properties :logseq.property.linked-references/included-pages
and :logseq.property.linked-references/excluded-pages to store filters
instead of a map.
Fixes LOG-3074
Finally no need to worry about parent-left conflicts and broken chain.
With :block/order, we only need to re-compute new orders for siblings
with same order (it can happens if there're bugs in our code, or
updates from rtc), but it doesn't break UI.
Another huge potential benefit after discussing with Zhiyuan is:
Ee might be able to simplify both RTC and undo/redo, currently, we
need to handle each new op for both of them, with recently
refactorings like properties being db attributes, :block/order
is a string instead of a ref, we can handle most property value
conflicts using last-write-wins, and others (e.g. :block/parent,
property with :default type) specifically.
I haven't fixed the issues of using :block/left in RTC and undo/redo,
because we might change both soon.
1. back to use container id + editing block id instead of block dom
ref to decide which block is in editing, to simplify edit-block! and
reduce browser gc.
2. set next editing block ahead of receiving the data changes from db
worker, so the editor feels a bit faster.
So the tx-data will be built on top of the full db instead of the
partial db from the UI thread, it also reduces the risk to use
outdated data since RTC can transact data from the worker.
Also fixed db-and-file-graphs-separate lint and moved gp-property tests
that should be moved since their source code has moved from frontend
to gp-property