Projekt

Obecné

Profil

Stáhnout (2.44 KB) Statistiky
| Větev: | Tag: | Revize:
1 0d1b0550 Václav Jirák
import { Component, OnInit } from '@angular/core';
2
import {UserToApprove} from '../../user-approval/user-to-approve.model';
3
import {DaysOff} from '../../shared/days-off.model';
4
import {OffDayType } from '../../shared/off-day-type';
5
6
@Component({
7
  selector: 'app-employer-dashboard',
8
  templateUrl: './employer-dashboard.component.html',
9
  styleUrls: ['./employer-dashboard.component.sass']
10
})
11
export class EmployerDashboardComponent implements OnInit {
12
13
  usersToApprove: UserToApprove[] = [
14
    { date: new Date(), email: 'kek@kek.cz', name: 'Václav Jirák' },
15
    { date: new Date(), email: 'kuadas@kek.cz', name: 'Věnceslav Kárij' }
16
  ];
17
18
  daysOffToApprove: DaysOff[] = [
19
    { username: 'Václav Jirák', dateFrom: new Date(2019, 10, 13), dateTo: new Date(), type: OffDayType.Sickday },
20
    { username: 'Václav Jirák', dateFrom: new Date(2019, 10, 1), dateTo: new Date(), type: OffDayType.ExtraVacation },
21
  ];
22
23
  daysOff: DaysOff[] = [
24
    {
25
      username: '',
26
      dateFrom: new Date(2019, 5, 5),
27
      dateTo: new Date(2019, 5, 6),
28
      type: OffDayType.ExtraVacation
29
    },
30
    {
31
      username: '',
32
      dateFrom: new Date(2019, 5, 8),
33
      dateTo: new Date(2019, 5, 8),
34
      type: OffDayType.Sickday
35
    },
36
    {
37
      username: '',
38
      dateFrom: new Date(2019, 3, 8),
39
      dateTo: new Date(2019, 3, 9),
40
      type: OffDayType.Sickday
41
    },
42
  ];
43
44
  oncomingDaysOff: DaysOff[] = [];
45
46
  constructor() { }
47
48
  ngOnInit() {
49
    this.oncomingDaysOff = this.calculateComingDaysOff();
50
  }
51
52
  onDateSelect( date: Date ) {
53
    console.log('Date selected: ' + date.toDateString());
54
  }
55
56
  userApproved( user: UserToApprove, approved: boolean ) {
57
    console.log(user.name + ' - approved: ' + approved);
58
    this.usersToApprove.splice(
59
      this.usersToApprove.indexOf(user), 1
60
    );
61
  }
62
63
  daysOffApproved(daysOff: DaysOff, approved: boolean ) {
64
    console.log(daysOff.username + ', ' + approved);
65
    this.daysOffToApprove.splice(
66
      this.daysOffToApprove.indexOf(daysOff), 1
67
    );
68
  }
69
70
  daysOffRemoved(daysOff: DaysOff) {
71
    this.daysOff.splice(
72
      this.daysOff.indexOf(daysOff), 1
73
    );
74
    this.oncomingDaysOff.splice(
75
      this.oncomingDaysOff.indexOf(daysOff), 1
76
    );
77
  }
78
79
  private calculateComingDaysOff(): DaysOff[] {
80
    let oncomingDaysOff: DaysOff[] = [];
81
82
    const today = new Date();
83
    this.daysOff.forEach((dayOff) => {
84
      if (dayOff.dateTo >= today) {
85
        oncomingDaysOff.push(dayOff);
86
      }
87
    });
88
89
    return oncomingDaysOff;
90
  }
91
}