From be8089def2a4782a9fef2b8d28baca10f4166f2d Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 15 Aug 2024 12:44:21 -0400 Subject: [PATCH] Wow --- .../renderers/ComparativeServerSideRendererType.ts | 14 +++++--------- .../PileupRenderer/components/PileupRendering.tsx | 4 ++-- plugins/arc/src/ArcRenderer/ArcRendering.tsx | 2 +- plugins/wiggle/src/MultiWiggleRendering.tsx | 5 +++-- .../__image_snapshots__/circular_snapshot.svg | 2 +- .../tests/__snapshots__/ExportSvg.test.tsx.snap | 2 +- 6 files changed, 13 insertions(+), 16 deletions(-) diff --git a/packages/core/pluggableElementTypes/renderers/ComparativeServerSideRendererType.ts b/packages/core/pluggableElementTypes/renderers/ComparativeServerSideRendererType.ts index f03bfec3ed..2cf115c91e 100644 --- a/packages/core/pluggableElementTypes/renderers/ComparativeServerSideRendererType.ts +++ b/packages/core/pluggableElementTypes/renderers/ComparativeServerSideRendererType.ts @@ -16,18 +16,15 @@ import { firstValueFrom } from 'rxjs' import { AnyConfigurationModel } from '../../configuration' export interface RenderArgs extends ServerSideRenderArgs { - displayModel: Record blockKey: string } export interface RenderArgsSerialized extends ServerSideRenderArgsSerialized { - displayModel: Record blockKey: string } export interface RenderArgsDeserialized extends ServerSideRenderArgsDeserialized { - displayModel: Record blockKey: string } @@ -53,10 +50,6 @@ export default class ComparativeServerSideRenderer extends ServerSideRenderer { * directly modifies the render arguments to prepare them to be serialized * and sent to the worker. * - * the base class replaces the `displayModel` param (which on the client is a - * MST model) with a stub that only contains the `selectedFeature`, since - * this is the only part of the track model that most renderers read. - * * @param args - the arguments passed to render * @returns the same object */ @@ -68,7 +61,7 @@ export default class ComparativeServerSideRenderer extends ServerSideRenderer { serializeArgsInClient(args: RenderArgs) { const deserializedArgs = { ...args, - displayModel: {}, + displayModel: undefined, } return super.serializeArgsInClient(deserializedArgs) @@ -80,7 +73,10 @@ export default class ComparativeServerSideRenderer extends ServerSideRenderer { args: RenderArgs, ): ResultsDeserialized { const deserialized = super.deserializeResultsInClient(result, args) - return { ...deserialized, blockKey: args.blockKey } + return { + ...deserialized, + blockKey: args.blockKey, + } } /** diff --git a/plugins/alignments/src/PileupRenderer/components/PileupRendering.tsx b/plugins/alignments/src/PileupRenderer/components/PileupRendering.tsx index 5d5aa65d58..76cfa1e5fc 100644 --- a/plugins/alignments/src/PileupRenderer/components/PileupRendering.tsx +++ b/plugins/alignments/src/PileupRenderer/components/PileupRendering.tsx @@ -51,12 +51,12 @@ const PileupRendering = observer(function (props: { const [movedDuringLastMouseDown, setMovedDuringLastMouseDown] = useState(false) const selectedRect = selectedFeatureId - ? displayModel?.getFeatureByID?.(blockKey, selectedFeatureId) + ? displayModel?.getFeatureByID(blockKey, selectedFeatureId) : undefined const highlightedFeature = featureIdUnderMouse || contextMenuFeature?.id() const highlightedRect = highlightedFeature - ? displayModel?.getFeatureByID?.(blockKey, highlightedFeature) + ? displayModel?.getFeatureByID(blockKey, highlightedFeature) : undefined function makeRect(r: [number, number, number, number], offset = 2) { diff --git a/plugins/arc/src/ArcRenderer/ArcRendering.tsx b/plugins/arc/src/ArcRenderer/ArcRendering.tsx index 011c8e4d4f..2648f7f0f5 100644 --- a/plugins/arc/src/ArcRenderer/ArcRendering.tsx +++ b/plugins/arc/src/ArcRenderer/ArcRendering.tsx @@ -17,7 +17,7 @@ function Arc({ onFeatureClick, feature, }: { - selectedFeatureId: string + selectedFeatureId?: string region: Region config: AnyConfigurationModel onFeatureClick: (event: React.MouseEvent, featureId: string) => void diff --git a/plugins/wiggle/src/MultiWiggleRendering.tsx b/plugins/wiggle/src/MultiWiggleRendering.tsx index 7baab0c201..d3cd7f21bf 100644 --- a/plugins/wiggle/src/MultiWiggleRendering.tsx +++ b/plugins/wiggle/src/MultiWiggleRendering.tsx @@ -14,7 +14,7 @@ const MultiWiggleRendering = observer(function (props: { height: number blockKey: string sources: Source[] - displayModel: { isMultiRow: boolean } + displayModel?: { isMultiRow: boolean } onMouseLeave?: (event: React.MouseEvent) => void onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void @@ -33,6 +33,7 @@ const MultiWiggleRendering = observer(function (props: { } = props const region = regions[0]! const ref = useRef(null) + const { isMultiRow } = displayModel || {} function getFeatureUnderMouse(eventClientX: number, eventClientY: number) { if (!ref.current) { @@ -48,7 +49,7 @@ const MultiWiggleRendering = observer(function (props: { const px = region.reversed ? width - offsetX : offsetX const mouseoverBp = region.start + bpPerPx * px let featureUnderMouse: Feature | undefined - if (displayModel.isMultiRow) { + if (isMultiRow) { for (const feature of features.values()) { if (feature.get('source') !== source.name) { continue diff --git a/products/jbrowse-web/src/tests/__image_snapshots__/circular_snapshot.svg b/products/jbrowse-web/src/tests/__image_snapshots__/circular_snapshot.svg index 1ba09c27d1..2cb49db9a8 100644 --- a/products/jbrowse-web/src/tests/__image_snapshots__/circular_snapshot.svg +++ b/products/jbrowse-web/src/tests/__image_snapshots__/circular_snapshot.svg @@ -1 +1 @@ -ctgActgActgBctgB \ No newline at end of file +ctgActgActgBctgB \ No newline at end of file diff --git a/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap b/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap index 2cbd14b784..63ebcce731 100644 --- a/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap +++ b/products/jbrowse-web/src/tests/__snapshots__/ExportSvg.test.tsx.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`export svg of circular 1`] = `"ctgActgActgBctgB"`; +exports[`export svg of circular 1`] = `"ctgActgActgBctgB"`; exports[`export svg of dotplot 1`] = `"ctgA16,00018,00020,00022,00024,000volvoxctgA13,00014,00015,00016,00017,00018,00019,00020,000volvox_random_inv"`;