Home / Class/ SelectFixture Class — react Architecture

SelectFixture Class — react Architecture

Architecture documentation for the SelectFixture class in index.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3["SelectFixture"]
  4d41189b_fce4_6ba5_b7d2_4761097dfcea["index.js"]
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|defined in| 4d41189b_fce4_6ba5_b7d2_4761097dfcea
  63255409_fb19_2921_4bc2_d0e397193498["componentDidMount()"]
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 63255409_fb19_2921_4bc2_d0e397193498
  1024b5ae_0735_da96_868a_98408e2c5d14["componentDidUpdate()"]
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 1024b5ae_0735_da96_868a_98408e2c5d14
  794219c4_b9d6_7c2b_af9b_6368503fa4dc["_renderNestedSelect()"]
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 794219c4_b9d6_7c2b_af9b_6368503fa4dc
  8989a312_d57d_eb21_190f_f23e06e8b008["render()"]
  eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 8989a312_d57d_eb21_190f_f23e06e8b008

Relationship Graph

Source Code

fixtures/dom/src/components/fixtures/selects/index.js lines 7–236

class SelectFixture extends React.Component {
  state = {value: ''};
  _nestedDOMNode = null;
  _singleFormDOMNode = null;
  _multipleFormDOMNode = null;

  onChange = event => {
    this.setState({value: event.target.value});
  };

  resetSingleOptionForm = event => {
    event.preventDefault();
    this._singleFormDOMNode.reset();
  };

  resetMultipleOptionForm = event => {
    event.preventDefault();
    this._multipleFormDOMNode.reset();
  };

  componentDidMount() {
    this._renderNestedSelect();
  }

  componentDidUpdate() {
    this._renderNestedSelect();
  }

  _renderNestedSelect() {
    ReactDOM.render(
      <select value={this.state.value} onChange={this.onChange}>
        <option value="">Select a color</option>
        <option value="red">Red</option>
        <option value="blue">Blue</option>
        <option value="green">Green</option>
      </select>,
      this._nestedDOMNode
    );
  }

  render() {
    return (
      <FixtureSet title="Selects">
        <form className="field-group">
          <fieldset>
            <legend>Controlled</legend>
            <select value={this.state.value} onChange={this.onChange}>
              <option value="">Select a color</option>
              <option value="red">Red</option>
              <option value="blue">Blue</option>
              <option value="green">Green</option>
            </select>
            <span className="hint">Value: {this.state.value}</span>
          </fieldset>
          <fieldset>
            <legend>Uncontrolled</legend>
            <select defaultValue="">
              <option value="">Select a color</option>
              <option value="red">Red</option>
              <option value="blue">Blue</option>
              <option value="green">Green</option>
            </select>
          </fieldset>
          <fieldset>
            <legend>Controlled in nested subtree</legend>
            <div ref={node => (this._nestedDOMNode = node)} />
            <span className="hint">
              This should synchronize in both direction with the "Controlled".
            </span>
          </fieldset>
        </form>

        <TestCase title="A selected disabled option" relatedIssues="2803">
          <TestCase.Steps>
            <li>Open the select</li>
            <li>Select "1"</li>
            <li>Attempt to reselect "Please select an item"</li>
          </TestCase.Steps>

          <TestCase.ExpectedResult>
            The initial picked option should be "Please select an item", however

Domain

Frequently Asked Questions

What is the SelectFixture class?
SelectFixture is a class in the react codebase, defined in fixtures/dom/src/components/fixtures/selects/index.js.
Where is SelectFixture defined?
SelectFixture is defined in fixtures/dom/src/components/fixtures/selects/index.js at line 7.

Analyze Your Own Codebase

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

Try Supermodel Free