\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /opt/cpanel/ea-ruby27/root/usr/share/passenger/templates/error_renderer/with_details/src/

Viewing File: Tabs.jsx

/** @jsx h */
import { Component, h } from 'preact';

class Tabs extends Component {
  constructor(props) {
    super(props);
    this.state = { activeKey: props.defaultActiveKey };
  }

  render() {
    var navs = [];
    var contents = [];
    var i;

    for (i = 0; i < this.props.children.length; i++) {
      var child = this.props.children[i];
      if (child !== undefined) {
        navs.push(this._buildNav(child));
        contents.push(this._buildContent(child));
      }
    }

    return (
      <div className={this.props.className}>
        <ul className="nav nav-tabs" role="tablist">
          {navs}
        </ul>
        <div className="tab-content">
          {contents}
        </div>
      </div>
    );
  }

  getActiveKey() {
    return this.state.activeKey;
  }

  setActiveKey(eventKey) {
    this.setState({ activeKey: eventKey });
  }

  _buildNav(tab) {
    var className;
    if (this.getActiveKey() === tab.attributes.eventKey) {
      className = 'active';
    }

    var self = this;
    var clickHandler = function(e) {
      self._handleTabClick(e, tab);
    };

    return (
      <li
      role="presentation"
      className={className}
      key={tab.attributes.eventKey}>
        <a
        href={'#' + this._buildIdForTab(tab)}
        aria-controls={this._buildIdForTab(tab)}
        role="tab"
        data-toggle="tab"
        onClick={clickHandler}>
          {tab.attributes.title}
        </a>
      </li>
    );
  }

  _buildContent(tab) {
    var className = 'tab-pane';
    if (this.getActiveKey() === tab.attributes.eventKey) {
      className += ' active';
    }

    return (
      <div
      role="tabpanel"
      className={className}
      id={this._buildIdForTab(tab)}
      key={tab.attributes.eventKey}>
        {tab}
      </div>
    );
  }

  _buildIdForTab(tab) {
    if (tab.attributes.id) {
      return tab.attributes.id;
    } else if (this.props.id === undefined || this.props.id === '') {
      return tab.attributes.eventKey;
    } else {
      return this.props.id + '-' + tab.attributes.eventKey;
    }
  }

  _handleTabClick(e, tab) {
    e.preventDefault();
    this.setActiveKey(tab.attributes.eventKey);
  }
}

export default Tabs;