import * as React from 'react'; import { Select, Input } from 'antd'; export interface IPropertyTransform{ value: any; name: string; onChanged: Function; } export class PropertyTransform extends React.Component{ constructor(props, context) { super(props, context); this.state = { value: this.props.value }; } updateProperty(name: string, value: any) { if (this.props.name === name) this.setState({ value: value }); } handleChange(event) { let value = event.target.value; if (typeof this.state.value === 'number') value = parseFloat(value.replace(/^-?\d+\.\d+$/g, '')); this.setState({ value: value }); this.props.onChanged({ name: this.props.name, value: value }); } onSelect(value) { // value = value === 'true' ? true : false; this.setState({ value: value }); this.props.onChanged({ name: this.props.name, value: value }); } componentWillReceiveProps(nextProps:any){ this.setState({ value: nextProps.value, name: nextProps.name }); } onMouseOver(e) { e.target.title = this.state.value.toString(); } render() { let Option = Select.Option; let baseInput; if (typeof this.state.value === 'boolean') { baseInput = ; } else { if (this.props.name == 'UID') baseInput =
{this.state.value+''}
; else baseInput = ; } let _render =
{this.props.name}
{baseInput} ; return (_render); } }