mirror of
https://github.com/nasa/openmct.git
synced 2024-12-23 15:02:23 +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.
25 lines
834 B
Markdown
25 lines
834 B
Markdown
# 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.
|