Repository URL to install this package:
|
Version:
1.2.20 ▾
|
"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;