// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import React from 'react'; import { Input } from '@mui/material'; import { InputProps } from '@mui/material/Input'; export class IntInput extends React.Component { handleChange = (event: React.ChangeEvent) => { const { onChange = () => { return; } } = this.props; const parsedValue = parseInt(event.target.value, 10); event.target.value = parsedValue.toString(); onChange(event); } render() { const parsedValue = parseInt(typeof this.props.value === 'string' ? this.props.value : '', 10); const value = isNaN(parsedValue) ? '' : parsedValue.toString(); const props = { ...this.props, value, onChange: this.handleChange, }; return ; } }