1.5 KiB
1.5 KiB
tags, type
| tags | type | |
|---|---|---|
|
[!info]- Status Progress::
$= dv.view('progress', {file: '<% tp.file.title %>'})Target::$= dv.view('target', {file: '<% tp.file.title %>'})Bar::$= dv.view('total-progress-bar', {file: '<% tp.file.title %>'})Projects::$= const projects = dv.page('<% tp.file.title %>').file.inlinks.where(p => { const mp = dv.page(p.path); return mp.tags?.includes('process/project') && mp.status != 'Archiv'}); if (projects.length > 0) { dv.header(4, projects.length > 1 ? "Projects" : "Project"); dv.list(projects) }
Wie sieht der Erfolg aus? Was soll erreicht werden?
Related core values
Projekte, um das Ziel zu erreichen
Ideen
Offene Projekte
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/project')).where(p => dv.page(p.path).status == "Aktiv");
let projects = new Set();
for (let projectPage of pages) {
const page = dv.page(projectPage.path);
projects.add([page.file.link, page.status, page.Progress, page.Target]);
}
dv.table(["Project", "Status", "Completed", "Tasks"], Array.from(projects));
Projekte
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/project'));
dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => {
const page = dv.page(p.path);
const tasks = page.file.tasks;
return [
page.file.link,
page.status,
tasks.where(t => t.fullyCompleted === true).length,
tasks.length
]
}));