mirror of
https://github.com/nasa/openmct.git
synced 2024-12-22 22:42:24 +00:00
9123078293
The entanglement bundle defines move, copy, and link actions, and exposes them as context menu actions. * The Move action moves an object from it's current parent to a new parent object. * The Copy action deep-copies an object to a new parent object. * The Link action links an object to a new parent object. These actions are implemented by three new services: moveService, copyService, and linkService. Mocks are provided for each service for easy testing of components that depend on them. Additionally, this bundle provides a DomainObjectFactory that simplifies the construction of mockDomainObjects for tests. These actions are exposed to the user as context menu options.
834 B
834 B
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.