1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-06-21 23:17:42 +02:00

Desktop: don't count completed to-dos in note counts when they are not shown

This commit is contained in:
lightray22
2020-01-10 18:15:04 -05:00
parent 0a13c988fa
commit 0383dcc865
4 changed files with 40 additions and 14 deletions

View File

@ -107,15 +107,18 @@ class Folder extends BaseItem {
// Calculates note counts for all folders and adds the note_count attribute to each folder
// Note: this only calculates the overall number of nodes for this folder and all its descendants
static async addNoteCounts(folders) {
static async addNoteCounts(folders, showDone) {
const foldersById = {};
folders.forEach((f) => {
foldersById[f.id] = f;
f.note_count = 0;
});
const sql = `SELECT folders.id as folder_id, count(notes.parent_id) as note_count
FROM folders LEFT JOIN notes ON notes.parent_id = folders.id
GROUP BY folders.id`;
FROM folders LEFT JOIN notes ON notes.parent_id = folders.id`
+ (!showDone ? ' WHERE (notes.is_todo = 0 OR notes.todo_completed = 0)' : '')
+ ` GROUP BY folders.id`;
const noteCounts = await this.db().selectAll(sql);
noteCounts.forEach((noteCount) => {
let parentId = noteCount.folder_id;