higlass
Version:
HiGlass Hi-C / genomic / large data viewer
52 lines (51 loc) • 1.8 kB
TypeScript
/**
* @typedef MenuItem
* @property {string} name
* @property {string} [value]
* @property {Record<string, unknown>} [children]
* @property {() => void} [handler]
*/
export default class SeriesListMenu extends ContextMenuContainer {
/**
* @param {unknown} position
* @param {unknown} bbox
* @param {{ type: string, options: Record<string, unknown>, uid: string, }} track
*/
getConfigureSeriesMenu(position: unknown, bbox: unknown, track: {
type: string;
options: Record<string, unknown>;
uid: string;
}): React.JSX.Element | null;
/**
* Return a list of track types that can be used
* with the data for this track
*
* @param {Object} position The position where to draw ths menu (e.g. {left: 42, top: 88})
*
* @param {Object} bbox
* The bounding box of the parent menu, used to determine whether
* to draw the child menu on the left or the right
*
* @param {{ uid: string, type: string, datatype: string }} track The track definition for this series (as in the viewconf)
*/
getTrackTypeItems(position: Object, bbox: Object, track: {
uid: string;
type: string;
datatype: string;
}): React.JSX.Element;
getSubmenu(): React.JSX.Element | null;
getDivideByMenuItem(): React.JSX.Element;
componentWillUnmount(): void;
}
export type ContextMenuHandler = {
label: string;
onClick: (evt: unknown, onTrackOptionsChanged: (options: Record<string, unknown>) => void) => void;
};
export type MenuItem = {
name: string;
value?: string | undefined;
children?: Record<string, unknown> | undefined;
handler?: (() => void) | undefined;
};
import ContextMenuContainer from './ContextMenuContainer';
import React from 'react';