Edit
This commit is contained in:
@@ -55,6 +55,28 @@ export default function Router({
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const setTags = (tags: Record<string, any>) => {
|
||||||
|
updateEntity(entityId, (e) => ({
|
||||||
|
...e,
|
||||||
|
tags: e.type === "todo" ? tags : {},
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
const setStatuses = (statuses: any[]) => {
|
||||||
|
updateEntity(entityId, (e) => {
|
||||||
|
if (e.type === "todo") {
|
||||||
|
return {
|
||||||
|
...e,
|
||||||
|
config: {
|
||||||
|
...e.config,
|
||||||
|
statuses,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TaskView
|
<TaskView
|
||||||
key={entity.id}
|
key={entity.id}
|
||||||
@@ -62,6 +84,9 @@ export default function Router({
|
|||||||
setTasks={setTasks}
|
setTasks={setTasks}
|
||||||
createTask={createTask}
|
createTask={createTask}
|
||||||
tags={entity.tags}
|
tags={entity.tags}
|
||||||
|
statuses={entity.config.statuses}
|
||||||
|
setTags={setTags}
|
||||||
|
setStatuses={setStatuses}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,28 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { Tag, TagId, Task, TaskId } from "@/lib/types";
|
import { Tag, TagId, Task, TaskId, Status } from "@/lib/types";
|
||||||
import { Color } from "@/lib/ui/color";
|
import { Color } from "@/lib/ui/color";
|
||||||
import BoardView from "./board/BoardView";
|
import BoardView from "./board/BoardView";
|
||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../ui/tabs";
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../ui/tabs";
|
||||||
import { TableView } from "./table/TableView";
|
import { TableView } from "./table/TableView";
|
||||||
|
import EditView from "./edit/EditView";
|
||||||
|
|
||||||
export type TaskViewProps = {
|
export type TaskViewProps = {
|
||||||
tags: Record<TagId, Tag>;
|
tags: Record<TagId, Tag>;
|
||||||
|
|
||||||
tasks: Record<TaskId, Task>;
|
tasks: Record<TaskId, Task>;
|
||||||
|
|
||||||
|
statuses: Status[];
|
||||||
|
|
||||||
/** Update entire tasks record */
|
/** Update entire tasks record */
|
||||||
setTasks: (tasks: Record<TaskId, Task>) => void;
|
setTasks: (tasks: Record<TaskId, Task>) => void;
|
||||||
|
|
||||||
|
/** Update tags */
|
||||||
|
setTags: (tags: Record<TagId, Tag>) => void;
|
||||||
|
|
||||||
|
/** Update statuses */
|
||||||
|
setStatuses: (statuses: Status[]) => void;
|
||||||
|
|
||||||
/** Create a new task with a status */
|
/** Create a new task with a status */
|
||||||
createTask: (statusId: string) => void;
|
createTask: (statusId: string) => void;
|
||||||
};
|
};
|
||||||
@@ -21,7 +30,10 @@ export type TaskViewProps = {
|
|||||||
export default function TaskView({
|
export default function TaskView({
|
||||||
tags,
|
tags,
|
||||||
tasks,
|
tasks,
|
||||||
|
statuses,
|
||||||
setTasks,
|
setTasks,
|
||||||
|
setTags,
|
||||||
|
setStatuses,
|
||||||
createTask,
|
createTask,
|
||||||
}: TaskViewProps) {
|
}: TaskViewProps) {
|
||||||
return (
|
return (
|
||||||
@@ -30,6 +42,7 @@ export default function TaskView({
|
|||||||
<TabsList className="mb-4">
|
<TabsList className="mb-4">
|
||||||
<TabsTrigger value="board">Board</TabsTrigger>
|
<TabsTrigger value="board">Board</TabsTrigger>
|
||||||
<TabsTrigger value="table">Table</TabsTrigger>
|
<TabsTrigger value="table">Table</TabsTrigger>
|
||||||
|
<TabsTrigger value="edit">Edit</TabsTrigger>
|
||||||
</TabsList>
|
</TabsList>
|
||||||
|
|
||||||
<TabsContent value="board" className="mt-0">
|
<TabsContent value="board" className="mt-0">
|
||||||
@@ -38,6 +51,9 @@ export default function TaskView({
|
|||||||
setTasks={setTasks}
|
setTasks={setTasks}
|
||||||
createTask={createTask}
|
createTask={createTask}
|
||||||
tags={tags}
|
tags={tags}
|
||||||
|
setTags={setTags}
|
||||||
|
setStatuses={setStatuses}
|
||||||
|
statuses={statuses}
|
||||||
/>
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
@@ -47,6 +63,18 @@ export default function TaskView({
|
|||||||
setTasks={setTasks}
|
setTasks={setTasks}
|
||||||
createTask={createTask}
|
createTask={createTask}
|
||||||
tags={tags}
|
tags={tags}
|
||||||
|
setTags={setTags}
|
||||||
|
setStatuses={setStatuses}
|
||||||
|
statuses={statuses}
|
||||||
|
/>
|
||||||
|
</TabsContent>
|
||||||
|
|
||||||
|
<TabsContent value="edit" className="mt-0">
|
||||||
|
<EditView
|
||||||
|
tags={tags}
|
||||||
|
statuses={statuses}
|
||||||
|
setTags={setTags}
|
||||||
|
setStatuses={setStatuses}
|
||||||
/>
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|||||||
Reference in New Issue
Block a user