higlass
Version:
HiGlass Hi-C / genomic / large data viewer
44 lines (38 loc) • 1.2 kB
JavaScript
/** @import * as t from '../types' */
/** @import HiGlassComponent from '../HiGlassComponent' */
/** @import { TrackRenderer } from '../TrackRenderer' */
/** @import { TiledPlot } from '../TiledPlot' */
/**
* @param {HiGlassComponent} hgc
* @param {string} viewUid
* @param {string | undefined} trackUid
* @returns {t.TrackObject | undefined}
*/
export const getTrackObjectFromHGC = (hgc, viewUid, trackUid) => {
/** @type {string} */
let newViewUid = viewUid;
/** @type {string} */
let newTrackUid;
if (!trackUid) {
// didn't specify a trackUid so use the viewUid as the trackUid
// and use the first plot
newTrackUid = viewUid;
newViewUid = Object.values(hgc.state.views)[0].uid;
} else {
newTrackUid = trackUid;
}
return hgc.tiledPlots[newViewUid].trackRenderer?.getTrackObject(newTrackUid);
};
/**
* @param {HiGlassComponent} hgc
* @param {string} viewUid
* @returns {TrackRenderer | null}
*/
export const getTrackRenderer = (hgc, viewUid) =>
hgc.tiledPlots[viewUid].trackRenderer;
/**
* @param {HiGlassComponent} hgc
* @param {string} viewUid
* @returns {TiledPlot}
*/
export const getTiledPlot = (hgc, viewUid) => hgc.tiledPlots[viewUid];