diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 59d238cf1e0804dcf833355354bd55cc00271940..41ba53e460c97dd2a52e9d59a7fc0ec428d73f96 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -577,8 +577,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer { /** * détection de la fermeture de la page/navigateur et demande de confirmation */ - @HostListener("window:beforeunload", ["$event"]) - confirmExit($event) { + @HostListener("window:beforeunload", [ "$event" ]) confirmExit($event) { if ( this.appSetupService.warnBeforeTabClose && environment.production // otherwise prevents dev server to reload app after recompiling @@ -587,4 +586,27 @@ export class AppComponent implements OnInit, OnDestroy, Observer { $event.returnValue = "Your data will be lost !"; } } + + /** + * Disable value modification on mouse wheel or up/down arrows, in input type="number" + */ + @HostListener("mousewheel", [ "$event" ]) onMouseWheelChrome(event: any) { + this.disableScroll(event); + } + @HostListener("DOMMouseScroll", [ "$event" ]) onMouseWheelFirefox(event: any) { + this.disableScroll(event); + } + @HostListener("onmousewheel", [ "$event" ]) onMouseWheelIE(event: any) { + this.disableScroll(event); + } + disableScroll(event: any) { + if (event.srcElement.type === "number") { + event.preventDefault(); + } + } + @HostListener("keydown", [ "$event" ]) onKeydown(event: any) { + if (event.which === 38 || event.which === 40) { // up / down arrow + event.preventDefault(); + } + } } diff --git a/src/app/components/pab-table/pab-table.component.scss b/src/app/components/pab-table/pab-table.component.scss index 487fca1558098c8200cb92a001bfb1fbe19f6f4c..d09c4cad00a211c74ae6cdfed71204c9b04836dc 100644 --- a/src/app/components/pab-table/pab-table.component.scss +++ b/src/app/components/pab-table/pab-table.component.scss @@ -128,10 +128,11 @@ mat-card-content { > input[type="number"] { -moz-appearance: textfield; } - /* input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button + input[type=number]::-webkit-outer-spin-button, + input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; - } */ + } } } }