UNPKG

higlass

Version:

HiGlass Hi-C / genomic / large data viewer

316 lines (315 loc) 14.3 kB
export class TiledPlot extends React.Component<any, any, any> { constructor(props: any); closing: boolean; brushX: import("d3-brush").BrushBehavior<any>; canvasElement: any; tracksByUidInit: {}; annotationUid: any; annotationCreatedNotified: boolean; xScale: any; yScale: any; trackToReplace: any; trackRenderer: import("./TrackRenderer").TrackRenderer | null; brushSelection: any[] | any[][] | null; configTrackMenu: any; state: { sizeMeasured: boolean; height: number; width: number; tracks: any; init: boolean; addTrackExtent: null; addTrackPosition: null; customDialog: null; mouseOverOverlayUid: null; forceUpdate: number; rangeSelection: null[]; rangeSelectionEnd: boolean; chromInfo: null; defaultChromSizes: null; contextMenuCustomItems: null; contextMenuPosition: null; addDivisorDialog: null; }; reset: boolean; topHeight: number; bottomHeight: number; leftWidth: number; rightWidth: number; centerHeight: number; centerWidth: number; dragTimeout: any; previousPropsStr: string; brushesCreated: {}; appZoomedBound: () => void; handleClickBound: (evt: any) => void; contextMenuHandlerBound: (e: any) => void; handleNoTrackAddedBound: () => void; handleTracksAddedBound: (newTracks: any, position: any, extent: any, host: any) => any; closeMenusBound: () => void; handleAddDivisorBound: (series: any) => void; handleAddSeriesBound: (trackUid: any) => void; handleChangeTrackDataBound: (uid: any, newData: any) => void; handleChangeTrackTypeBound: (uid: any, newType: any) => void; handleCloseTrackBound: (uid: any) => void; handleConfigureTrackBound: (track: any, configComponent: any) => void; handleExportTrackDataBound: (hostTrackUid: any, trackUid: any) => void; handleLockValueScaleBound: (uid: any) => void; handleReplaceTrackBound: (uid: any, orientation: any) => void; handleTrackOptionsChangedBound: (trackUid: any, newOptions: any) => any; handleUnlockValueScaleBound: (uid: any) => void; onAddTrack: (position: any, extent: any) => void; waitForDOMAttachment(callback: any): void; componentDidMount(): void; mounted: boolean | undefined; element: HTMLDivElement | null | undefined; resizeSensor: ResizeSensor | undefined; pubSubs: any[] | undefined; /** Get the data in the selection */ getTracksData(positionedTracks: any, extent: any): { name: any; mean: number; trackUid: any; }[]; appZoomed(): void; clearOtherBrushes(myBrush: any): void; handleClick(evt: any): void; cancelBrushes(): void; brushEl: any; removeBrushText(): void; enableBrushes(): void; disableBrushes(): void; createBrushes(positionedTracks: any): {}; brushCurrent: any; brushType: string | undefined; brushTrack: any; brushSelectionRaw: any; removeBrushes(): void; addBrushes(): void; brushes: {} | undefined; brushEls: {} | undefined; UNSAFE_componentWillReceiveProps(newProps: any): void; shouldComponentUpdate(nextProps: any, nextState: any): boolean; numTracks: number | undefined; componentDidUpdate(prevProps: any, prevState: any): void; componentWillUnmount(): void; addUidsToTracks(positionedTracks: any): void; contextMenuHandler(e: any): void; measureSize(): void; handleTrackOptionsChanged(trackUid: any, newOptions: any): any; handleCollapseTrack(trackUid: any): void; handleExpandTrack(trackUid: any): void; handleScalesChanged(x: any, y: any): void; /** * We've received information about a tileset from the server. Register it * with the track definition. * @param trackUid (string): The identifier for the track * @param tilesetInfo (object): Information about the track (hopefully including * its name. */ handleTilesetInfoReceived(trackUid: any, tilesetInfo: any): void; /** * Check if all track which are expecting a tileset info have been loaded. */ checkAllTilesetInfoReceived(): void; handleOverlayMouseEnter(uid: any): void; handleOverlayMouseLeave(uid: any): void; handleTrackPositionChosen(pTrack: any, evt: any): void; handleNoTrackAdded(): void; handleAddDivisor(series: any): void; /** * The user has selected a track that they wish to use to normalize another * track. */ handleDivisorChosen(series: any, newTrack: any): void; handleDivideSeries(seriesUid: any): void; handleAddSeries(trackUid: any): void; handleReplaceTrack(uid: any, orientation: any): void; handleAddTrack(position: any, extent: any): void; handleResizeTrack(uid: any, width: any, height: any): void; closeMenus(): void; handleLockValueScale(uid: any): void; handleUnlockValueScale(uid: any): void; handleCloseTrack(uid: any): void; handleChangeTrackType(uid: any, newType: any): void; /** * Change this tracks data section so that it * is either of type "divided" or the "divided" * type is removed */ handleChangeTrackData(uid: any, newData: any): void; handleTracksAdded(newTracks: any, position: any, extent: any, host: any): any; handleCloseTrackMenuOpened(uid: any, clickPosition: any): void; handleCloseContextMenu(): void; handleCloseTrackMenuClosed(): void; handleConfigTrackMenuOpened(uid: any, clickPosition: any): void; handleConfigureTrack(track: any, configComponent: any): void; handleSortEnd(sortedTracks: any): void; createTracksAndLocations(): any[]; /** * Calculate where a track is absoluately positioned within the drawing area * * @param track: The track object (with members, e.g. track.uid, track.width, * track.height) * @param location: Where it's being plotted (e.g. 'top', 'bottom') * @return: The position of the track and it's height and width * (e.g. {left: 10, top: 20, width: 30, height: 40} */ calculateTrackPosition(track: any, location: any): { left: any; top: any; width: number; height: any; track: any; }; /** * Find a central heatmap track among all displayed tracks * * @param {Array} tracks Tracks to be searched. * @return {Object} The first central heatmap track or `undefined`. */ findCentralHeatmapTrack(tracks: any[]): Object; trackUuidToOrientation(trackUuid: any): void; overlayTracks(positionedTracks: any): any; positionedTracks(): { left: any; top: any; width: number; height: any; track: any; }[]; createTrackPositionTexts(): React.JSX.Element[]; handleExportTrackData(hostTrackUid: any, trackUid: any): void; /** * List all the tracks that are under this mouse position */ listTracksAtPosition(x: any, y: any, isReturnTrackObj?: boolean): (import("./types").UnknownTrackConfig | import("./types").CombinedTrackConfig | import("./types").TrackObject)[]; listAllTrackObjects(): import("./types").TrackObject[]; handleZoomToData(): void; resetViewport(): void; updatablePropsToString(props: any): string; getXYScales(): void; /** * Translate view to data location. * * @description * The view location is in pixels relative to the browser window. The data * location is given by the scaling relative to the initial x and y domains. * And the genomic location depends on the chrom sizes. * * @method rangeViewToDataLoci * @author Fritz Lekschas * @date 2018-01-14 * @param {Array} range Selected view range * @param {Function} scale View to data scaling * @return {Array} 2D array of data locations */ rangeViewToDataLoci(range: any[], scale: Function): any[]; rangeSelectionResetHandler(): void; rangeSelection1dEndHandler(axis: any): (range: any) => void; rangeSelection1dHandler(axis: any): (range: any) => void; rangeSelection1dStartHandler(): void; rangeSelection2dHandler(range: any): void; rangeSelection2dStartHandler(): void; rangeSelection2dEndHandler(range: any): void; getContextMenu(): React.JSX.Element | null; /** * Draw an overlay that shows the positions of all the different * track areas */ getIdealizedTrackPositionsOverlay(): React.JSX.Element | null; render(): React.JSX.Element; galleryDim: any; topHeightNoGallery: any; bottomHeightNoGallery: any; leftWidthNoGallery: any; rightWidthNoGallery: any; divTiledPlot: HTMLDivElement | null | undefined; addEventListeners(): void; eventListeners: any[] | undefined; removeEventListeners(): void; } export namespace TiledPlot { namespace defaultProps { let isShowGlobalMousePosition: boolean; let pluginTracks: {}; let metaTracks: never[]; let zoomable: boolean; } namespace propTypes { export let addTrackExtent: PropTypes.Requireable<string>; export let addTrackPosition: PropTypes.Requireable<string>; export let canvasElement: PropTypes.Requireable<object>; export let chooseTrackHandler: PropTypes.Requireable<(...args: any[]) => any>; export let chromInfoPath: PropTypes.Requireable<string>; export let customDialog: PropTypes.Requireable<any[]>; export let closeCustomDialog: PropTypes.Requireable<(...args: any[]) => any>; export let disableTrackMenu: PropTypes.Requireable<boolean>; export let dragging: PropTypes.Requireable<boolean>; export let draggingHappening: PropTypes.Requireable<boolean>; export let editable: PropTypes.Requireable<boolean>; export let getLockGroupExtrema: PropTypes.Requireable<(...args: any[]) => any>; export let initialXDomain: PropTypes.Requireable<any[]>; export let initialYDomain: PropTypes.Requireable<any[]>; let isShowGlobalMousePosition_1: PropTypes.Requireable<boolean>; export { isShowGlobalMousePosition_1 as isShowGlobalMousePosition }; export let isValueScaleLocked: PropTypes.Requireable<(...args: any[]) => any>; export let marginBottom: PropTypes.Validator<number>; export let marginLeft: PropTypes.Validator<number>; export let marginRight: PropTypes.Validator<number>; export let marginTop: PropTypes.Validator<number>; export let paddingBottom: PropTypes.Validator<number>; export let paddingLeft: PropTypes.Validator<number>; export let paddingRight: PropTypes.Validator<number>; export let paddingTop: PropTypes.Validator<number>; let metaTracks_1: PropTypes.Requireable<any[]>; export { metaTracks_1 as metaTracks }; export let modal: PropTypes.Requireable<object>; export let mouseTool: PropTypes.Requireable<string>; export let onCloseTrack: PropTypes.Requireable<(...args: any[]) => any>; export let onChangeTrackData: PropTypes.Requireable<(...args: any[]) => any>; export let onChangeTrackType: PropTypes.Requireable<(...args: any[]) => any>; export let onDataDomainChanged: PropTypes.Requireable<(...args: any[]) => any>; export let onLockValueScale: PropTypes.Requireable<(...args: any[]) => any>; export let onMouseMoveZoom: PropTypes.Requireable<(...args: any[]) => any>; export let onNewTilesLoaded: PropTypes.Requireable<(...args: any[]) => any>; export let onNoTrackAdded: PropTypes.Requireable<(...args: any[]) => any>; export let onRangeSelection: PropTypes.Validator<(...args: any[]) => any>; export let onScalesChanged: PropTypes.Requireable<(...args: any[]) => any>; export let onTrackOptionsChanged: PropTypes.Requireable<(...args: any[]) => any>; export let onTrackPositionChosen: PropTypes.Requireable<(...args: any[]) => any>; export let onTracksAdded: PropTypes.Requireable<(...args: any[]) => any>; export let onUnlockValueScale: PropTypes.Requireable<(...args: any[]) => any>; export let onValueScaleChanged: PropTypes.Requireable<(...args: any[]) => any>; export let onResizeTrack: PropTypes.Requireable<(...args: any[]) => any>; export let overlays: PropTypes.Requireable<any[]>; export let openModal: PropTypes.Requireable<(...args: any[]) => any>; export let pixiRenderer: PropTypes.Requireable<object>; export let pixiStage: PropTypes.Requireable<object>; let pluginTracks_1: PropTypes.Requireable<object>; export { pluginTracks_1 as pluginTracks }; export let pubSub: PropTypes.Validator<object>; export let rangeSelection1dSize: PropTypes.Requireable<any[]>; export let rangeSelectionToInt: PropTypes.Requireable<boolean>; export let registerDraggingChangedListener: PropTypes.Requireable<(...args: any[]) => any>; export let removeDraggingChangedListener: PropTypes.Requireable<(...args: any[]) => any>; export let setCentersFunction: PropTypes.Requireable<(...args: any[]) => any>; export let svgElement: PropTypes.Requireable<object>; export let theme: PropTypes.Validator<symbol>; export let tracks: PropTypes.Requireable<object>; export let trackSourceServers: PropTypes.Requireable<any[]>; export let uid: PropTypes.Requireable<string>; export let viewOptions: PropTypes.Requireable<object>; export let xDomainLimits: PropTypes.Requireable<any[]>; export let yDomainLimits: PropTypes.Requireable<any[]>; let zoomable_1: PropTypes.Requireable<boolean>; export { zoomable_1 as zoomable }; export let zoomLimits: PropTypes.Requireable<any[]>; export let zoomToDataExtentOnInit: PropTypes.Requireable<(...args: any[]) => any>; } } declare const _default: typeof TiledPlot; export default _default; import React from 'react'; import { ResizeSensor } from 'css-element-queries'; import PropTypes from 'prop-types';