Andrew Kingston
|
c888b703dd
|
Improve comments and namimg conventions
|
2022-10-24 13:32:48 +01:00 |
Andrew Kingston
|
ce78c5ecb9
|
Refactor app preview event sending to support async callbacks in client library
|
2022-10-24 09:02:50 +01:00 |
Andrew Kingston
|
794db1a7db
|
Make DND feel much smoother by persisting the end position of drops, and more performance by properly memoizing some state values
|
2022-10-21 16:54:34 +01:00 |
Andrew Kingston
|
a367863d43
|
Allow normal DND in and out of grid children
|
2022-10-18 18:49:24 +01:00 |
Andrew Kingston
|
a870d2473d
|
Allow grid DND without selecting components
|
2022-10-18 18:29:21 +01:00 |
Andrew Kingston
|
15bbc78847
|
Add grid functionality separately to DND
|
2022-10-18 16:18:22 +01:00 |
Andrew Kingston
|
fecb8bb1a6
|
Fix DND not working in field groups and any other component where children are not rendered inside the first DOM node
|
2022-10-14 19:34:23 +01:00 |
Andrew Kingston
|
1a210e3ee6
|
Fix issues dropping components from new component panel
|
2022-10-14 18:24:47 +01:00 |
Andrew Kingston
|
2ffb29dddf
|
Invert some client store dependencies to improve performance and prevent dependency cycles
|
2022-10-14 18:16:19 +01:00 |
Andrew Kingston
|
4e94b6633f
|
Don't reset component padded state for DND until dragging stops, to prevent jankiness due to losing space
|
2022-10-14 15:45:02 +01:00 |
Andrew Kingston
|
a71a553ee6
|
Add ability to drag new components into the preview
|
2022-10-14 13:37:14 +01:00 |
Andrew Kingston
|
f7d6e8db60
|
Improve DND experience, use correct size of drop placeholder and don't drop if the position is unchanged
|
2022-10-11 16:02:09 +01:00 |
Andrew Kingston
|
efe9425d3d
|
Improve column/row detection by appending an ephemeral child component and tune timings
|
2022-10-11 08:52:45 +01:00 |
Andrew Kingston
|
e90a79257f
|
Remove dragged component from consideration of drop target
|
2022-10-10 14:00:37 +01:00 |
Andrew Kingston
|
73a206e2f1
|
Fully remove source component from client tree while dragging
|
2022-10-10 09:51:13 +01:00 |
Andrew Kingston
|
b2be069ef1
|
Make DND work again by converting new parent+index params into old target+mode
|
2022-10-10 09:36:17 +01:00 |
Andrew Kingston
|
7d72cee304
|
Tune DND throttle rate
|
2022-10-10 09:22:47 +01:00 |
Andrew Kingston
|
0d35e03bdf
|
Rename DND state variables for clarity
|
2022-10-08 15:28:22 +01:00 |
Andrew Kingston
|
234d8953f2
|
Fix row/column detection, add comments and remove old code
|
2022-10-08 15:18:05 +01:00 |
Andrew Kingston
|
c2b32f8c5e
|
Throttle updates to prevent all jank and revert to component center breakboints for DND candidates
|
2022-10-08 15:04:18 +01:00 |
Andrew Kingston
|
09f2cc1f72
|
Reduce jank by computing symmetrical component breakpoint whens considering DND candidate positions and ignoring the hidden selected component
|
2022-10-07 20:00:25 +01:00 |
Andrew Kingston
|
5beb6819ec
|
Fix issue with layout determination
|
2022-10-07 12:45:22 +01:00 |
Andrew Kingston
|
d4a767f93e
|
Improve row vs column detection to fix any edge cases
|
2022-10-07 08:46:38 +01:00 |
Andrew Kingston
|
bb8388133a
|
Rewrite drag and drop from scratch using mouse position heuristics
|
2022-10-07 08:05:44 +01:00 |
Andrew Kingston
|
9c82a9d073
|
Don't clear drop target on invalid selection
|
2022-10-06 09:17:26 +01:00 |
Andrew Kingston
|
c9ee465507
|
Replace incorrect usages of element.childNodes with element.children
|
2022-07-15 13:47:39 +01:00 |
Andrew Kingston
|
fd532a88d5
|
Improve performance when determining client component icons and update layout to allow for a better visual selection of the navigation section
|
2022-05-23 12:22:42 +01:00 |
Andrew Kingston
|
86e0e8acc2
|
Fix DND throwing errors due to browser API updates
|
2022-01-20 11:52:29 +00:00 |
Andrew Kingston
|
c4bbaa6617
|
Allow blocks which take children to work with DND
|
2021-11-12 15:18:55 +00:00 |
Andrew Kingston
|
25bafc15d2
|
Use explicity onDestroy calls rather than an onMount return value to ensure callbacks are actually executed to fix data provider cleanup issues
|
2021-10-27 14:24:36 +01:00 |
Andrew Kingston
|
eeb0617d2b
|
Enable left/right side targetting for DND
|
2021-09-21 08:36:02 +01:00 |
Andrew Kingston
|
dc3df10c58
|
Reduce DND snap to edge threshold to prevent unwanted target spamming on the edges of the parent component
|
2021-09-20 16:11:42 +01:00 |
Andrew Kingston
|
488ec4d988
|
Refactor client app data tags to be classnames and simplify logic
|
2021-09-20 15:34:51 +01:00 |
Andrew Kingston
|
e19d17c4f5
|
Prevent DND targetting either above or below the screen/layout, and fix bug determinging whether a drop target is valid
|
2021-09-20 09:12:35 +01:00 |
Andrew Kingston
|
8cf3971b47
|
Only allow dropping inside empty components that accept children to massively reduce the amount of unwanted drop targets due to parent container components
|
2021-09-20 08:26:44 +01:00 |
Andrew Kingston
|
f0dde4a4a4
|
Fix a few possible crashes by dragging in certain ways, and display on screen when an invalid drop target is hovered over
|
2021-09-20 08:06:01 +01:00 |
Andrew Kingston
|
7eeb215e51
|
Refactor to use generic flag for dragging and hide settings bar when dragging
|
2021-09-17 14:17:50 +01:00 |
Andrew Kingston
|
cb04b3fa7d
|
Ensure hover indicator is correctly hidden when using DND and improve DND labels
|
2021-09-16 16:02:45 +01:00 |
Andrew Kingston
|
601a4935a9
|
Ensure transitions work properly when showing and hiding DND candidate positions
|
2021-09-16 15:49:58 +01:00 |
Andrew Kingston
|
46867b8a19
|
Add labels to DND to describe where the component will be dropped
|
2021-09-16 15:08:42 +01:00 |
Andrew Kingston
|
bdc86e4c22
|
Add above/below dnd and support for dropping above/below components which also allow dropping inside
|
2021-09-16 14:28:44 +01:00 |
Andrew Kingston
|
0ce0f5c823
|
Add initial DND implementation with working functionality for dropping inside components
|
2021-09-16 07:28:59 +01:00 |