* Form refactor (#3816) * New form API and associated form controls * Actions updated to use new form API. Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov> Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov> * Reimplementation of import export json (#4171) Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov> Co-authored-by: charlesh88 <charles.f.hacskaylo@nasa.gov> Co-authored-by: Henry Hsu <hhsu0219@gmail.com> Co-authored-by: Andrew Henry <akhenry@gmail.com>
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. Achieving 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.