aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/shared-main/date/date-toggle.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/shared/shared-main/date/date-toggle.component.ts')
-rw-r--r--client/src/app/shared/shared-main/date/date-toggle.component.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/client/src/app/shared/shared-main/date/date-toggle.component.ts b/client/src/app/shared/shared-main/date/date-toggle.component.ts
new file mode 100644
index 000000000..bedf0ba4e
--- /dev/null
+++ b/client/src/app/shared/shared-main/date/date-toggle.component.ts
@@ -0,0 +1,46 @@
1import { DatePipe } from '@angular/common'
2import { Component, Input, OnChanges, OnInit } from '@angular/core'
3import { FromNowPipe } from '../angular/from-now.pipe'
4
5@Component({
6 selector: 'my-date-toggle',
7 templateUrl: './date-toggle.component.html',
8 styleUrls: [ './date-toggle.component.scss' ]
9})
10export class DateToggleComponent implements OnInit, OnChanges {
11 @Input() date: Date
12 @Input() toggled = false
13
14 dateRelative: string
15 dateAbsolute: string
16
17 constructor (
18 private datePipe: DatePipe,
19 private fromNowPipe: FromNowPipe
20 ) { }
21
22 ngOnInit () {
23 this.updateDates()
24 }
25
26 ngOnChanges () {
27 this.updateDates()
28 }
29
30 toggle () {
31 this.toggled = !this.toggled
32 }
33
34 getTitle () {
35 return this.toggled ? this.dateRelative : this.dateAbsolute
36 }
37
38 getContent () {
39 return this.toggled ? this.dateAbsolute : this.dateRelative
40 }
41
42 private updateDates () {
43 this.dateRelative = this.fromNowPipe.transform(this.date)
44 this.dateAbsolute = this.datePipe.transform(this.date, 'long')
45 }
46}