UNPKG

@rcsb/rcsb-saguaro-app

Version:
41 lines (40 loc) 2.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RcsbStatsChartComponent = void 0; const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = tslib_1.__importDefault(require("react")); const classes = tslib_1.__importStar(require("../../../scss/bootstrap-group-display.module.scss")); const GroupChartLayout_1 = require("./GroupChartLayout"); const FacetTools_1 = require("../../../RcsbSeacrh/FacetTools"); const RcsbRequestContextManager_1 = require("../../../RcsbRequest/RcsbRequestContextManager"); const SearchQueryTools_1 = require("../../../RcsbSeacrh/SearchQueryTools"); class RcsbStatsChartComponent extends react_1.default.Component { componentDidMount() { return tslib_1.__awaiter(this, void 0, void 0, function* () { yield this.updateState(); }); } render() { var _a; if ((_a = this.state) === null || _a === void 0 ? void 0 : _a.facets) return ((0, jsx_runtime_1.jsx)("div", { className: classes.bootstrapGroupComponentScope, children: (0, jsx_runtime_1.jsx)(GroupChartLayout_1.GroupChartLayout, { layout: this.props.facetStore.facetLayoutGrid, chartMap: FacetTools_1.FacetTools.getResultDrilldowns(this.props.facetStore.getFacetService("all"), this.state.facets).reduce((prev, current) => { return prev.set(current.attribute, [current]); }, new Map()) }) })); return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}); } updateState() { return tslib_1.__awaiter(this, void 0, void 0, function* () { let facets = []; for (const service of this.props.facetStore.getServices()) { if (this.props.searchQuery.query) { const groupProperties = yield RcsbRequestContextManager_1.rcsbRequestCtxManager.getSearchQueryFacets(this.props.searchQuery.query, this.props.facetStore.getFacetService(service).map(f => f.facet), this.props.facetStore.returnType, SearchQueryTools_1.SearchQueryTools.searchContentType(this.props.searchQuery)); if (groupProperties === null || groupProperties === void 0 ? void 0 : groupProperties.facets) facets = facets.concat(groupProperties.facets); } } this.setState({ facets }); }); } } exports.RcsbStatsChartComponent = RcsbStatsChartComponent;