73 lines
2.3 KiB
Markdown
73 lines
2.3 KiB
Markdown
---
|
||
tags:
|
||
- process/goal
|
||
type: Leben
|
||
---
|
||
> [!note]+ Ziel
|
||
> Progress:: `$= dv.view('progress', {file: 'Wohnung'})`
|
||
> Target:: `$= dv.view('target', {file: 'Wohnung'})`
|
||
> Bar:: `$= dv.view('total-progress-bar', {file: 'Wohnung'})`
|
||
> Projects:: `$= const projects = dv.page('Wohnung').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
|
||
|
||
- [ ] Baumarkt: Paulownia Holz erfragen
|
||
- [x] Kann Martin Transporte übernehmen? [start:: 2022-10-25] [scheduled:: 2022-10-27] [completion:: 2023-07-12]
|
||
|
||
### Offene Projekte
|
||
```dataviewjs
|
||
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/project'));
|
||
|
||
let projects = new Set();
|
||
for (let projectPage of pages) {
|
||
const page = dv.page(projectPage.path);
|
||
const tasks = page.file.inlinks.where((p) => {
|
||
const mp = dv.page(p.path);
|
||
return mp.tags?.includes("process/task");
|
||
});
|
||
const totalProjectTasks = page.file.tasks.length;
|
||
const totalProjectTasksCompleted = page.file.tasks.where(t => t.fullyCompleted === true).length;
|
||
let totalTasksCompleted = 0;
|
||
let totalTasks = 0;
|
||
tasks.values.reduce((acc, p) => {
|
||
const mp = dv.page(p.path);
|
||
totalTasksCompleted += mp.file.tasks.where( (t) => t.fullyCompleted === true).length;
|
||
totalTasks += mp.file.tasks.length;
|
||
return mp.file.tasks.length;
|
||
}, 0);
|
||
const progress = totalProjectTasksCompleted + totalTasksCompleted;
|
||
const total = totalProjectTasks + totalTasks;
|
||
if (progress != total) {
|
||
projects.add([page.file.link, page.status, progress, total]);
|
||
}
|
||
}
|
||
|
||
dv.table(["Project", "Status", "Completed", "Tasks"], Array.from(projects));
|
||
```
|
||
|
||
### Projekte
|
||
|
||
```dataviewjs
|
||
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
|
||
]
|
||
}));
|
||
```
|
||
|