mirror of
https://github.com/nasa/openmct.git
synced 2025-02-20 17:33:23 +00:00
When moving an object that supports composition, child objects which are originals must have their location updated as well. Children which are links should not have their location updated, nor should any of their children be updated.
Entanglement
Entanglement is the process of moving, copying, and linking domain objects in such a way that their relationships are impossible to discern.
This bundle provides move, copy, and link functionality. Acheiving a state of entanglement is left up to the end user.
Services implement logic
Each method (move, copy, link) is implemented as a service, and each service
provides two functions: validate
and perform
.
validate(object, parentCandidate)
returns true if the object
can be
move/copy/linked into the parentCandidate
's composition.
perform(object, parentObject)
move/copy/links the object
into the
parentObject
's composition.
Actions implement user interactions
Actions are used to expose move/copy/link to the user. They prompt for input where necessary, and complete the actions.