import * as React from "react"; export interface IColorComponentEntryProps { value: number, label: string, max?: number, min?: number, onChange: (value: number) => void } export class ColorComponentEntry extends React.Component { constructor(props: IColorComponentEntryProps) { super(props); } updateValue(valueString: string) { if (/[^0-9\.\-]/g.test(valueString)) { return; } let valueAsNumber = parseInt(valueString); if (isNaN(valueAsNumber)) { return; } if(this.props.max != undefined && (valueAsNumber > this.props.max)) { valueAsNumber = this.props.max; } if(this.props.min != undefined && (valueAsNumber < this.props.min)) { valueAsNumber = this.props.min; } this.props.onChange(valueAsNumber); } public render() { return (
this.updateValue(evt.target.value)} />
{ this.props.label }
) } }