43 lines
909 B
TypeScript
43 lines
909 B
TypeScript
import { Component, Input, OnChanges } from '@angular/core'
|
|
import { FromNowPipe } from '../angular/from-now.pipe'
|
|
|
|
@Component({
|
|
selector: 'my-date-toggle',
|
|
templateUrl: './date-toggle.component.html',
|
|
styleUrls: [ './date-toggle.component.scss' ]
|
|
})
|
|
export class DateToggleComponent implements OnChanges {
|
|
@Input() date: Date
|
|
@Input() toggled = false
|
|
|
|
dateRelative: string
|
|
dateAbsolute: string
|
|
|
|
constructor (private fromNowPipe: FromNowPipe) { }
|
|
|
|
ngOnChanges () {
|
|
this.updateDates()
|
|
}
|
|
|
|
toggle () {
|
|
this.toggled = !this.toggled
|
|
}
|
|
|
|
getTitle () {
|
|
return this.toggled
|
|
? this.dateRelative
|
|
: this.dateAbsolute
|
|
}
|
|
|
|
getContent () {
|
|
return this.toggled
|
|
? this.dateAbsolute
|
|
: this.dateRelative
|
|
}
|
|
|
|
private updateDates () {
|
|
this.dateRelative = this.fromNowPipe.transform(this.date)
|
|
this.dateAbsolute = this.date.toLocaleDateString()
|
|
}
|
|
}
|