25 lines
1.7 KiB
Plaintext
25 lines
1.7 KiB
Plaintext
fragment {
|
|
import package PresentationRuntime;
|
|
atom PresentationMountRecord id "atom:org.quixos.presentation-mount";
|
|
shared edge PresentationMembership id "org.quixos.presentation:membership" {
|
|
interface PresentationMount projection members id "org.quixos.presentation:members" many-unique keyed "string" public-traversal;
|
|
interface PresentationState projection presentationMount id "org.quixos.presentation:owner" optional-one public-traversal;
|
|
}
|
|
shared edge PresentationParent id "org.quixos.presentation:parent" {
|
|
interface PresentationState projection parent id "org.quixos.presentation:parent" optional-one public-traversal;
|
|
interface PresentationState projection children id "org.quixos.presentation:children" many-unique public-traversal;
|
|
}
|
|
shared edge PresentationRoot id "org.quixos.presentation:root" {
|
|
interface PresentationMount projection root id "org.quixos.presentation:root" optional-one public-traversal;
|
|
interface PresentationState projection rootOf id "org.quixos.presentation:root-of" optional-one;
|
|
}
|
|
conform PresentationMountRecord as PresentationMount id "org.quixos.presentation:mount" {
|
|
bind members.resolve to edge PresentationMembership.members.resolve;
|
|
bind root.resolve to edge PresentationRoot.root.resolve;
|
|
bind create.call to package PresentationRuntime.createPresentationMount with {presentationMount to creation PresentationMountRecord with {};};
|
|
bind copy.call to package PresentationRuntime.copyEmpty with {presentationMount to creation PresentationMountRecord with {};};
|
|
bind find.call to package PresentationRuntime.findEmpty with {};
|
|
bind attach.call to package PresentationRuntime.attachEmpty with {};
|
|
}
|
|
}
|