Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95eda09de7 | ||
|
|
ee029bf46e |
@@ -0,0 +1,2 @@
|
||||
# Authoring journals, resolver checkouts, and provisional reports are not source.
|
||||
/.quixos/
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"monorepoCommit": "99b2868b7e974441744657b35049f5baae4a499b",
|
||||
"sourcePath": "quixos-instance/workspaces/todo"
|
||||
}
|
||||
+20
-30
@@ -1,72 +1,62 @@
|
||||
quixos-lock fragment version 1 {
|
||||
interface Named source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-named.git";
|
||||
commit "14be607ed250f8c3ce1633558573fc1449f6f2a1";
|
||||
commit "07765f61c3803fd73253020bfbb40e1fffaf5ec9";
|
||||
}
|
||||
|
||||
interface TaskData source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-data.git";
|
||||
commit "bf49686e03e02a5f047512191a97927a94624ac4";
|
||||
commit "ad2eac936b1d7f30eed9c0a74d1c220ec073b625";
|
||||
}
|
||||
|
||||
interface ProjectTasks source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-project-tasks.git";
|
||||
commit "2590966c1f95da08126f1cb830be7dcc6dc715d9";
|
||||
commit "1a7eddbce430f17c5817f83d680d3ffc783a071a";
|
||||
}
|
||||
|
||||
interface ProjectActions source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-project-actions.git";
|
||||
commit "bcd34a9d2e94b767e531a1138a590cca07d4c3fa";
|
||||
commit "8ca407cbf4fda06bd6c61122b5bc8df19706bc31";
|
||||
}
|
||||
|
||||
interface TaskActions source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-actions.git";
|
||||
commit "1f6123fe8aa2efa30b536c0822c3fe01eed37bc5";
|
||||
commit "470c113650a2a32fde250a6f4ab72965c0f74fe2";
|
||||
}
|
||||
|
||||
interface DisplayLabel source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-display-label.git";
|
||||
commit "e7afc5c4ddd2515ae6e005bf0943f5c764362cbb";
|
||||
commit "b98266e3b6c63a98ce1d05b869f27a01ccaff5b5";
|
||||
}
|
||||
|
||||
interface TaskCount source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-count.git";
|
||||
commit "5c034fdcb805fa2d892b65f689fab9ee2a431f68";
|
||||
commit "e8cedeed2e968db10a4a64e878ba5984a0cd48a3";
|
||||
}
|
||||
|
||||
interface WebStudioCreateable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-createable.git";
|
||||
commit "03fdebf600aaa85abba98033d3831291c44421b4";
|
||||
interface WebStudioFactory source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-factory.git";
|
||||
commit "e845ceb23fc6335288b83e1b676376cedbcf01af";
|
||||
}
|
||||
|
||||
interface WebStudioReactComponent source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-react-component.git";
|
||||
commit "54c26db6c722e91523a300d94038c5c39d6df662";
|
||||
commit "c11647b8c428f940c77424db5f7773b9cebf626a";
|
||||
}
|
||||
interface WebStudioReactSource source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-react-source.git";
|
||||
commit "9a80caa33d8903f4c2735ee122f644e649fad542";
|
||||
}
|
||||
|
||||
interface WebStudioHasReactComponent source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-has-react-component.git";
|
||||
commit "fb01eaac27a13efd78c1d6de5414fc5d790c3fcc";
|
||||
commit "5b299cd34fb3ecf3d3a3231757e7fcf82f2e9801";
|
||||
}
|
||||
|
||||
interface WebStudioCanvas source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-canvas.git";
|
||||
commit "e9ce13befad5704aaff70e44c4eefd4f9d877d96";
|
||||
commit "18ba152d48535952ee102fc48786d43d76f016fb";
|
||||
}
|
||||
|
||||
interface WebStudioCanvasPlacement source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-canvas-placement.git";
|
||||
commit "b00128cca4cbf4a6883dd998bb1b44af7eb2a245";
|
||||
commit "4b4c60e16a33591c7a14acccf913782a45d58c42";
|
||||
}
|
||||
|
||||
interface WebStudioPlaceable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-placeable.git";
|
||||
commit "8b4c62724e16084e6601f5d0ab4b730294d0fb89";
|
||||
commit "8af3f3bd495e6e00d31a52beb81139e1774b0b79";
|
||||
}
|
||||
|
||||
interface WebStudioSearchable source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-searchable.git";
|
||||
commit "f0d9fa3d3f5c979b738688d4bcff423e5ca7f4cd";
|
||||
commit "f067a788a2110119cd404406ad62de9050a6aa87";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-10
@@ -1,27 +1,22 @@
|
||||
quixos-lock fragment version 1 {
|
||||
package TodoRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-todo-runtime.git";
|
||||
commit "667c87e4b0494f26968f224c0b01c52f9979101b";
|
||||
commit "e0582f17911b67a660abb47fbbca7d484989cf27";
|
||||
}
|
||||
|
||||
package ProjectRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-project-runtime.git";
|
||||
commit "f902eb5ac5c1a73a0df4449c6d243d10e2a36da9";
|
||||
commit "9b93483d13abc5b81e7ed248cfd39c40bd26f9d9";
|
||||
}
|
||||
|
||||
package ProjectReactRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-project-react-runtime.git";
|
||||
commit "6b1708614a641da1625468c6fb8725cbfbea1fd6";
|
||||
commit "f8706fd75cdc1d1ca1c56c878eb2eb468f49f0c4";
|
||||
}
|
||||
|
||||
package TodoReactRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-todo-react-runtime.git";
|
||||
commit "0aa51aa502aca102d6f65d3f2d5b82e7ca858e97";
|
||||
commit "9523cfb79bebfa11a4bba0a8fac9aeb73de16260";
|
||||
}
|
||||
|
||||
package WebStudioCanvasRuntime source {
|
||||
repository "https://repos.quixos.org/quixos-templates/package-canvas-runtime.git";
|
||||
commit "f751c64c07ad96991ce2537a3dea3190bc6dca79";
|
||||
commit "e9119bb6d5481b3c4acc5eb1ddc0ec37e07e57a8";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-2
@@ -1,9 +1,8 @@
|
||||
quixos-lock version 1 {
|
||||
quixos source {
|
||||
repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git";
|
||||
commit "9c3ab572ecfbc83785038c3d9f174516df15d63f";
|
||||
commit "99b2868b7e974441744657b35049f5baae4a499b";
|
||||
}
|
||||
|
||||
import "locks/interfaces.lock";
|
||||
import "locks/packages.lock";
|
||||
}
|
||||
|
||||
+95
-104
@@ -13,7 +13,8 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
import interface TaskActions;
|
||||
import interface DisplayLabel;
|
||||
import interface TaskCount;
|
||||
import interface WebStudioCreateable;
|
||||
import interface WebStudioFactory;
|
||||
import interface WebStudioReactSource;
|
||||
import interface WebStudioReactComponent;
|
||||
import interface WebStudioHasReactComponent;
|
||||
import interface WebStudioCanvas;
|
||||
@@ -27,44 +28,27 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
import package TodoReactRuntime;
|
||||
import package WebStudioCanvasRuntime;
|
||||
|
||||
shared state ProjectName id "slot:project:name" on Project : string policy optimistic-register default "Untitled project";
|
||||
shared state TaskTitle id "slot:task:title" on Task : string policy optimistic-register default "Untitled task";
|
||||
shared state TaskStatus id "slot:task:status" on Task : string policy optimistic-register default "OPEN";
|
||||
shared state TaskPriority id "slot:task:priority" on Task : string policy optimistic-register default "NORMAL";
|
||||
shared state TaskNotes id "slot:task:notes" on Task : string policy crdt(string) default "";
|
||||
shared state TaskDueDate id "slot:task:due-date" on Task : string policy optimistic-register default "";
|
||||
shared state TaskEnergy id "slot:task:energy" on Task : string policy optimistic-register default "MEDIUM";
|
||||
shared state WebStudioCanvasName id "slot:org.quixos.web-studio.canvas:name" on WebStudioCanvas : string policy optimistic-register default "Hearth";
|
||||
shared state WebStudioPlacementPosition id "slot:org.quixos.web-studio.canvas-placement:position" on WebStudioCanvasPlacement : message "org.quixos.web-studio.CanvasPosition" policy optimistic-register default {"x":0,"y":0};
|
||||
shared state WebStudioPlacementSize id "slot:org.quixos.web-studio.canvas-placement:size" on WebStudioCanvasPlacement : message "org.quixos.web-studio.CanvasSize" policy optimistic-register default {"width":420,"height":320};
|
||||
shared state WebStudioPlacementZ id "slot:org.quixos.web-studio.canvas-placement:z" on WebStudioCanvasPlacement : int32 policy optimistic-register default 0;
|
||||
shared edge ProjectTaskEdge id "edge:project:tasks" {
|
||||
atom Project projection tasks id "projection:project:tasks" many-unique ordered;
|
||||
atom Task projection project id "projection:task:project" optional-one;
|
||||
}
|
||||
shared edge ProjectComponentEdge id "edge:project:web-studio-component" {
|
||||
atom ProjectReactComponent projection subject id "projection:project-component:subject" exactly-one;
|
||||
atom Project projection component id "projection:project:component" optional-one;
|
||||
}
|
||||
shared edge TaskComponentEdge id "edge:task:web-studio-component" {
|
||||
atom TaskReactComponent projection subject id "projection:task-component:subject" exactly-one;
|
||||
atom Task projection component id "projection:task:component" optional-one;
|
||||
}
|
||||
shared edge WebStudioCanvasPlacementEdge id "edge:org.quixos.web-studio:canvas-placements" {
|
||||
atom WebStudioCanvasPlacement projection canvas id "projection:org.quixos.web-studio.canvas-placement:canvas" exactly-one;
|
||||
interface WebStudioCanvas projection placements id "projection:org.quixos.web-studio.canvas:placements" many-unique ordered;
|
||||
}
|
||||
shared edge WebStudioPlacementSubjectEdge id "edge:org.quixos.web-studio:placement-subject" {
|
||||
atom WebStudioCanvasPlacement projection subject id "projection:org.quixos.web-studio.canvas-placement:subject" exactly-one;
|
||||
interface WebStudioPlaceable projection placements id "projection:org.quixos.web-studio.placeable:placements" many-unique ordered;
|
||||
}
|
||||
|
||||
conform WebStudioCanvas as WebStudioCanvas {
|
||||
conform WebStudioCanvas as WebStudioCanvas id "conformance:todo:WebStudioCanvas:WebStudioCanvas" {
|
||||
private state WebStudioCanvasName id "slot:org.quixos.web-studio.canvas:name" on WebStudioCanvas : string policy optimistic-register default "Hearth";
|
||||
|
||||
bind name.get to state WebStudioCanvasName.read;
|
||||
bind name.set to state WebStudioCanvasName.write;
|
||||
bind placements.resolve to edge WebStudioCanvasPlacementEdge.placements.resolve;
|
||||
}
|
||||
conform WebStudioCanvasPlacement as WebStudioCanvasPlacement {
|
||||
conform WebStudioCanvasPlacement as WebStudioCanvasPlacement id "conformance:todo:WebStudioCanvasPlacement:WebStudioCanvasPlacement" {
|
||||
private state WebStudioPlacementPosition id "slot:org.quixos.web-studio.canvas-placement:position" on WebStudioCanvasPlacement : message "org.quixos.web-studio.CanvasPosition" policy optimistic-register default {"x":0,"y":0};
|
||||
private state WebStudioPlacementSize id "slot:org.quixos.web-studio.canvas-placement:size" on WebStudioCanvasPlacement : message "org.quixos.web-studio.CanvasSize" policy optimistic-register default {"width":420,"height":320};
|
||||
private state WebStudioPlacementZ id "slot:org.quixos.web-studio.canvas-placement:z" on WebStudioCanvasPlacement : int32 policy optimistic-register default 0;
|
||||
private edge WebStudioCanvasPlacementEdge id "edge:org.quixos.web-studio:canvas-placements" {
|
||||
atom WebStudioCanvasPlacement projection canvas id "projection:org.quixos.web-studio.canvas-placement:canvas" exactly-one;
|
||||
interface WebStudioCanvas projection placements id "projection:org.quixos.web-studio.canvas:placements" many-unique ordered public-traversal;
|
||||
}
|
||||
private edge WebStudioPlacementSubjectEdge id "edge:org.quixos.web-studio:placement-subject" {
|
||||
atom WebStudioCanvasPlacement projection subject id "projection:org.quixos.web-studio.canvas-placement:subject" exactly-one;
|
||||
interface WebStudioPlaceable projection placements id "projection:org.quixos.web-studio.placeable:placements" many-unique ordered public-traversal;
|
||||
}
|
||||
|
||||
bind position.get to state WebStudioPlacementPosition.read;
|
||||
bind position.set to state WebStudioPlacementPosition.write;
|
||||
bind size.get to state WebStudioPlacementSize.read;
|
||||
@@ -79,11 +63,15 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind canvas.disconnect to edge WebStudioCanvasPlacementEdge.canvas.disconnect;
|
||||
}
|
||||
|
||||
conform Project as WebStudioCreateable {}
|
||||
conform Project as WebStudioPlaceable {
|
||||
conform Project as WebStudioFactory<atom Project> id "conformance:todo:Project:WebStudioFactory" {
|
||||
bind create.call to package ProjectRuntime.newProject with { project to constructor Project; };
|
||||
}
|
||||
conform Project as WebStudioPlaceable id "conformance:todo:Project:WebStudioPlaceable" {
|
||||
|
||||
bind placements.resolve to edge WebStudioPlacementSubjectEdge.placements.resolve;
|
||||
}
|
||||
conform Project as WebStudioSearchable {
|
||||
conform Project as WebStudioSearchable id "conformance:todo:Project:WebStudioSearchable" {
|
||||
|
||||
bind document.get to package ProjectRuntime.searchDocumentGet with {
|
||||
named to interface Named;
|
||||
tasks to interface ProjectTasks;
|
||||
@@ -94,36 +82,53 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
};
|
||||
bind document.watch-stop to package ProjectRuntime.searchDocumentWatchStop;
|
||||
}
|
||||
conform Project as WebStudioHasReactComponent {
|
||||
conform Project as WebStudioHasReactComponent id "conformance:todo:Project:WebStudioHasReactComponent" {
|
||||
private edge ProjectComponentEdge id "edge:project:web-studio-component" {
|
||||
atom ProjectReactComponent projection subject id "projection:project-component:subject" exactly-one public-traversal;
|
||||
atom Project projection component id "projection:project:component" optional-one;
|
||||
}
|
||||
|
||||
bind component.resolve to edge ProjectComponentEdge.component.resolve;
|
||||
materialize component if absent using constructor ProjectReactComponent via edge ProjectComponentEdge.subject;
|
||||
}
|
||||
conform Project as Named {
|
||||
bind name.get to state ProjectName.read;
|
||||
bind name.set to state ProjectName.write;
|
||||
conform Project as Named id "conformance:todo:Project:Named" {
|
||||
private state ProjectName id "slot:project:name" on Project : string policy optimistic-register default "Untitled project";
|
||||
|
||||
bind name to state ProjectName;
|
||||
}
|
||||
conform Project as ProjectTasks {
|
||||
conform Project as ProjectTasks id "conformance:todo:Project:ProjectTasks" {
|
||||
private edge ProjectTaskEdge id "edge:project:tasks" {
|
||||
atom Project projection tasks id "projection:project:tasks" many-unique ordered;
|
||||
atom Task projection project id "projection:task:project" optional-one;
|
||||
}
|
||||
|
||||
bind tasks.resolve to edge ProjectTaskEdge.tasks.resolve;
|
||||
bind tasks.connect to edge ProjectTaskEdge.tasks.connect;
|
||||
bind tasks.disconnect to edge ProjectTaskEdge.tasks.disconnect;
|
||||
bind tasks.watch-start to edge ProjectTaskEdge.tasks.watch-start;
|
||||
bind tasks.watch-stop to edge ProjectTaskEdge.tasks.watch-stop;
|
||||
}
|
||||
conform Project as ProjectActions {
|
||||
conform Project as ProjectActions id "conformance:todo:Project:ProjectActions" {
|
||||
|
||||
bind addTask.call to package ProjectRuntime.addTask with {
|
||||
tasks to edge ProjectTaskEdge.tasks;
|
||||
tasks to interface ProjectTasks;
|
||||
task to constructor Task;
|
||||
};
|
||||
}
|
||||
conform Project as TaskCount {
|
||||
conform Project as TaskCount id "conformance:todo:Project:TaskCount" {
|
||||
|
||||
bind count.get to package ProjectRuntime.taskCountGet with {
|
||||
tasks to edge ProjectTaskEdge.tasks;
|
||||
tasks to interface ProjectTasks;
|
||||
};
|
||||
bind count.watch-start to package ProjectRuntime.taskCountWatch with {
|
||||
tasks to edge ProjectTaskEdge.tasks;
|
||||
tasks to interface ProjectTasks;
|
||||
};
|
||||
bind count.watch-stop to package ProjectRuntime.taskCountWatchStop;
|
||||
}
|
||||
conform ProjectReactComponent as WebStudioReactComponent {
|
||||
conform ProjectReactComponent as WebStudioReactSource id "conformance:todo:ProjectReactComponent:WebStudioReactSource" {
|
||||
bind source.get to package ProjectReactRuntime.sourceGet;
|
||||
}
|
||||
conform ProjectReactComponent as WebStudioReactComponent<record {named: interface-ref<Named>; tasks: interface-ref<ProjectTasks>;}> id "conformance:todo:ProjectReactComponent:WebStudioReactComponent" {
|
||||
bind props.get to package ProjectReactRuntime.propsGet with {
|
||||
named to interface Named via edge ProjectComponentEdge.subject;
|
||||
tasks to interface ProjectTasks via edge ProjectComponentEdge.subject;
|
||||
@@ -135,101 +140,87 @@ workspace Todo id "workspace:todo" revision "workspace:todo@capabilities-v1" com
|
||||
bind props.watch-stop to package ProjectReactRuntime.propsWatchStop;
|
||||
}
|
||||
|
||||
conform Task as WebStudioHasReactComponent {
|
||||
conform Task as WebStudioHasReactComponent id "conformance:todo:Task:WebStudioHasReactComponent" {
|
||||
private edge TaskComponentEdge id "edge:task:web-studio-component" {
|
||||
atom TaskReactComponent projection subject id "projection:task-component:subject" exactly-one public-traversal;
|
||||
atom Task projection component id "projection:task:component" optional-one;
|
||||
}
|
||||
|
||||
bind component.resolve to edge TaskComponentEdge.component.resolve;
|
||||
materialize component if absent using constructor TaskReactComponent via edge TaskComponentEdge.subject;
|
||||
}
|
||||
conform Task as WebStudioPlaceable {
|
||||
conform Task as WebStudioPlaceable id "conformance:todo:Task:WebStudioPlaceable" {
|
||||
|
||||
bind placements.resolve to edge WebStudioPlacementSubjectEdge.placements.resolve;
|
||||
}
|
||||
conform Task as WebStudioSearchable {
|
||||
conform Task as WebStudioSearchable id "conformance:todo:Task:WebStudioSearchable" {
|
||||
|
||||
bind document.get to package TodoRuntime.searchDocumentGet with {
|
||||
title to state TaskTitle;
|
||||
status to state TaskStatus;
|
||||
priority to state TaskPriority;
|
||||
dueDate to state TaskDueDate;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind document.watch-start to package TodoRuntime.searchDocumentWatch with {
|
||||
title to state TaskTitle;
|
||||
status to state TaskStatus;
|
||||
priority to state TaskPriority;
|
||||
dueDate to state TaskDueDate;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind document.watch-stop to package TodoRuntime.searchDocumentWatchStop;
|
||||
}
|
||||
conform Task as TaskData {
|
||||
bind title.get to state TaskTitle.read;
|
||||
bind title.set to state TaskTitle.write;
|
||||
bind status.get to state TaskStatus.read;
|
||||
bind status.set to state TaskStatus.write;
|
||||
bind priority.get to state TaskPriority.read;
|
||||
bind priority.set to state TaskPriority.write;
|
||||
bind notes.get to state TaskNotes.read;
|
||||
bind notes.set to state TaskNotes.write;
|
||||
bind dueDate.get to state TaskDueDate.read;
|
||||
bind dueDate.set to state TaskDueDate.write;
|
||||
bind energy.get to state TaskEnergy.read;
|
||||
bind energy.set to state TaskEnergy.write;
|
||||
conform Task as TaskData id "conformance:todo:Task:TaskData" {
|
||||
private state TaskTitle id "slot:task:title" on Task : string policy optimistic-register default "Untitled task";
|
||||
private state TaskStatus id "slot:task:status" on Task : string policy optimistic-register default "OPEN";
|
||||
private state TaskPriority id "slot:task:priority" on Task : string policy optimistic-register default "NORMAL";
|
||||
private state TaskNotes id "slot:task:notes" on Task : string policy crdt(string) default "";
|
||||
private state TaskDueDate id "slot:task:due-date" on Task : string policy optimistic-register default "";
|
||||
private state TaskEnergy id "slot:task:energy" on Task : string policy optimistic-register default "MEDIUM";
|
||||
|
||||
bind title to state TaskTitle;
|
||||
bind status to state TaskStatus;
|
||||
bind priority to state TaskPriority;
|
||||
bind notes to state TaskNotes;
|
||||
bind dueDate to state TaskDueDate;
|
||||
bind energy to state TaskEnergy;
|
||||
}
|
||||
conform Task as TaskActions {
|
||||
conform Task as TaskActions id "conformance:todo:Task:TaskActions" {
|
||||
|
||||
bind complete.call to package TodoRuntime.complete with {
|
||||
status to state TaskStatus;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind reopen.call to package TodoRuntime.reopen with {
|
||||
status to state TaskStatus;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind archive.call to package TodoRuntime.archive with {
|
||||
status to state TaskStatus;
|
||||
data to interface TaskData;
|
||||
};
|
||||
}
|
||||
conform Task as DisplayLabel {
|
||||
conform Task as DisplayLabel id "conformance:todo:Task:DisplayLabel" {
|
||||
|
||||
bind label.get to package TodoRuntime.displayLabelGet with {
|
||||
title to state TaskTitle;
|
||||
status to state TaskStatus;
|
||||
priority to state TaskPriority;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind label.watch-start to package TodoRuntime.displayLabelWatch with {
|
||||
title to state TaskTitle;
|
||||
status to state TaskStatus;
|
||||
priority to state TaskPriority;
|
||||
data to interface TaskData;
|
||||
};
|
||||
bind label.watch-stop to package TodoRuntime.displayLabelWatchStop;
|
||||
}
|
||||
conform TaskReactComponent as WebStudioReactComponent {
|
||||
conform TaskReactComponent as WebStudioReactSource id "conformance:todo:TaskReactComponent:WebStudioReactSource" {
|
||||
bind source.get to package TodoReactRuntime.sourceGet;
|
||||
}
|
||||
conform TaskReactComponent as WebStudioReactComponent<record {data: interface-ref<TaskData>;}> id "conformance:todo:TaskReactComponent:WebStudioReactComponent" {
|
||||
bind props.get to package TodoReactRuntime.propsGet with {
|
||||
subject to edge TaskComponentEdge.subject;
|
||||
title to state TaskTitle via edge TaskComponentEdge.subject;
|
||||
status to state TaskStatus via edge TaskComponentEdge.subject;
|
||||
priority to state TaskPriority via edge TaskComponentEdge.subject;
|
||||
notes to state TaskNotes via edge TaskComponentEdge.subject;
|
||||
dueDate to state TaskDueDate via edge TaskComponentEdge.subject;
|
||||
energy to state TaskEnergy via edge TaskComponentEdge.subject;
|
||||
data to interface TaskData via edge TaskComponentEdge.subject;
|
||||
};
|
||||
bind props.watch-start to package TodoReactRuntime.propsWatch with {
|
||||
subject to edge TaskComponentEdge.subject;
|
||||
title to state TaskTitle via edge TaskComponentEdge.subject;
|
||||
status to state TaskStatus via edge TaskComponentEdge.subject;
|
||||
priority to state TaskPriority via edge TaskComponentEdge.subject;
|
||||
notes to state TaskNotes via edge TaskComponentEdge.subject;
|
||||
dueDate to state TaskDueDate via edge TaskComponentEdge.subject;
|
||||
energy to state TaskEnergy via edge TaskComponentEdge.subject;
|
||||
data to interface TaskData via edge TaskComponentEdge.subject;
|
||||
};
|
||||
bind props.watch-stop to package TodoReactRuntime.propsWatchStop;
|
||||
}
|
||||
|
||||
constructor Project to ProjectRuntime.createProject;
|
||||
constructor Task to TodoRuntime.createTask with {
|
||||
title to state TaskTitle;
|
||||
data to interface TaskData;
|
||||
};
|
||||
constructor ProjectReactComponent to ProjectReactRuntime.createComponent;
|
||||
constructor TaskReactComponent to TodoReactRuntime.createComponent;
|
||||
constructor WebStudioCanvas to WebStudioCanvasRuntime.createCanvas;
|
||||
constructor WebStudioCanvasPlacement to WebStudioCanvasRuntime.createPlacement with {
|
||||
position to state WebStudioPlacementPosition;
|
||||
size to state WebStudioPlacementSize;
|
||||
z to state WebStudioPlacementZ;
|
||||
canvas to edge WebStudioCanvasPlacementEdge.canvas;
|
||||
subject to edge WebStudioPlacementSubjectEdge.subject;
|
||||
placement to interface WebStudioCanvasPlacement;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user