diff --git a/src-ui/src/app/components/common/input/debounce/input-debounce.component.html b/src-ui/src/app/components/common/input/debounce/input-debounce.component.html index 5bd5af07..5821bfdc 100644 --- a/src-ui/src/app/components/common/input/debounce/input-debounce.component.html +++ b/src-ui/src/app/components/common/input/debounce/input-debounce.component.html @@ -1,2 +1,2 @@ - + diff --git a/src-ui/src/app/components/common/input/debounce/input-debounce.component.ts b/src-ui/src/app/components/common/input/debounce/input-debounce.component.ts index 43ce97a6..b06cfb34 100644 --- a/src-ui/src/app/components/common/input/debounce/input-debounce.component.ts +++ b/src-ui/src/app/components/common/input/debounce/input-debounce.component.ts @@ -13,7 +13,7 @@ export class InputDebounceComponent { placeholder: string @Input() - delay: number = 300 + delay: number = 500 @Input() classes: string @@ -21,6 +21,13 @@ export class InputDebounceComponent { @Input() allowClear: boolean = true + @Input() + set pattern(regexStr: string): RegExp { + this._pattern = new RegExp(regexStr) + } + + _pattern: RegExp + @Output() value: EventEmitter = new EventEmitter() @@ -37,6 +44,16 @@ export class InputDebounceComponent { ); } + keyUp(event: any) { + if (!this._pattern) return + if (event.key.length == 1 && !this._pattern.test(event.key)) { // e.g. dont do for backspace + // invalid character, prevent input + event.preventDefault() + event.stopImmediatePropagation() + this.inputValue = this.inputValue.slice(this.inputValue.length, 1) + } + } + get cssClasses(): string { return 'form-control ' + this.classes } diff --git a/src-ui/src/app/components/split-merge/split-merge.component.html b/src-ui/src/app/components/split-merge/split-merge.component.html index 11ee273f..87c3fcbd 100644 --- a/src-ui/src/app/components/split-merge/split-merge.component.html +++ b/src-ui/src/app/components/split-merge/split-merge.component.html @@ -104,7 +104,7 @@
Pages:
- +