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 @@
-
+
0" class="clear-wrapper" title="Clear all" (click)="clear()">×
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 @@
-
+