mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
62 lines
1.3 KiB
TypeScript
62 lines
1.3 KiB
TypeScript
import { formatDate } from '@angular/common';
|
|
import { Component, forwardRef, Input, OnInit } from '@angular/core';
|
|
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
|
@Component({
|
|
providers: [{
|
|
provide: NG_VALUE_ACCESSOR,
|
|
useExisting: forwardRef(() => DateTimeComponent),
|
|
multi: true
|
|
}],
|
|
selector: 'app-input-date-time',
|
|
templateUrl: './date-time.component.html',
|
|
styleUrls: ['./date-time.component.scss']
|
|
})
|
|
export class DateTimeComponent implements OnInit,ControlValueAccessor {
|
|
|
|
constructor() {
|
|
}
|
|
|
|
onChange = (newValue: any) => {};
|
|
|
|
onTouched = () => {};
|
|
|
|
writeValue(newValue: any): void {
|
|
this.dateValue = formatDate(newValue, 'yyyy-MM-dd', "en-US")
|
|
this.timeValue = formatDate(newValue, 'HH:mm:ss', 'en-US')
|
|
}
|
|
registerOnChange(fn: any): void {
|
|
this.onChange = fn;
|
|
}
|
|
registerOnTouched(fn: any): void {
|
|
this.onTouched = fn;
|
|
}
|
|
setDisabledState?(isDisabled: boolean): void {
|
|
this.disabled = isDisabled;
|
|
}
|
|
|
|
@Input()
|
|
titleDate: string = "Date"
|
|
|
|
@Input()
|
|
titleTime: string
|
|
|
|
@Input()
|
|
disabled: boolean = false
|
|
|
|
@Input()
|
|
hint: string
|
|
|
|
timeValue
|
|
|
|
dateValue
|
|
|
|
ngOnInit(): void {
|
|
}
|
|
|
|
dateOrTimeChanged() {
|
|
this.onChange(formatDate(this.dateValue + "T" + this.timeValue,"yyyy-MM-ddTHH:mm:ssZZZZZ", "en-us", "UTC"))
|
|
}
|
|
|
|
}
|