kea-react
Version:
Componentes comunes de react
41 lines (40 loc) • 2.34 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var node_1 = require("./node");
var index_1 = require("../treeview/index");
var logic_1 = require("./logic");
var reselect_1 = require("reselect");
var HOC_1 = require("../HOC");
var JsonViewComponentControlled = /** @class */ (function (_super) {
__extends(JsonViewComponentControlled, _super);
function JsonViewComponentControlled() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.valueSelector = function (props) { return props.value; };
_this.onPropClickSelector = function (props) { return props.onPropClick; };
_this.treeSelector = reselect_1.createSelector(_this.valueSelector, function (value) { return [logic_1.valueToJsonTreeView(value)]; });
_this.rendererSelector = reselect_1.createSelector(_this.onPropClickSelector, function (onPropClick) { return function (value, path) {
var key = path.length == 0 ? "" : path[path.length - 1];
return React.createElement(node_1.JsonNodeComponent, { key: key, propname: key, value: value, onClick: onPropClick && (function () { return onPropClick(path.slice(1)); }) });
}; });
return _this;
}
JsonViewComponentControlled.prototype.render = function () {
return React.createElement(index_1.TreeComponent, { onStateChange: this.props.onStateChanged, state: this.props.state, rowRenderer: this.rendererSelector(this.props), value: this.treeSelector(this.props) });
};
return JsonViewComponentControlled;
}(React.PureComponent));
exports.initialStateTree = {
collapsed: []
};
exports.JsonViewComponent = HOC_1.MakeUncontrolled("state", "onStateChanged", exports.initialStateTree)(JsonViewComponentControlled);