mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 21:11:30 +08:00 
			
		
		
		
	feat(tasks): filter by parent note
This commit is contained in:
		
							parent
							
								
									bb822126cd
								
							
						
					
					
						commit
						c0d3e8d834
					
				| @ -217,9 +217,7 @@ export default class Becca { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     getTasks(): BTask[] { |     getTasks(): BTask[] { | ||||||
|         return Object |         return Object.values(this.tasks); | ||||||
|             .values(this.tasks) |  | ||||||
|             .filter((task) => !task.isDone); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     getTask(taskId: string): BTask | null { |     getTask(taskId: string): BTask | null { | ||||||
|  | |||||||
| @ -372,8 +372,8 @@ class FrocaImpl implements Froca { | |||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async getTasks() { |     async getTasks(parentNoteId: string) { | ||||||
|         const taskRows = await server.get<FTaskRow[]>(`tasks`); |         const taskRows = await server.get<FTaskRow[]>(`tasks/${parentNoteId}`); | ||||||
|         return this.processTaskRow(taskRows); |         return this.processTaskRow(taskRows); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -108,13 +108,13 @@ export default class TaskListWidget extends TypeWidget { | |||||||
|     async doRefresh(note: FNote) { |     async doRefresh(note: FNote) { | ||||||
|         this.$widget.show(); |         this.$widget.show(); | ||||||
| 
 | 
 | ||||||
|         if (!this.note) { |         if (!this.note || !this.noteId) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         this.$taskContainer.html(""); |         this.$taskContainer.html(""); | ||||||
| 
 | 
 | ||||||
|         const tasks = await froca.getTasks(); |         const tasks = await froca.getTasks(this.noteId); | ||||||
|         for (const task of tasks) { |         for (const task of tasks) { | ||||||
|             this.$taskContainer.append($(buildTask(task))); |             this.$taskContainer.append($(buildTask(task))); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| import type { Request } from "express"; | import type { Request } from "express"; | ||||||
| import * as tasksService from "../../services/tasks.js"; | import * as tasksService from "../../services/tasks.js"; | ||||||
| 
 | 
 | ||||||
| export function getTasks() { | export function getTasks(req: Request) { | ||||||
|     return tasksService.getTasks(); |     const { parentNoteId } = req.params; | ||||||
|  |     return tasksService.getTasks(parentNoteId); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function createNewTask(req: Request) { | export function createNewTask(req: Request) { | ||||||
|  | |||||||
| @ -280,7 +280,7 @@ function register(app: express.Application) { | |||||||
|     apiRoute(PATCH, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.patchToken); |     apiRoute(PATCH, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.patchToken); | ||||||
|     apiRoute(DEL, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.deleteToken); |     apiRoute(DEL, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.deleteToken); | ||||||
| 
 | 
 | ||||||
|     apiRoute(GET, "/api/tasks", tasksRoute.getTasks); |     apiRoute(GET, "/api/tasks/:parentNoteId", tasksRoute.getTasks); | ||||||
|     apiRoute(PST, "/api/tasks", tasksRoute.createNewTask); |     apiRoute(PST, "/api/tasks", tasksRoute.createNewTask); | ||||||
|     apiRoute(PST, "/api/tasks/:taskId/toggle", tasksRoute.toggleTaskDone); |     apiRoute(PST, "/api/tasks/:taskId/toggle", tasksRoute.toggleTaskDone); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| import becca from "../becca/becca.js"; | import becca from "../becca/becca.js"; | ||||||
| import BTask from "../becca/entities/btask.js"; | import BTask from "../becca/entities/btask.js"; | ||||||
| 
 | 
 | ||||||
| export function getTasks() { | export function getTasks(parentNoteId: string) { | ||||||
|     return becca.getTasks(); |     return becca.getTasks() | ||||||
|  |         .filter((task) => task.parentNoteId === parentNoteId && !task.isDone); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| interface CreateTaskParams { | interface CreateTaskParams { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran