Home / File/ Header.js — react Source File

Header.js — react Source File

Architecture documentation for Header.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
  67344e75_b2cd_aff2_a4d4_05a48eb9044f["Header.js"]
  c789f524_d8a3_6787_39a9_b5039ca79e1b["VersionPicker.js"]
  67344e75_b2cd_aff2_a4d4_05a48eb9044f --> c789f524_d8a3_6787_39a9_b5039ca79e1b
  6cd1a601_8d64_0a5e_2d10_9e489626d92f["VersionPicker"]
  67344e75_b2cd_aff2_a4d4_05a48eb9044f --> 6cd1a601_8d64_0a5e_2d10_9e489626d92f
  9df2348e_1b86_653b_24c9_9e88a44a39af["query-string"]
  67344e75_b2cd_aff2_a4d4_05a48eb9044f --> 9df2348e_1b86_653b_24c9_9e88a44a39af
  1e5e2b9e_6833_e5eb_b802_91874b6cf675["App.js"]
  1e5e2b9e_6833_e5eb_b802_91874b6cf675 --> 67344e75_b2cd_aff2_a4d4_05a48eb9044f
  style 67344e75_b2cd_aff2_a4d4_05a48eb9044f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import {parse, stringify} from 'query-string';
import VersionPicker from './VersionPicker';

const React = window.React;

class Header extends React.Component {
  constructor(props, context) {
    super(props, context);
    const query = parse(window.location.search);
    const version = query.version || 'local';
    const production = query.production || false;
    const versions = [version];

    this.state = {version, versions, production};
  }
  handleVersionChange(version) {
    const query = parse(window.location.search);
    query.version = version;
    if (query.version === 'local') {
      delete query.version;
    }
    window.location.search = stringify(query);
  }
  handleProductionChange(event) {
    const query = parse(window.location.search);
    query.production = event.target.checked;
    if (!query.production) {
      delete query.production;
    }
    window.location.search = stringify(query);
  }
  handleFixtureChange(event) {
    window.location.pathname = event.target.value;
  }
  render() {
    return (
      <header className="header">
        <div className="header__inner">
          <span className="header__logo">
            <img
              src={process.env.PUBLIC_URL + '/react-logo.svg'}
              alt="React"
              width="20"
              height="20"
            />
            <a href="/">
              DOM Test Fixtures (v
              {React.version})
            </a>
          </span>

          <div className="header-controls">
            <input
              id="react_production"
              className="header__checkbox"
              type="checkbox"
              checked={this.state.production}
              onChange={this.handleProductionChange}
            />
            <label htmlFor="react_production" className="header__label">
              Production
            </label>
            <label htmlFor="example">
              <span className="sr-only">Select an example</span>
              <select
                value={window.location.pathname}
                onChange={this.handleFixtureChange}>
                <option value="/">Home</option>
                <option value="/hydration">Hydration</option>
                <option value="/range-inputs">Range Inputs</option>
                <option value="/text-inputs">Text Inputs</option>
                <option value="/number-inputs">Number Input</option>
                <option value="/password-inputs">Password Input</option>
                <option value="/email-inputs">Email Input</option>
                <option value="/selects">Selects</option>
                <option value="/textareas">Textareas</option>
                <option value="/progress">Progress</option>
                <option value="/input-change-events">
                  Input change events
                </option>
                <option value="/buttons">Buttons</option>
                <option value="/date-inputs">Date Inputs</option>
                <option value="/error-handling">Error Handling</option>
                <option value="/event-pooling">Event Pooling</option>
                <option value="/custom-elements">Custom Elements</option>
                <option value="/media-events">Media Events</option>
                <option value="/pointer-events">Pointer Events</option>
                <option value="/mouse-events">Mouse Events</option>
                <option value="/selection-events">Selection Events</option>
                <option value="/suspense">Suspense</option>
                <option value="/form-actions">Form Actions</option>
                <option value="/form-state">Form State</option>
                <option value="/fragment-refs">Fragment Refs</option>
              </select>
            </label>
            <label htmlFor="global_version">
              <span className="sr-only">Select a version to test</span>
              <VersionPicker
                id="global_version"
                name="global_version"
                version={this.state.version}
                onChange={this.handleVersionChange}
              />
            </label>
          </div>
        </div>
      </header>
    );
  }
}

export default Header;

Domain

Subdomains

Classes

Dependencies

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free