mirror of
				https://github.com/elyby/accounts-frontend.git
				synced 2025-05-31 14:11:58 +05:30 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			751 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			751 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import React from 'react';
 | 
						|
import { MessageDescriptor } from 'react-intl';
 | 
						|
 | 
						|
import FormComponent from './FormComponent';
 | 
						|
import FormError from './FormError';
 | 
						|
import { ValidationError } from './FormModel';
 | 
						|
 | 
						|
type Error = ValidationError | MessageDescriptor;
 | 
						|
 | 
						|
export default class FormInputComponent<P, S = {}> extends FormComponent<
 | 
						|
  P & {
 | 
						|
    error?: Error;
 | 
						|
  },
 | 
						|
  S & {
 | 
						|
    error?: Error;
 | 
						|
  }
 | 
						|
> {
 | 
						|
  componentDidUpdate() {
 | 
						|
    if (this.state && this.state.error) {
 | 
						|
      this.setState({
 | 
						|
        error: undefined,
 | 
						|
      });
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  renderError() {
 | 
						|
    const error = (this.state && this.state.error) || this.props.error;
 | 
						|
 | 
						|
    return <FormError error={error} />;
 | 
						|
  }
 | 
						|
 | 
						|
  setError(error: Error) {
 | 
						|
    // @ts-ignore
 | 
						|
    this.setState({ error });
 | 
						|
  }
 | 
						|
}
 |