Dan Brown [Wed, 28 May 2025 21:47:39 +0000 (22:47 +0100)]
Lexical: Further improvements to table selection and captions
- Fixed errors with selection and range handling due to captions
existing.
- Updated TableNode change handling to update existing DOM instead of
re-creating, which avoids breaking an attached selection helper.
- To support, Added function to handle node change detection and apply
relevant dom updates for common properties.
Dan Brown [Mon, 26 May 2025 17:47:51 +0000 (18:47 +0100)]
Lexical: Changed table esacpe handling
Avoids misuse of selectPrevious/Next as per prior commit which was then
causing problems elsewhere, and is probably best to avoid creation in
those select methods anyway.
Dan Brown [Mon, 26 May 2025 13:48:13 +0000 (14:48 +0100)]
Lexical: Made a range of selection improvements
Updated up/down handling to create where a selection candidate does not
exist, to apply to a wider scenario via the selectPrevious/Next methods.
Updated DOM selection change handling to identify single selections
within decorated nodes to select them in full, instead of losing
selection due to partial selection of their contents.
Updated table selection handling so that our colgroups are ignored for
internal selection focus handling.
Dan Brown [Sun, 25 May 2025 15:28:42 +0000 (16:28 +0100)]
Lexical: Updated dropdown handling to match tinymce behaviour
Now toolbars stay open on mouse-out, and close on other toolbar open,
outside click or an accepted action.
To support:
- Added new system to track and manage open dropdowns.
- Added way for buttons to optionally emit events upon actions.
- Added way to listen for events.
- Used the above to control when dropdowns should hide on action, since
some dont (like overflow containers and split dropdown buttons).
Dan Brown [Sat, 3 May 2025 19:30:50 +0000 (20:30 +0100)]
Images: Changed how new image permissions are set
Removed default public visibility for images at the driver level,
leaving only doing this as a specific action in the logic.
Added try/catch around permission setting so that
permission-incompatible environments won't fatally fail, but instead
log a warning.
Tested via a google cloud storage bucket FUSE mount, mounted under another
user but with open 777 permissions.
Dan Brown [Thu, 1 May 2025 16:22:12 +0000 (17:22 +0100)]
Comments: Further range of content reference ux improvements
- Added reference indicator to comment create form.
- Added remove action.
- Extracted reference text to translations.
- Changed reference hash to be text-based instead of HTML based.
- Added reference display for newly added comments.
- Handled reference marker delete on comment delete.
Dan Brown [Sun, 27 Apr 2025 15:51:24 +0000 (16:51 +0100)]
Comments: Split out page comment reference logic to own component
Started support for editor view.
Moved comment elements to be added relative to content area instad of
specific target reference element.
Added relocating on screen size change.
Dan Brown [Fri, 18 Apr 2025 19:42:56 +0000 (20:42 +0100)]
Comments & Pointer: Converted components to typescript
Made changes for dom and translation services for easier usage
considering types.
trans_choice updated to allow default count replacement data as per
Laravel's default behaviour.
Dan Brown [Thu, 27 Mar 2025 17:49:48 +0000 (17:49 +0000)]
Lexical: Made list selections & intendting more reliable
- Added handling to not include parent of top-most list range selection
so that it's not also changed while not visually part of the
selection range.
- Fixed issue where list items could be left over after unnesting, due
to empty checks/removals occuring before all child handling.
- Added node sorting, applied to list items during nest operations so
that selection range remains reliable.
Dan Brown [Thu, 27 Mar 2025 14:13:18 +0000 (14:13 +0000)]
Lexical: Fixed issues with content not saving
Found that saving via Ctrl+Enter did not save as logic to load editor
output into form was bypassed, which this fixes by ensuring submit
events are raised during for this shortcut.
Submit handling also gets a timeout added since, at least in FF,
requestSubmit did not re-submit a form while in a submit event.
Dan Brown [Mon, 24 Feb 2025 16:58:59 +0000 (16:58 +0000)]
Sorting: Fixes during testing of sort rules
- Fixed name numeric sorting not working as expected due to bad
comparison.
- Added name numeric desc operation option.
- Added test to ensure each operating has a comparison function.
Dan Brown [Sun, 16 Feb 2025 15:09:33 +0000 (15:09 +0000)]
Lexical: Fixed code in lists, removed extra old alignment code
Code in lists could throw error on parse due to inner <code> tag being
parsed but not actually used within a <pre>, so this updates the
importDOM to disregard childdren for code blocks.
This also improves the invariant implementation to not be so
dev/debugger based, and to include vars in the output.
Dan Brown [Fri, 14 Feb 2025 19:01:51 +0000 (19:01 +0000)]
Searching: Added custom tokenizer that considers soft delimiters.
This changes indexing so that a.b now indexes as "a", "b" AND "a.b"
instead of just the first two, for periods and hypens, so terms
containing those characters can be searched within.