Files
flights_web/ClientApp/src/app/modules/components/captioned-time-group/captioned-time-group.component.ts
T

38 lines
1.1 KiB
TypeScript

import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { TimeGroupBaseComponent } from '@modules/components/time-group/time-group-base.component';
import { DATE_FORMAT } from '@shared/helpers';
import { ITimesSet } from '@typings/times';
import * as moment from 'moment';
@Component({
selector: 'captioned-time-group',
templateUrl: './captioned-time-group.component.html',
styleUrls: ['./captioned-time-group.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CaptionedTimeGroupComponent extends TimeGroupBaseComponent {
@Input() times: ITimesSet;
@Input() withDate = false;
@Input() caption: string;
constructor() {
super();
this.size = 'extra-small';
}
get date() {
const [date] = this.times.local.split('T');
return date
? moment(date).format(DATE_FORMAT)
: moment(this.times.local).format(DATE_FORMAT);
}
get timeGroupClasses() {
return {
'captioned-time-group': true,
[`captioned-time-group--${this.align}`]: this.align !== 'left',
};
}
}