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

75 lines 4.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = (0, tslib_1.__importStar)(require("react")); var SynapseConstants_1 = require("../../utils/SynapseConstants"); var calculateFriendlyFileSize_1 = require("../../utils/functions/calculateFriendlyFileSize"); var Utils = (0, tslib_1.__importStar)(require("./utils")); var GenericCard_1 = require("../GenericCard"); var react_bootstrap_1 = require("react-bootstrap"); var getEndpoint_1 = require("../../utils/functions/getEndpoint"); var Dataset = /** @class */ (function (_super) { (0, tslib_1.__extends)(Dataset, _super); function Dataset(props) { var _this = _super.call(this, props) || this; _this.handleLinkClick = function (link) { return function (event) { event.preventDefault(); window.open(getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Synapse:" + link, '_blank'); }; }; _this.handleLinkClick = _this.handleLinkClick.bind(_this); return _this; } Dataset.prototype.render = function () { var _a = this.props, data = _a.data, schema = _a.schema, selectColumns = _a.selectColumns, columnModels = _a.columnModels; var datasetName = data[schema.datasetName]; var summary = data[schema.summary]; var tumorType = (0, GenericCard_1.getValueOrMultiValue)({ columnName: 'tumorType', value: data[schema.tumorType], selectColumns: selectColumns, columnModels: columnModels, }).str; var diseaseFocus = (0, GenericCard_1.getValueOrMultiValue)({ columnName: 'diseaseFocus', value: data[schema.diseaseFocus], selectColumns: selectColumns, columnModels: columnModels, }).str; var id = data[schema.id]; var fundingAgency = data[schema.fundingAgency]; var fileCount = data[schema.fileCount]; var fileSize = (0, calculateFriendlyFileSize_1.calculateFriendlyFileSize)(data[schema.fileSize]); var values = [ [ 'FUNDER', (0, GenericCard_1.getValueOrMultiValue)({ columnName: 'fundingAgency', value: fundingAgency, selectColumns: selectColumns, columnModels: columnModels, }).str, ], ['SIZE', fileSize], ['FILES', fileCount], ]; return (React.createElement("div", { className: "SRC-portalCard SRC-typeDataset " }, React.createElement("div", { className: "SRC-cardThumbnail" }, React.createElement(Utils.Icon, { type: SynapseConstants_1.DATASET }), React.createElement("div", null, fileSize)), React.createElement("div", { className: "SRC-cardContent SRC-dataset" }, React.createElement("div", { className: "SRC-type" }, "Dataset "), React.createElement("div", null, React.createElement("h3", null, React.createElement("a", { target: "_self", href: getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Synapse:" + id }, datasetName))), React.createElement("div", { className: "SRC-description-dataset" }, React.createElement("p", { className: "SRC-description-text" }, summary), React.createElement("div", { className: "SRC-cardAction bootstrap-4-backport" }, React.createElement(react_bootstrap_1.Button, { className: "pill SRC-datasetButton", onClick: this.handleLinkClick(id), variant: "secondary" }, "Download Dataset"))), React.createElement("div", { className: "SRC-cardAnnotations" }, React.createElement(Utils.ChipContainer, { chips: [tumorType, diseaseFocus] }))), React.createElement(Utils.CardFooter, { isHeader: false, secondaryLabelLimit: this.props.secondaryLabelLimit, values: values }))); }; return Dataset; }(React.Component)); exports.default = Dataset; //# sourceMappingURL=Dataset.js.map