import React from 'react'; import { WrappedDenseBigBed, WrappedSquishBigBed, WrappedTrack, WrappedFullBigWig, WrappedDenseBigWig } from '../wrapped'; import { EmptyTrack } from '../empty' import { TrackType, deduceTrackType } from './deducetype'; import { CustomTrackProps } from './types'; import { DEFAULT_BIGBED_DISPLAYMODE, DEFAULT_BAM_DISPLAYMODE, DEFAULT_BIGWIG_DISPLAYMODE } from './types'; function getDisplayMode(trackType: string, displayMode?: string): string { if (displayMode) return displayMode; switch (trackType) { case TrackType.BIGBED: return DEFAULT_BIGBED_DISPLAYMODE; case TrackType.BIGWIG: return DEFAULT_BIGWIG_DISPLAYMODE; default: return DEFAULT_BAM_DISPLAYMODE; } } const CustomTrack: React.FC = (props) => { if (props.loading) return ( ); /* if (!props.data) { if(props.displayMode==='hide') { return ( ) } else { return ( ); } }*/ const trackType = deduceTrackType(props.data); const displayMode = getDisplayMode(trackType, props.displayMode); switch (trackType) { case TrackType.BIGBED: if (displayMode === 'squish') return ( ); if (displayMode === 'hide') return ( ); return ( ); case TrackType.BIGWIG: if (displayMode === 'hide') return ( ); if (displayMode === 'dense') return ( ); return ( ); default: if (props.displayMode === 'hide') return ( ); return ( ); } }; export default CustomTrack;