mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
Strip some characters from pasted date input
This commit is contained in:
parent
feaf2da834
commit
8e2cb6d416
@ -2,7 +2,7 @@
|
|||||||
<label class="form-label" [for]="inputId">{{title}}</label>
|
<label class="form-label" [for]="inputId">{{title}}</label>
|
||||||
<div class="input-group" [class.is-invalid]="error">
|
<div class="input-group" [class.is-invalid]="error">
|
||||||
<input class="form-control" [class.is-invalid]="error" [placeholder]="placeholder" [id]="inputId" maxlength="10"
|
<input class="form-control" [class.is-invalid]="error" [placeholder]="placeholder" [id]="inputId" maxlength="10"
|
||||||
(dateSelect)="onChange(value)" (change)="onChange(value)" (keypress)="onKeyPress($event)"
|
(dateSelect)="onChange(value)" (change)="onChange(value)" (keypress)="onKeyPress($event)" (paste)="onPaste($event)"
|
||||||
name="dp" [(ngModel)]="value" ngbDatepicker #datePicker="ngbDatepicker" #datePickerContent="ngModel">
|
name="dp" [(ngModel)]="value" ngbDatepicker #datePicker="ngbDatepicker" #datePickerContent="ngModel">
|
||||||
<button class="btn btn-outline-secondary calendar" (click)="datePicker.toggle()" type="button">
|
<button class="btn btn-outline-secondary calendar" (click)="datePicker.toggle()" type="button">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar" viewBox="0 0 16 16">
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar" viewBox="0 0 16 16">
|
||||||
|
@ -30,7 +30,18 @@ export class DateComponent
|
|||||||
|
|
||||||
placeholder: string
|
placeholder: string
|
||||||
|
|
||||||
// prevent chars other than numbers and separators
|
onPaste(event: ClipboardEvent) {
|
||||||
|
let clipboardData: DataTransfer =
|
||||||
|
event.clipboardData || window['clipboardData']
|
||||||
|
if (clipboardData) {
|
||||||
|
let pastedText = clipboardData.getData('text')
|
||||||
|
pastedText = pastedText.replace(/[\sa-z#!$%\^&\*;:{}=\-_`~()]+/g, '')
|
||||||
|
event.preventDefault()
|
||||||
|
this.value = pastedText
|
||||||
|
this.onChange(pastedText)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onKeyPress(event: KeyboardEvent) {
|
onKeyPress(event: KeyboardEvent) {
|
||||||
if ('Enter' !== event.key && !/[0-9,\.\/-]+/.test(event.key)) {
|
if ('Enter' !== event.key && !/[0-9,\.\/-]+/.test(event.key)) {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user