Commit Graph
75 Commits
Author SHA1 Message Date
Evan Simkowitz 86d6c5cd60 set prefers-reduced-motion as a global override 2024-08-30 12:48:06 -07:00
Evan Simkowitz 3f4026a6b7 fix resize handle transition timing 2024-08-30 12:45:12 -07:00
Evan SimkowitzandGitHub e9b78c354f Resize handle improvements (#299)
Adds a delay to the resize handle line first showing so it doesn't flicker when the mouse briefly passes over it. Also removes an unnecessary findNode call that was happening on every move. Also adjusts the pointer offset based on the display container bounding rect.
2024-08-30 12:31:03 -07:00
Evan Simkowitz 87d69eb5bc fix treereducer getting out of sync 2024-08-29 12:38:13 -07:00
Evan Simkowitz c9a1e9afe3 fix drag overlay losing rect changes 2024-08-28 16:24:25 -07:00
Evan Simkowitz 59979b13e7 use linear timing function for layout transitions 2024-08-28 14:25:47 -07:00
Evan SimkowitzandGitHub 099c196cae Use transition events to better-coordinate debouncing of NodeModel innerRect (#288)
Rather than using a timeout to debounce changes to the
NodeModel.innerRect, I'll use a transition event on the display
container. This way, if the user disables transitions using the reduced
motion setting, changes to the innerRect value will not be debounced.
2024-08-28 13:28:49 -07:00
Evan SimkowitzandGitHub fb65ec1e23 Explicitly set focus on insert (#285)
Adds a flag to the insert layout action to explicitly set the focus of a
newly inserted node. This also adds a flag in the starter layout to
focus on the terminal block.
2024-08-27 23:16:07 -07:00
Evan SimkowitzandGitHub c9c555452a Establish wlayout for coordinating backend layout actions (#282) 2024-08-27 18:38:57 -07:00
Evan Simkowitz 7d90a3912b fix nullref in layoutNode.findNode 2024-08-27 13:48:53 -07:00
sawka 730c0b1eea fix nullptr for non-focused node 2024-08-27 13:45:05 -07:00
Evan SimkowitzandGitHub c892c39a73 Fix block content sizing (#280)
Make the block content sizing update once when its node moves or becomes
magnified. By manually updating this inner sizing rather than letting
the block flow in the DOM, the animations of the block frames are much
smoother.

This also fixes an issue where two scrollbars were being rendered for
the Directory Preview widget.

This also sets zero padding on nodes when there's only a single node
being rendered.
2024-08-27 13:41:36 -07:00
Evan Simkowitz 8fcc856740 fix node collapse edge case 2024-08-27 13:25:02 -07:00
Evan Simkowitz fac706fb4f remove .js from imports 2024-08-26 16:37:05 -07:00
Evan Simkowitz 56757e4bb0 fix layoutTree tests 2024-08-26 16:35:35 -07:00
Evan Simkowitz cefc491bf2 fix layoutNode and layout util tests 2024-08-26 16:27:57 -07:00
Evan SimkowitzandGitHub eea57af80b Fix Cmd-W to close focused node (#273)
Fixes the in-memory focused node stack so it can be used to find the currently-focused node. This is necessary for `closeFocusedNode` to work.  Also fixes `validateFocusedNode` so it will set the first node to be focused if no focused node is available. Also cleans up leafOrder update pattern.
2024-08-26 12:32:28 -07:00
164afeeb66 Unified node model to pass data from layout to blocks (#259)
This adds a new NodeModel, which can be passed from the TileLayout to
contained blocks. It contains all the layout data that the block should
care about, including focus status, whether a drag operation is
underway, whether the node is magnified, etc.

This also adds a focus stack for the layout, which will let the focus
switch to the last-focused node when the currently-focused one is
closed.

This also addresses a regression in the resize handles that caused them
to be offset from the cursor when dragged.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-08-26 11:56:00 -07:00
Evan Simkowitz 7c03a58b1b don't set ready in effect 2024-08-22 19:26:22 -07:00
Evan SimkowitzandGitHub d5140129cd Fix block numbering and switching with arrow keys (#258) 2024-08-21 17:43:11 -07:00
Evan SimkowitzandGitHub 23261a7a98 Add flag for specifying a new node as magnified on insert (#253) 2024-08-20 20:14:14 -07:00
Evan SimkowitzandGitHub bd4bf93d4a Update copyright indicators on a bunch of files (#255) 2024-08-20 17:01:29 -07:00
Evan Simkowitz 319d84d0b5 remove layout Dimensions declaration in favor of global 2024-08-19 14:33:44 -07:00
Evan Simkowitz 6df50a5790 use one multiply instead of two divide for minnodesize calc 2024-08-17 00:15:03 -07:00
Evan Simkowitz c8d32c1668 set min resize size for nodes 2024-08-17 00:13:55 -07:00