synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
75 lines • 4.15 kB
JavaScript
"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