Home / File/ InputTestCase.js — react Source File

InputTestCase.js — react Source File

Architecture documentation for InputTestCase.js, a javascript file in the react codebase. 3 imports, 1 dependents.

File javascript BabelCompiler Entrypoint 3 imports 1 dependents 1 classes

Entity Profile

Dependency Diagram

graph LR
  54dddc6b_95b5_d917_4703_e6a8f64ec36c["InputTestCase.js"]
  bc8ae172_cc20_3692_943c_bbdb1ad34855["Fixture.js"]
  54dddc6b_95b5_d917_4703_e6a8f64ec36c --> bc8ae172_cc20_3692_943c_bbdb1ad34855
  2851624d_a736_f3f6_2132_5a20630983fe["Fixture"]
  54dddc6b_95b5_d917_4703_e6a8f64ec36c --> 2851624d_a736_f3f6_2132_5a20630983fe
  a3aeab4c_4f93_b8d8_01c2_7a351a28a3fb["Fixture"]
  54dddc6b_95b5_d917_4703_e6a8f64ec36c --> a3aeab4c_4f93_b8d8_01c2_7a351a28a3fb
  1d9eef82_a8e2_98f5_d838_60291fc890b8["index.js"]
  1d9eef82_a8e2_98f5_d838_60291fc890b8 --> 54dddc6b_95b5_d917_4703_e6a8f64ec36c
  style 54dddc6b_95b5_d917_4703_e6a8f64ec36c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Fixture from '../../Fixture';
const React = window.React;

class InputTestCase extends React.Component {
  static defaultProps = {
    type: 'text',
    defaultValue: '',
    parseAs: 'text',
  };

  constructor() {
    super(...arguments);

    this.state = {
      value: this.props.defaultValue,
    };
  }

  onChange = event => {
    const raw = event.target.value;

    switch (this.props.type) {
      case 'number':
        const parsed = parseFloat(event.target.value, 10);

        this.setState({value: isNaN(parsed) ? '' : parsed});

        break;
      default:
        this.setState({value: raw});
    }
  };

  render() {
    const {children, type, defaultValue} = this.props;
    const {value} = this.state;

    return (
      <Fixture>
        <div>{children}</div>

        <div className="control-box">
          <fieldset>
            <legend>Controlled {type}</legend>
            <input type={type} value={value} onChange={this.onChange} />
            <p className="hint">Value: {JSON.stringify(this.state.value)}</p>
          </fieldset>

          <fieldset>
            <legend>Uncontrolled {type}</legend>
            <input type={type} defaultValue={defaultValue} />
          </fieldset>
        </div>
      </Fixture>
    );
  }
}

export default InputTestCase;

Domain

Subdomains

Classes

Frequently Asked Questions

What does InputTestCase.js do?
InputTestCase.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Entrypoint subdomain.
What does InputTestCase.js depend on?
InputTestCase.js imports 3 module(s): Fixture, Fixture, Fixture.js.
What files import InputTestCase.js?
InputTestCase.js is imported by 1 file(s): index.js.
Where is InputTestCase.js in the architecture?
InputTestCase.js is located at fixtures/dom/src/components/fixtures/text-inputs/InputTestCase.js (domain: BabelCompiler, subdomain: Entrypoint, directory: fixtures/dom/src/components/fixtures/text-inputs).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free