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 9863ae9..9253753 100644 --- a/projects/workflows-element/package.json +++ b/projects/workflows-element/package.json @@ -18,4 +18,5 @@ "directory": "dist" }, "hash": "52e16f7339ae099b920d5eba85c8551b9ac2178d0fdb8c34eb6eb6de8aa96685" + } \ No newline at end of file