UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

54 lines 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Programs = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var utils_1 = require("../../../utils"); var useGetQueryResultBundle_1 = (0, tslib_1.__importDefault)(require("../../../utils/hooks/SynapseAPI/useGetQueryResultBundle")); var useShowDesktop_1 = (0, tslib_1.__importDefault)(require("../../../utils/hooks/useShowDesktop")); var Programs_Mobile_1 = (0, tslib_1.__importDefault)(require("./Programs.Mobile")); var Programs_Desktop_1 = (0, tslib_1.__importDefault)(require("./Programs.Desktop")); var ColorGradient_1 = require("../../../containers/ColorGradient"); var queryUtils_1 = require("../../../utils/functions/queryUtils"); var Programs = function (props) { var entityId = props.entityId, titleColumnName = props.titleColumnName, linkColumnName = props.linkColumnName, summaryColumnName = props.summaryColumnName, iconColumnName = props.iconColumnName, linkConfig = props.linkConfig, rgbIndex = props.rgbIndex, iconOptions = props.iconOptions; var showDesktop = (0, useShowDesktop_1.default)(); var color = (0, ColorGradient_1.getColorPalette)(rgbIndex !== null && rgbIndex !== void 0 ? rgbIndex : 0, 2).colorPalette[0]; var queryBundleRequest = { concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest', entityId: entityId, partMask: utils_1.SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS | utils_1.SynapseConstants.BUNDLE_MASK_QUERY_RESULTS, query: { sql: "select * from " + entityId, }, }; var queryResultBundle = (0, useGetQueryResultBundle_1.default)(queryBundleRequest).data; var titleColumnIndex = (0, queryUtils_1.getFieldIndex)(titleColumnName, queryResultBundle); var summaryColumnIndex = (0, queryUtils_1.getFieldIndex)(summaryColumnName, queryResultBundle); var linkColumnIndex = (0, queryUtils_1.getFieldIndex)(linkColumnName, queryResultBundle); var iconColumnIndex = (0, queryUtils_1.getFieldIndex)(iconColumnName, queryResultBundle); var matchColIndex = (0, queryUtils_1.getFieldIndex)(linkConfig.matchColumnName, queryResultBundle); var baseExploreUrl = "/" + linkConfig.baseURL + "?" + linkConfig.URLColumnName + "="; return (react_1.default.createElement("div", { className: "bootstrap-4-backport Programs" + (showDesktop ? '__Desktop' : '') }, queryResultBundle === null || queryResultBundle === void 0 ? void 0 : queryResultBundle.queryResult.queryResults.rows.map(function (el, index) { var values = el.values; var title = values[titleColumnIndex]; var summary = values[summaryColumnIndex]; var link = values[linkColumnIndex]; var iconValue = values[iconColumnIndex]; var matchValue = values[matchColIndex]; var ProgramsDataProps = { title: title, summary: summary, link: link, color: color, exploreLink: "" + baseExploreUrl + matchValue, iconValue: iconValue, iconOptions: iconOptions, }; return showDesktop ? (react_1.default.createElement(Programs_Desktop_1.default, (0, tslib_1.__assign)({}, ProgramsDataProps))) : (react_1.default.createElement(Programs_Mobile_1.default, (0, tslib_1.__assign)({}, ProgramsDataProps))); }))); }; exports.Programs = Programs; exports.default = exports.Programs; //# sourceMappingURL=Programs.js.map