@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
37 lines (36 loc) • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RcsbResidueChartComponent = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = tslib_1.__importDefault(require("react"));
const GroupChartLayout_1 = require("../RcsbGroupChart/GroupChartLayout");
const ResidueChartTools_1 = require("./ResidueChartTools/ResidueChartTools");
const classes = tslib_1.__importStar(require("../../../scss/bootstrap-group-display.module.scss"));
const FacetTools_1 = require("../../../RcsbSeacrh/FacetTools");
class RcsbResidueChartComponent extends react_1.default.Component {
render() {
var _a, _b;
if ((_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.flat().filter((e) => { var _a, _b; return ((_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.chartMap) === null || _b === void 0 ? void 0 : _b.get(e)); })) {
return ((0, jsx_runtime_1.jsx)("div", { className: classes.bootstrapGroupComponentScope, children: (0, jsx_runtime_1.jsx)(GroupChartLayout_1.GroupChartLayout, { layout: this.state.layout, chartMap: this.state.chartMap }) }));
}
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
}
componentDidMount() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
yield this.updateState();
});
}
updateState() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const charts = (yield (yield ResidueChartTools_1.ResidueChartTools.getResidueDistribution(this.props)))
.filter(chart => (!this.props.facetLayoutGrid || this.props.facetLayoutGrid.includes(chart.attribute)))
.map(ch => { var _a; return FacetTools_1.FacetTools.addChartDisplayConfig(ch, (_a = this.props.chartDisplayConfig) !== null && _a !== void 0 ? _a : {}); });
this.setState({
layout: charts.map(c => c.attribute),
chartMap: charts.reduce((prev, curr) => (prev.set(curr.attribute, [curr])), new Map())
});
});
}
}
exports.RcsbResidueChartComponent = RcsbResidueChartComponent;