Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _react = _interopRequireWildcard(require("react"));

var _propTypes = _interopRequireDefault(require("prop-types"));

var _classnames = _interopRequireDefault(require("classnames"));

var _state = _interopRequireDefault(require("./state"));

var _dec,
    _class,
    _class2,
    _temp,
    _jsxFileName = "/Users/michaelfrohberg/Training/mono/packages/modules/devtools/dat-gui/components/DatFolder.js";

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {
    default: obj
  };
}

function _interopRequireWildcard(obj) {
  if (obj && obj.__esModule) {
    return obj;
  } else {
    var newObj = {};

    if (obj != null) {
      for (var key in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, key)) {
          var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};

          if (desc.get || desc.set) {
            Object.defineProperty(newObj, key, desc);
          } else {
            newObj[key] = obj[key];
          }
        }
      }
    }

    newObj.default = obj;
    return newObj;
  }
}

function _objectWithoutProperties(source, excluded) {
  if (source == null) return {};

  var target = _objectWithoutPropertiesLoose(source, excluded);

  var key, i;

  if (Object.getOwnPropertySymbols) {
    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);

    for (i = 0; i < sourceSymbolKeys.length; i++) {
      key = sourceSymbolKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
      target[key] = source[key];
    }
  }

  return target;
}

function _objectWithoutPropertiesLoose(source, excluded) {
  if (source == null) return {};
  var target = {};
  var sourceKeys = Object.keys(source);
  var key, i;

  for (i = 0; i < sourceKeys.length; i++) {
    key = sourceKeys[i];
    if (excluded.indexOf(key) >= 0) continue;
    target[key] = source[key];
  }

  return target;
}

let DatFolder = (_dec = _state.default.observer, _dec(_class = (_temp = _class2 = class DatFolder extends _react.Component {
  constructor(...args) {
    super(...args);
    this.state = (0, _state.default)({
      isClosed: true
    });

    this.handleClick = () => {
      const isClosed = !this.state.isClosed;
      this.state.merge({
        isClosed
      });
    };
  }

  renderChildren() {
    // Disable this rule to take title out of the props so nested folders can have unique titles.
    // eslint-disable-next-line no-unused-vars
    const _this$props = this.props,
          children = _this$props.children,
          title = _this$props.title,
          rest = _objectWithoutProperties(_this$props, ["children", "title"]);

    return _react.default.Children.map(children, child => (0, _react.cloneElement)(child, Object.assign({}, rest)));
  }

  render() {
    const isClosed = this.state.isClosed;
    const title = this.props.title;
    return _react.default.createElement("li", {
      className: (0, _classnames.default)('folder', {
        'closed': isClosed
      }),
      __source: {
        fileName: _jsxFileName,
        lineNumber: 38
      },
      __self: this
    }, _react.default.createElement("div", {
      className: "dg",
      __source: {
        fileName: _jsxFileName,
        lineNumber: 39
      },
      __self: this
    }, _react.default.createElement("div", {
      className: "title",
      onClick: this.handleClick,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 40
      },
      __self: this
    }, title), _react.default.createElement("ul", {
      __source: {
        fileName: _jsxFileName,
        lineNumber: 43
      },
      __self: this
    }, this.renderChildren())));
  }

}, _class2.propTypes = {
  title: _propTypes.default.string.isRequired
}, _class2.defaultProps = {
  title: 'Folder'
}, _temp)) || _class);
exports.default = DatFolder;