Deep Tailor 6ab468086a
Lock views and prevent editing (#3094)
* working lock and unlock

* prevent flexible layout drop hints from showing

* fix lint issue

* wip

* disable mousedown when not editing in DisplayLayout

* continued wip

* Cherrypick new glyphs from add-new-glyphs-062320

* More new glyphs, updated art

- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;

* Edit toggle refinements WIP

- Markup, CSS in BrowseBar.vue;

* More new glyphs, updated art

- New glyphs: icon-unlocked and icon-target;
- Updated art for icon-lock glyph;

* Edit toggle refinements

- Replaced toggle switch with button;

* prevent styling changes when locked

* fix lint issues

* fix tests

* make reviewer suggested changes

Co-authored-by: charlesh88 <charlesh88@gmail.com>
2020-06-29 13:14:42 -07:00
..
2019-12-06 09:45:21 -08:00

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.