Merge pull request #1370 from paperless-ngx/fix/date-pasting

Fix: correct date pasting with some non-US formats
This commit is contained in:
shamoon 2022-08-07 15:42:00 -07:00 committed by GitHub
commit a81dc00ccf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,8 +1,10 @@
import { Component, forwardRef, OnInit } from '@angular/core'
import { NG_VALUE_ACCESSOR } from '@angular/forms'
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap'
import {
NgbDateAdapter,
NgbDateParserFormatter,
} from '@ng-bootstrap/ng-bootstrap'
import { SettingsService } from 'src/app/services/settings.service'
import { LocalizedDateParserFormatter } from 'src/app/utils/ngb-date-parser-formatter'
import { AbstractInputComponent } from '../abstract-input'
@Component({
@ -23,7 +25,8 @@ export class DateComponent
{
constructor(
private settings: SettingsService,
private ngbDateParserFormatter: NgbDateParserFormatter
private ngbDateParserFormatter: NgbDateParserFormatter,
private isoDateAdapter: NgbDateAdapter<string>
) {
super()
}
@ -43,9 +46,10 @@ export class DateComponent
let pastedText = clipboardData.getData('text')
pastedText = pastedText.replace(/[\sa-z#!$%\^&\*;:{}=\-_`~()]+/g, '')
const parsedDate = this.ngbDateParserFormatter.parse(pastedText)
const formattedDate = this.ngbDateParserFormatter.format(parsedDate)
this.writeValue(formattedDate)
this.onChange(formattedDate)
if (parsedDate) {
this.writeValue(this.isoDateAdapter.toModel(parsedDate))
this.onChange(this.value)
}
}
}