UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

31 lines (30 loc) 1.43 kB
"use strict"; 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)))] })); }