Implement Interactive Family Tree Builder with Drag-and-Drop Functionality #1028
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request was created by Sweep to resolve the following request by @curtisdelicata:
Continue chatting at https://sweep-chat-demo.vercel.app/c/3ace74af-e817-4689-8fdc-797974a44e98.
Purpose
Enhance the genealogy application by introducing an interactive family tree builder that allows users to visually manipulate and position family members within a dynamic tree interface.
Description
This pull request adds a comprehensive family tree builder feature with the following key functionalities:
The implementation includes a Livewire component (
FamilyTreeBuilder
) that manages the tree data, handles person positioning, and provides methods for adding, removing, and updating person information. The frontend uses interact.js for drag-and-drop interactions and includes custom styling to create an intuitive user experience.A new database migration adds
tree_position_x
andtree_position_y
columns to thepeople
table to persist the visual positioning of individuals in the family tree.Summary
FamilyTreeBuilder
Livewire componentupdatePersonPosition()
addPerson()
removePerson()
Person
model to support tree positioning attributes