clean code
This commit is contained in:
parent
07151e9063
commit
2b82514a16
3 changed files with 32 additions and 52 deletions
|
|
@ -15,7 +15,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ todoTasksCount }}</span>
|
<span>{{ displayNumberOfTaskStatus("todo") }}</span>
|
||||||
<p>To-do</p>
|
<p>To-do</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
<img src="./../../../assets/img/summary/rake.svg" alt="" />
|
<img src="./../../../assets/img/summary/rake.svg" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ doneTasksCount }}</span>
|
<span>{{ displayNumberOfTaskStatus("done") }}</span>
|
||||||
<p>Done</p>
|
<p>Done</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<img src="./../../../assets/img/summary/urgent.svg" alt="" />
|
<img src="./../../../assets/img/summary/urgent.svg" alt="" />
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ urgentTasksCount }}</span>
|
<span>{{ displayNumberOfTaskStatusUrgent().length }}</span>
|
||||||
<p>Done</p>
|
<p>Done</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -43,9 +43,9 @@
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="date">
|
<div class="date">
|
||||||
<div>
|
<div>
|
||||||
@if (urgentTasksCount) {
|
@if (displayNumberOfTaskStatusUrgent().length) {
|
||||||
<span>{{ urgentTasksDate }}</span>
|
<span>{{ nextUrgentTasks() }}</span>
|
||||||
<p>Upcoming Deadline</p>
|
<p class="spacer">Upcoming Deadline</p>
|
||||||
} @else {
|
} @else {
|
||||||
<p>No Deadline</p>
|
<p>No Deadline</p>
|
||||||
}
|
}
|
||||||
|
|
@ -58,19 +58,19 @@
|
||||||
<div class="bottom-frame">
|
<div class="bottom-frame">
|
||||||
<div class="tasks" routerLink="/board">
|
<div class="tasks" routerLink="/board">
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ allTasksCount }}</span>
|
<span>{{ displayNumberOfAllTasks() }}</span>
|
||||||
<p>Task<br />in Board</p>
|
<p>Task<br />in Board</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tasks" routerLink="/board">
|
<div class="tasks" routerLink="/board">
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ inprogressTasksCount }}</span>
|
<span>{{ displayNumberOfTaskStatus("inprogress") }}</span>
|
||||||
<p>Task in<br />Progress</p>
|
<p>Task in<br />Progress</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tasks" routerLink="/board">
|
<div class="tasks" routerLink="/board">
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<span>{{ awaitfeedbackTasksCount }}</span>
|
<span>{{ displayNumberOfTaskStatus("awaitfeedback") }}</span>
|
||||||
<p>Awaiting<br />Feedback</p>
|
<p>Awaiting<br />Feedback</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,9 @@ section {
|
||||||
font-size: 21px;
|
font-size: 21px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
.spacer {
|
||||||
|
padding-top: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------- RESPONSIVE -------------*/
|
/*------------- RESPONSIVE -------------*/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
import { TaskService } from '../../services/task.service';
|
import { TaskService } from '../../services/task.service';
|
||||||
|
import { Task } from '../../interfaces/task.interface';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-summary',
|
selector: 'app-summary',
|
||||||
|
|
@ -10,58 +11,34 @@ import { TaskService } from '../../services/task.service';
|
||||||
styleUrl: './summary.component.scss',
|
styleUrl: './summary.component.scss',
|
||||||
})
|
})
|
||||||
export class SummaryComponent {
|
export class SummaryComponent {
|
||||||
allTasksCount: Number = 0;
|
constructor(private taskService: TaskService) {}
|
||||||
todoTasksCount: Number = 0;
|
|
||||||
inprogressTasksCount: Number = 0;
|
|
||||||
awaitfeedbackTasksCount: Number = 0;
|
|
||||||
doneTasksCount: Number = 0;
|
|
||||||
urgentTasksCount: Number = 0;
|
|
||||||
urgentTasksDate: String = '';
|
|
||||||
|
|
||||||
constructor(private taskService: TaskService) {
|
displayNumberOfAllTasks() {
|
||||||
this.updateTasksCount();
|
return this.taskService.getAllTasks().length;
|
||||||
this.updateAllTasksCount();
|
|
||||||
this.updateUrgentTasksCount();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
updateAllTasksCount() {
|
displayNumberOfTaskStatus(query: string) {
|
||||||
this.allTasksCount = this.taskService.allTasks.length;
|
const filteredTasks = this.taskService
|
||||||
}
|
.getAllTasks()
|
||||||
|
.filter((task) => task.status === query);
|
||||||
updateTasksCount() {
|
|
||||||
this.todoTasksCount = this.countTasks('todo');
|
|
||||||
this.inprogressTasksCount = this.countTasks('inprogress');
|
|
||||||
this.awaitfeedbackTasksCount = this.countTasks('awaitfeedback');
|
|
||||||
this.doneTasksCount = this.countTasks('done');
|
|
||||||
}
|
|
||||||
|
|
||||||
countTasks(status: string): number {
|
|
||||||
const filteredTasks = this.taskService.allTasks.filter(
|
|
||||||
(task) => task.status === status
|
|
||||||
);
|
|
||||||
return filteredTasks.length;
|
return filteredTasks.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateUrgentTasksCount() {
|
displayNumberOfTaskStatusUrgent() {
|
||||||
const filteredTasks = this.taskService.allTasks.filter(
|
return this.taskService
|
||||||
(task) => task.priority === 'urgent'
|
.getAllTasks()
|
||||||
);
|
.filter((task) => task.priority === 'urgent');
|
||||||
this.urgentTasksCount = filteredTasks.length;
|
|
||||||
this.nextUrgentTasks(filteredTasks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nextUrgentTasks(filteredTasks: any[]) {
|
nextUrgentTasks() {
|
||||||
if (filteredTasks.length >= 2) {
|
const urgentTasks = this.displayNumberOfTaskStatusUrgent();
|
||||||
let timestamps = [];
|
if (urgentTasks.length >= 2) {
|
||||||
for (let i = 0; i < filteredTasks.length; i++) {
|
const timestamps = urgentTasks.map((task) => task.timestamp);
|
||||||
timestamps.push(filteredTasks[i].timestamp);
|
return this.timeConverter(Math.min(...timestamps));
|
||||||
}
|
} else if (urgentTasks.length > 0) {
|
||||||
this.urgentTasksDate = this.timeConverter(Math.min(...timestamps));
|
return this.timeConverter(urgentTasks[0].timestamp);
|
||||||
} else if (filteredTasks.length > 0) {
|
|
||||||
for (let i = 0; i < filteredTasks.length; i++) {
|
|
||||||
this.urgentTasksDate = this.timeConverter(filteredTasks[i].timestamp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
timeConverter(timestamp: number) {
|
timeConverter(timestamp: number) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue