Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5eb215df9 |
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"monorepoCommit": "ba8d4f92667f39bb02d542cb492b71a32ec914bf",
|
||||
"monorepoCommit": "810617559b0ee9c662c4b566e16cb3629b44fbce",
|
||||
"sourcePath": "quixos-instance/packages/todo-react-runtime"
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=d3d050d9cb84421fd8043ebe34fd0cae9132f6a2"
|
||||
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=110e41b268c8ac309e6757f2af3331de417ff9b0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24",
|
||||
|
||||
+14
-3
@@ -1,4 +1,3 @@
|
||||
import interface TaskData;
|
||||
external atom TaskReactComponent id "atom:task-react-component";
|
||||
external atom Task id "atom:task";
|
||||
|
||||
@@ -6,10 +5,22 @@ package TodoReactRuntime id "package:todo-react-runtime" revision "package:todo-
|
||||
constructor createComponent id "export:todo-react-runtime:create-component" constructs TaskReactComponent : atom-ref<Task>;
|
||||
operation sourceGet id "export:todo-react-runtime:source-get" : unit -> string mode call receiver atom TaskReactComponent;
|
||||
operation propsGet id "export:todo-react-runtime:props-get" : unit -> message "org.quixos.web-studio.ReactProps" mode call receiver atom TaskReactComponent requires {
|
||||
interface data id "port:todo-react-runtime:data" : TaskData;
|
||||
edge subject id "port:todo-react:subject" : exactly-one atom Task [resolve];
|
||||
state title id "port:todo-react:title" : string [read];
|
||||
state status id "port:todo-react:status" : string [read];
|
||||
state priority id "port:todo-react:priority" : string [read];
|
||||
state notes id "port:todo-react:notes" : string [read];
|
||||
state dueDate id "port:todo-react:due-date" : string [read];
|
||||
state energy id "port:todo-react:energy" : string [read];
|
||||
};
|
||||
operation propsWatch id "export:todo-react-runtime:props-watch" : unit -> watch-handle mode watch-start emits message "org.quixos.web-studio.ReactProps" receiver atom TaskReactComponent requires {
|
||||
interface data id "port:todo-react-runtime:data" : TaskData;
|
||||
edge subject id "port:todo-react:subject" : exactly-one atom Task [resolve];
|
||||
state title id "port:todo-react:title" : string [read];
|
||||
state status id "port:todo-react:status" : string [read];
|
||||
state priority id "port:todo-react:priority" : string [read];
|
||||
state notes id "port:todo-react:notes" : string [read];
|
||||
state dueDate id "port:todo-react:due-date" : string [read];
|
||||
state energy id "port:todo-react:energy" : string [read];
|
||||
};
|
||||
operation propsWatchStop id "export:todo-react-runtime:props-watch-stop" : watch-handle -> unit mode watch-stop receiver atom TaskReactComponent;
|
||||
}
|
||||
|
||||
+1
-5
@@ -1,10 +1,6 @@
|
||||
quixos-lock version 1 {
|
||||
quixos source {
|
||||
repository "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git";
|
||||
commit "ba8d4f92667f39bb02d542cb492b71a32ec914bf";
|
||||
}
|
||||
interface TaskData source {
|
||||
repository "https://repos.quixos.org/quixos-templates/interface-task-data.git";
|
||||
commit "2bce2096acbcfa4371b3d6968bed1ac8c8406180";
|
||||
commit "810617559b0ee9c662c4b566e16cb3629b44fbce";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"generatedBy": "qx-scaffold-v1",
|
||||
"resources": []
|
||||
}
|
||||
+146
-276
File diff suppressed because one or more lines are too long
@@ -7,14 +7,16 @@ const componentSourcePath = path.join(path.dirname(fileURLToPath(import.meta.url
|
||||
export const source = () => fs.readFile(componentSourcePath, "utf8");
|
||||
export const createComponent = ({ objectId }: Contexts["createComponent"]) => objectId;
|
||||
export const props = { kind: "derived" as const, get: async ({ objectId, ports }: Contexts["propsGet"]): Promise<Record<string, unknown>> => {
|
||||
const tasks = await ports.subject.resolve();
|
||||
if (tasks.length !== 1) throw new Error(`Task component has ${tasks.length} subjects`);
|
||||
const [title, status, priority, titleLive, statusLive, priorityLive, notesLive, dueDateLive, energyLive] = await Promise.all([
|
||||
ports.data["title.get"](), ports.data["status.get"](), ports.data["priority.get"](),
|
||||
ports.data.live["title.get"](), ports.data.live["status.get"](), ports.data.live["priority.get"](),
|
||||
ports.data.live["notes.get"](), ports.data.live["dueDate.get"](), ports.data.live["energy.get"](),
|
||||
ports.title.get(), ports.status.get(), ports.priority.get(),
|
||||
ports.title.live(), ports.status.live(), ports.priority.live(),
|
||||
ports.notes.live(), ports.dueDate.live(), ports.energy.live(),
|
||||
]);
|
||||
const priorityText = priority && priority !== "NORMAL" ? ` ${priority.toLowerCase()}` : "";
|
||||
return {
|
||||
task_id: ports.data.objectId, component_id: objectId, title: titleLive, status: statusLive,
|
||||
task_id: tasks[0], component_id: objectId, title: titleLive, status: statusLive,
|
||||
priority: priorityLive, notes: notesLive, due_date: dueDateLive, energy: energyLive,
|
||||
display_label: `[${status || "OPEN"}]${priorityText} ${title || "Untitled task"}`,
|
||||
};
|
||||
|
||||
+1
-1
@@ -161,7 +161,7 @@ cacheEntries = {
|
||||
"@connectrpc/connect@npm:2.1.2" = { filename = "@connectrpc-connect-npm-2.1.2-ab34825de3-4e15000890.zip"; hash = "sha512-ThUACJAjt1Lv1E+pQKWuHh+gDhvrxLoM7ScruTWSDYw7hbd0UOZErUQruMqaJ1sMFxNviWuo7/A2F4Ex2wHWFQ=="; };
|
||||
"@esbuild/linux-arm64@npm:0.25.12" = { filename = "@esbuild-linux-arm64-npm-0.25.12-a5aaa0e70e-10c0.zip"; hash = "sha512-tm9zhnNR4GZv4A+Sgbt9jdCJ0iGlzvYxGCaxaScbhFH14mX7QWJRYaCvFCZB1dseApmaq6mNwbilL0wJnbB8tw=="; };
|
||||
"@esbuild/linux-x64@npm:0.25.12" = { filename = "@esbuild-linux-x64-npm-0.25.12-07c7c22cce-10c0.zip"; hash = "sha512-U2QGT8ZIZN8q2WPSFDC32+sZGKgp49gvnHzIf/vKVR4xIzjcgBbjAIKI+FqfGBmGBWu8eCpS7lR9JDXdUHOFkw=="; };
|
||||
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=d3d050d9cb84421fd8043ebe34fd0cae9132f6a2" = { filename = "@quixos-camino-package-runtime-https-08b8790f1a-5bde059ead.zip"; hash = "sha512-W94Fnq0rn4MyBqRUUhH0ZcTzVv9MfF59dHtwpFLhg+/jK4QG5wi/uNgRR3xEVszpN8yrBWO6uiJGlkGmNnrczA=="; };
|
||||
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=110e41b268c8ac309e6757f2af3331de417ff9b0" = { filename = "@quixos-camino-package-runtime-https-5a5a438f14-75b1ffcea9.zip"; hash = "sha512-dbH/zqm6gwFck1pSrJAEXNUl6wfHpOL+jj4IwdHCyf5VOMKInCLr73Yx9NYUvqn3zw3AOfdm/8bUeTz2Htxo/A=="; };
|
||||
"@types/node@npm:24.13.3" = { filename = "@types-node-npm-24.13.3-b512a0bbeb-a5bc08f49b.zip"; hash = "sha512-pbwI9JuVgdzcqQ4CzXcZejx5mECAdmSULlzVFhpVPU0q6AZPfjKUQQ10jX0Ji1wYSL5/pQwG8pxBk6sWvk5Z6w=="; };
|
||||
"@types/prop-types@npm:15.7.15" = { filename = "@types-prop-types-npm-15.7.15-cefe16a1fa-b59aad1ad1.zip"; hash = "sha512-tZqtGtGb8XM89ST9TmGBlsbHaQ9I7nCjJ+tFCkKquOigY/vlnKClcBrr4tktWCKSwPuEXqV0dPahX2mUsOJgsg=="; };
|
||||
"@types/react@npm:18.3.31" = { filename = "@types-react-npm-18.3.31-d376eb19a5-44180549dd.zip"; hash = "sha512-RBgFSd0EX1Nuzs0545qs34KOdq3BxKkLEy9FPiPMNwxGSNkQKuQBFy69j9ixl3qQGjniFOU+x3FxsnUUtYjBeQ=="; };
|
||||
|
||||
@@ -213,14 +213,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=d3d050d9cb84421fd8043ebe34fd0cae9132f6a2":
|
||||
"@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=110e41b268c8ac309e6757f2af3331de417ff9b0":
|
||||
version: 0.1.0
|
||||
resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=d3d050d9cb84421fd8043ebe34fd0cae9132f6a2"
|
||||
resolution: "@quixos/camino-package-runtime@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=110e41b268c8ac309e6757f2af3331de417ff9b0"
|
||||
dependencies:
|
||||
"@bufbuild/protobuf": "npm:^2.12.1"
|
||||
"@connectrpc/connect": "npm:^2.1.2"
|
||||
"@connectrpc/connect-node": "npm:^2.1.2"
|
||||
checksum: 10c0/5bde059ead2b9f833206a4545211f465c4f356ff4c7c5e7d747b70a452e183efe32b8406e708bfb8d811477c4456cce937ccab0563baba22469641a6367adccc
|
||||
checksum: 10c0/75b1ffcea9ba83015c935a52ac90045cd525eb07c7a4e2fe8e3e08c1d1c2c9fe5538c2889c22ebef7631f4d614bea9f7cf0dc039f766ffc6d4793cf61edc68fc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -228,7 +228,7 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@quixos/todo-react-runtime@workspace:."
|
||||
dependencies:
|
||||
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=d3d050d9cb84421fd8043ebe34fd0cae9132f6a2"
|
||||
"@quixos/camino-package-runtime": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git#commit=110e41b268c8ac309e6757f2af3331de417ff9b0"
|
||||
"@types/node": "npm:^24"
|
||||
"@types/react": "npm:^18.3.12"
|
||||
esbuild: "npm:^0.25.12"
|
||||
|
||||
Reference in New Issue
Block a user