@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
31 lines (30 loc) • 1.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = CoreDetails;
const jsx_runtime_1 = require("react/jsx-runtime");
const Position_1 = __importDefault(require("./Position"));
const SimpleField_1 = __importDefault(require("./SimpleField"));
const util_1 = require("../../util");
function CoreDetails(props) {
const { feature } = props;
const obj = feature;
const formattedFeat = { ...obj, ...obj.__jbrowsefmt };
const { start, end } = formattedFeat;
const displayedDetails = {
...formattedFeat,
length: (0, util_1.toLocale)(end - start),
};
const coreRenderedDetails = {
description: 'Description',
name: 'Name',
length: 'Length',
type: 'Type',
};
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SimpleField_1.default, { name: "Position", value: (0, jsx_runtime_1.jsx)(Position_1.default, { ...props, feature: formattedFeat }) }), Object.entries(coreRenderedDetails)
.map(([key, name]) => [name, displayedDetails[key]])
.filter(([, value]) => value != null)
.map(([name, value]) => ((0, jsx_runtime_1.jsx)(SimpleField_1.default, { name: name, value: value }, name)))] }));
}