]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/app/shared/shared-main/date/date-toggle.component.ts
Live views update
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-main / date / date-toggle.component.ts
1 import { DatePipe } from '@angular/common'
2 import { Component, Input, OnChanges, OnInit } from '@angular/core'
3 import { 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 })
10 export class DateToggleComponent implements 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 ngOnChanges () {
23 this.updateDates()
24 }
25
26 toggle () {
27 this.toggled = !this.toggled
28 }
29
30 getTitle () {
31 return this.toggled
32 ? this.dateRelative
33 : this.dateAbsolute
34 }
35
36 getContent () {
37 return this.toggled
38 ? this.dateAbsolute
39 : this.dateRelative
40 }
41
42 private updateDates () {
43 this.dateRelative = this.fromNowPipe.transform(this.date)
44 this.dateAbsolute = this.date.toLocaleDateString()
45 }
46 }