diff --git a/build/react-object-inspector.js b/build/react-object-inspector.js
index e029083..ee9d1dd 100644
--- a/build/react-object-inspector.js
+++ b/build/react-object-inspector.js
@@ -91,7 +91,8 @@ return /******/ (function(modules) { // webpackBootstrap
name: void 0,
data: undefined,
depth: 0,
- objectinspectorid: String(void 0)
+ objectinspectorid: String(void 0),
+ className: 'ObjectInspector'
},
enumerable: true
}]);
@@ -145,6 +146,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: function render() {
var data = this.props.data;
var name = this.props.name;
+ var className = this.props.className;
var setExpanded = this.props.depth === 0 ? this.setExpanded.bind(this) : this.props.setExpanded;
var getExpanded = this.props.depth === 0 ? this.getExpanded.bind(this) : this.props.getExpanded;
@@ -161,6 +163,7 @@ return /******/ (function(modules) { // webpackBootstrap
if (data.hasOwnProperty(propertyName)) {
propertyNodes.push(_react2['default'].createElement(ObjectInspector, { getExpanded: getExpanded,
setExpanded: setExpanded,
+ className: className,
objectinspectorid: this.props.objectinspectorid + '.' + propertyName,
depth: this.props.depth + 1,
key: propertyName,
@@ -170,20 +173,20 @@ return /******/ (function(modules) { // webpackBootstrap
}
propertyNodesContainer = _react2['default'].createElement(
'div',
- { style: { paddingLeft: "12px" }, className: 'ObjectInspector-property-nodes-container' },
+ { style: { paddingLeft: "12px" }, className: className + '-property-nodes-container' },
propertyNodes
);
}
return _react2['default'].createElement(
'div',
- { className: 'ObjectInspector' },
+ { className: '' + className },
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-property', onTouchStart: this.handleClick.bind(this), onClick: this.handleClick.bind(this) },
+ { className: className + '-property', onTouchStart: this.handleClick.bind(this), onClick: this.handleClick.bind(this) },
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-expand-control ObjectInspector-unselectable' },
+ { className: className + '-expand-control ' + className + '-unselectable' },
expandGlyph
),
(function () {
@@ -193,7 +196,7 @@ return /******/ (function(modules) { // webpackBootstrap
null,
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-name' },
+ { className: className + '-object-name' },
name
),
_react2['default'].createElement(
@@ -201,10 +204,10 @@ return /******/ (function(modules) { // webpackBootstrap
null,
': '
),
- _react2['default'].createElement(_ObjectDescription2['default'], { object: data })
+ _react2['default'].createElement(_ObjectDescription2['default'], { className: className, object: data })
);
} else {
- return _react2['default'].createElement(_ObjectPreview2['default'], { object: data });
+ return _react2['default'].createElement(_ObjectPreview2['default'], { className: className, object: data });
}
})()
),
@@ -271,17 +274,19 @@ return /******/ (function(modules) { // webpackBootstrap
key: 'render',
value: function render() {
var object = this.props.object;
+ var className = this.props.className;
+
switch (typeof object) {
case 'number':
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-number' },
+ { className: className + '-object-value-number' },
object
);
case 'string':
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-string' },
+ { className: className + '-object-value-string' },
'"',
object,
'"'
@@ -289,20 +294,20 @@ return /******/ (function(modules) { // webpackBootstrap
case 'boolean':
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-boolean' },
+ { className: className + '-object-value-boolean' },
String(object)
); // why simple {object} won't work?
case 'undefined':
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-undefined' },
+ { className: className + '-object-value-undefined' },
'undefined'
);
case 'object':
if (object === null) {
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-null' },
+ { className: className + '-object-value-null' },
'null'
);
}
@@ -322,7 +327,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-object' },
+ { className: className + '-object-value-object' },
'Object'
);
case 'function':
@@ -331,12 +336,12 @@ return /******/ (function(modules) { // webpackBootstrap
null,
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-function-keyword' },
+ { className: className + '-object-value-function-keyword' },
'function'
),
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-function-name' },
+ { className: className + '-object-value-function-name' },
' ',
object.name,
'()'
@@ -345,7 +350,7 @@ return /******/ (function(modules) { // webpackBootstrap
case 'symbol':
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-value-symbol' },
+ { className: className + '-object-value-symbol' },
'Symbol()'
);
default:
@@ -415,17 +420,19 @@ return /******/ (function(modules) { // webpackBootstrap
key: 'render',
value: function render() {
var object = this.props.object;
+ var className = this.props.className;
+
if (typeof object !== 'object' || object === null) {
- return _react2['default'].createElement(_ObjectDescription2['default'], { object: object });
+ return _react2['default'].createElement(_ObjectDescription2['default'], { className: className, object: object });
}
if (Array.isArray(object)) {
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-preview' },
+ { className: className + '-object-preview' },
'[',
intersperse(object.map(function (element, index) {
- return _react2['default'].createElement(_ObjectDescription2['default'], { key: index, object: element });
+ return _react2['default'].createElement(_ObjectDescription2['default'], { className: className, key: index, object: element });
}), ", "),
']'
);
@@ -453,11 +460,11 @@ return /******/ (function(modules) { // webpackBootstrap
{ key: propertyName },
_react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-name' },
+ { className: className + '-object-name' },
propertyName
),
': ',
- _react2['default'].createElement(_ObjectDescription2['default'], { object: propertyValue }),
+ _react2['default'].createElement(_ObjectDescription2['default'], { className: className, object: propertyValue }),
ellipsis
));
if (ellipsis) break;
@@ -466,7 +473,7 @@ return /******/ (function(modules) { // webpackBootstrap
return _react2['default'].createElement(
'span',
- { className: 'ObjectInspector-object-preview' },
+ { className: className + '-object-preview' },
'Object {',
intersperse(propertyNodes, ", "),
'}'
diff --git a/build/react-object-inspector.map b/build/react-object-inspector.map
index ada6582..fbb6d8d 100644
--- a/build/react-object-inspector.map
+++ b/build/react-object-inspector.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 595402fa24c50875b4e7","webpack:///./src/ObjectInspector.js","webpack:///external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack:///./src/ObjectDescription.js","webpack:///./src/ObjectPreview.js"],"names":[],"mappings":"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","file":"react-object-inspector.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TreeView\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"TreeView\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"build/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 595402fa24c50875b4e7\n **/","import React, { Component } from 'react';\n\nimport ObjectDescription from './ObjectDescription';\nimport ObjectPreview from './ObjectPreview';\n\nexport default class ObjectInspector extends Component {\n\n propTypes: {\n name: PropTypes.string,\n data: PropTypes.object,\n depth: PropTypes.number,\n objectinspectorid: PropTypes.string\n }\n\n static defaultProps = {\n name: void 0,\n data: undefined,\n depth: 0,\n objectinspectorid: String(void 0)\n }\n\n constructor(props) {\n super(props);\n\n if(props.depth === 0){\n this.state = {expandedTree: {}};\n this.state.expandedTree[props.objectinspectorid] = false;\n }\n }\n\n static isExpandable(data){\n return (typeof data === 'object' && data !== null && Object.keys(data).length > 0);\n }\n\n getExpanded(objectinspectorid){\n const expandedTree = this.state.expandedTree;\n if (typeof expandedTree[objectinspectorid] !== 'undefined') {\n return expandedTree[objectinspectorid];\n }\n return false;\n }\n\n setExpanded(objectinspectorid, expanded){\n const expandedTree = this.state.expandedTree;\n expandedTree[objectinspectorid] = expanded;\n this.setState({expandedTree: expandedTree});\n }\n\n handleClick() {\n // console.log(this.props.data);\n if (ObjectInspector.isExpandable(this.props.data)) {\n if (this.props.depth > 0) {\n this.props.setExpanded(this.props.objectinspectorid, !this.props.getExpanded(this.props.objectinspectorid));\n }\n else{\n this.setExpanded(this.props.objectinspectorid, !this.getExpanded(this.props.objectinspectorid));\n }\n }\n }\n\n componentWillMount(){\n React.initializeTouchEvents(true);\n }\n\n render() {\n const data = this.props.data;\n const name = this.props.name;\n\n const setExpanded = (this.props.depth === 0) ? (this.setExpanded.bind(this)) : this.props.setExpanded;\n const getExpanded = (this.props.depth === 0) ? (this.getExpanded.bind(this)) : this.props.getExpanded;\n const expanded = getExpanded(this.props.objectinspectorid);\n\n const expandGlyph = ObjectInspector.isExpandable(data) ? (expanded ? '▼' : '▶') : (typeof name === 'undefined' ? '' : ' ');\n\n let propertyNodesContainer;\n if(expanded){\n let propertyNodes = [];\n\n for(let propertyName in data){\n const propertyValue = data[propertyName];\n if(data.hasOwnProperty(propertyName)){\n propertyNodes.push(