diff --git a/projects/workflows-creator/src/lib/builder/group/group.component.html b/projects/workflows-creator/src/lib/builder/group/group.component.html index ba1c5c1..501dd2e 100644 --- a/projects/workflows-creator/src/lib/builder/group/group.component.html +++ b/projects/workflows-creator/src/lib/builder/group/group.component.html @@ -197,6 +197,7 @@ (mousedown)="handleMouseDown($event)" (mouseup)="handleMouseUp()" (mouseleave)="handleMouseLeave($event)" + (keydown)="handleKeyPress($event)" /> diff --git a/projects/workflows-creator/src/lib/builder/group/group.component.ts b/projects/workflows-creator/src/lib/builder/group/group.component.ts index c5c614d..c5333ec 100644 --- a/projects/workflows-creator/src/lib/builder/group/group.component.ts +++ b/projects/workflows-creator/src/lib/builder/group/group.component.ts @@ -590,6 +590,16 @@ export class GroupComponent implements OnInit, AfterViewInit { } } + handleKeyPress(event: any) { + const keyCode = event.which || event.keyCode; + const isDigit = keyCode >= 48 && keyCode <= 57; + const isBackspaceOrDelete = [8, 46].includes(keyCode); + const inputValue = event.target.value; + const isValidInput = /^-?\d*\.?\d*$/.test(inputValue); + if (!(isDigit || isBackspaceOrDelete) || !isValidInput) { + event.preventDefault(); + } + } handleEnterEvent( callback: any, node: BpmnNode, diff --git a/projects/workflows-element/package.json b/projects/workflows-element/package.json index b5cdbab..694e82e 100644 --- a/projects/workflows-element/package.json +++ b/projects/workflows-element/package.json @@ -17,6 +17,5 @@ "access": "public", "directory": "dist" }, - "hash": "9988584e9ffd1d689dd06b27f41fd5e70ef726e0510b1ba55b78437c3be6f14c" - + "hash": "e633c5b62116521580e1a5d3b744b4c25c8f4b74c6b54d008cb5a5a601dd1d92" } \ No newline at end of file