UNPKG

kea-react

Version:

Componentes comunes de react

57 lines (56 loc) 3.46 kB
"use strict"; 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 __()); }; })(); var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); var reselect_1 = require("reselect"); var logic_1 = require("./logic"); var row_1 = require("./row"); var TreeComponent = /** @class */ (function (_super) { __extends(TreeComponent, _super); function TreeComponent() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.collapsedPathSelector = function (props) { return props.state.collapsed; }; _this.treeSelector = function (props) { return props.value; }; _this.treeRowsSelector = reselect_1.createSelector(_this.treeSelector, _this.collapsedPathSelector, function (tree, collapsedPath) { return logic_1.getTreeRows([], tree, collapsedPath); }); _this.stateSelector = function (props) { return props.state; }; _this.onStateChangeSelector = function (props) { return props.onStateChange; }; _this.handleOnCollapsedChageSelector = reselect_1.createSelector(_this.onStateChangeSelector, _this.stateSelector, function (onChange, value) { return function (collapsed) { return onChange(__assign({}, value, { collapsed: collapsed })); }; }); _this.handleOnItemCollapsedChangeSelector = reselect_1.createSelector(_this.handleOnCollapsedChageSelector, _this.collapsedPathSelector, function (onChange, collapsed) { return function (path, value) { return onChange(logic_1.handleOnCollapsedChange(path, value, collapsed)); }; }); _this.treeRowPropsSelector = reselect_1.createSelector(_this.treeRowsSelector, _this.handleOnItemCollapsedChangeSelector, function (rows, onCollapsed) { return rows.map(function (x) { return ({ key: x.path.join("/"), path: x.path, level: x.path.length, collapsed: x.collapsed, onCollapsedChange: function (value) { return onCollapsed(x.path, value); }, value: x.value }); }); }); _this.rowRendererSelector = function (props) { return props.rowRenderer; }; _this.treeRowComponentsSelector = reselect_1.createSelector(_this.treeRowPropsSelector, _this.rowRendererSelector, function (rows, renderer) { return rows.map(function (row) { return React.createElement(row_1.TreeRowComponent, __assign({}, row), renderer(row.value, row.path)); }); }); return _this; } TreeComponent.prototype.render = function () { var rows = this.treeRowComponentsSelector(this.props); return (React.createElement("div", null, rows)); }; return TreeComponent; }(React.PureComponent)); exports.TreeComponent = TreeComponent;