49 lines
2.9 KiB
Plaintext
49 lines
2.9 KiB
Plaintext
import interface TagData;
|
|
import interface CompletionData;
|
|
import interface TaskActions;
|
|
import interface TaskData;
|
|
import interface ProjectActions;
|
|
external atom Task id "atom:task";
|
|
external atom Tag id "atom:tag";
|
|
external atom Completion id "atom:completion";
|
|
import interface Named;
|
|
import interface ProjectTasks;
|
|
external atom ProjectReactComponent id "atom:project-react-component";
|
|
external atom Project id "atom:project";
|
|
type ProjectProps = record {named: interface-ref<Named>; tasks: interface-ref<ProjectTasks>;};
|
|
|
|
package ProjectReactRuntime id "package:project-react-runtime" revision "package:project-react-runtime@1" {
|
|
constructor createComponent id "export:project-react-runtime:create-component" constructs ProjectReactComponent : atom-ref<Project>;
|
|
operation sourceGet id "export:project-react-runtime:source-get" : unit -> string mode call receiver atom ProjectReactComponent;
|
|
operation propsGet id "export:project-react-runtime:props-get" : unit -> ProjectProps mode call receiver atom ProjectReactComponent requires {
|
|
interface named id "port:project-react:named" : Named;
|
|
interface tasks id "port:project-react:tasks" : ProjectTasks;
|
|
};
|
|
operation propsWatch id "export:project-react-runtime:props-watch" : unit -> watch-handle mode watch-start emits ProjectProps receiver atom ProjectReactComponent requires {
|
|
interface named id "port:project-react:named" : Named;
|
|
interface tasks id "port:project-react:tasks" : ProjectTasks;
|
|
};
|
|
operation propsWatchStop id "export:project-react-runtime:props-watch-stop" : watch-handle -> unit mode watch-stop receiver atom ProjectReactComponent;
|
|
query Tasks id "query:Tasks" root ProjectTasks document "queries/Tasks.graphql" operation "Tasks" {
|
|
view Task as TaskData; view Tag as TagData; view Completion as CompletionData;
|
|
max rows 100; max depth 8; max result-bytes 1048576; watch;
|
|
}
|
|
query TaggedTasks id "query:TaggedTasks" root ProjectTasks document "queries/TaggedTasks.graphql" operation "TaggedTasks" {
|
|
view Task as TaskData; view Tag as TagData; view Completion as CompletionData;
|
|
max rows 100; max depth 8; max result-bytes 1048576; watch;
|
|
}
|
|
query UntaggedTasks id "query:UntaggedTasks" root ProjectTasks document "queries/UntaggedTasks.graphql" operation "UntaggedTasks" {
|
|
view Task as TaskData; view Tag as TagData; view Completion as CompletionData;
|
|
max rows 100; max depth 8; max result-bytes 1048576; watch;
|
|
}
|
|
query Catalog id "query:Catalog" root ProjectTasks document "queries/Catalog.graphql" operation "Catalog" {
|
|
view Task as TaskData; view Tag as TagData; view Completion as CompletionData;
|
|
max rows 100; max depth 8; max result-bytes 1048576; watch;
|
|
}
|
|
query Summary id "query:Summary" root ProjectTasks document "queries/Summary.graphql" operation "Summary" {
|
|
view Task as TaskData; view Tag as TagData; view Completion as CompletionData;
|
|
max rows 100; max depth 8; max result-bytes 1048576; watch;
|
|
}
|
|
|
|
}
|