react-msaview 5.6.3 → 5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bundle/index.js +134 -140
- package/bundle/index.js.map +4 -4
- package/dist/colorSchemes.js +1 -1
- package/dist/components/ConservationTrack.js +3 -3
- package/dist/components/ConservationTrack.js.map +1 -1
- package/dist/components/Loading.js +3 -4
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.js +8 -8
- package/dist/components/MSAViewer.js +2 -2
- package/dist/components/ResizeHandles.js +1 -1
- package/dist/components/SequenceTextArea.js +2 -2
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.js +7 -6
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.js +2 -2
- package/dist/components/VerticalScrollbar.js +1 -1
- package/dist/components/dialogs/AboutDialog.js +1 -1
- package/dist/components/dialogs/DomainDialog.js +2 -2
- package/dist/components/dialogs/ExportSVGDialog.js +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +1 -1
- package/dist/components/dialogs/MetadataDialog.js +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +1 -1
- package/dist/components/header/ColorSchemeMenu.js +1 -1
- package/dist/components/header/FileMenu.js +3 -3
- package/dist/components/header/Header.js +11 -11
- package/dist/components/header/MSASettingsMenu.js +1 -1
- package/dist/components/header/SettingsMenu.js +2 -2
- package/dist/components/header/SettingsMenu.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.js +1 -1
- package/dist/components/header/getDomainsMenu.d.ts +4 -4
- package/dist/components/header/getDomainsMenu.js +3 -3
- package/dist/components/import/ImportForm.js +2 -2
- package/dist/components/import/ImportFormExamples.js +2 -2
- package/dist/components/minimap/Minimap.js +2 -2
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.js +1 -1
- package/dist/components/msa/MSACanvas.js +4 -4
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +7 -7
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/MSAPanel.js +3 -3
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +2 -2
- package/dist/components/msa/renderMSABlock.js +4 -4
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +1 -1
- package/dist/components/msa/useMsaBlockMouse.d.ts +1 -1
- package/dist/components/msa/useMsaBlockMouse.js +15 -6
- package/dist/components/msa/useMsaBlockMouse.js.map +1 -1
- package/dist/components/tracks/renderTracksSvg.d.ts +7 -3
- package/dist/components/tracks/renderTracksSvg.js +19 -12
- package/dist/components/tracks/renderTracksSvg.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +5 -5
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +5 -5
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.js +1 -1
- package/dist/components/tree/TreePanel.js +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +1 -1
- package/dist/components/tree/renderTreeCanvas.js +3 -3
- package/dist/components/tree/useTreeHover.d.ts +2 -2
- package/dist/components/tree/useTreeHover.js +1 -1
- package/dist/components/tree/useTreeHover.js.map +1 -1
- package/dist/createPaletteMap.js +1 -1
- package/dist/fetchUtils.js +15 -1
- package/dist/fetchUtils.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/launchInterProScan.js +1 -1
- package/dist/measureTextCanvas.js +1 -1
- package/dist/model/msaModel.js +2 -2
- package/dist/model/treeModel.js +2 -2
- package/dist/model.d.ts +69 -64
- package/dist/model.js +44 -26
- package/dist/model.js.map +1 -1
- package/dist/propertyConservation.js +1 -1
- package/dist/renderToSvg.js +8 -9
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rowCoordinateCalculations.js +1 -1
- package/dist/seqPosToGlobalCol.js +1 -1
- package/dist/umd.js +2 -2
- package/dist/useCanvasAutorun.js +1 -1
- package/dist/useCanvasAutorun.js.map +1 -1
- package/dist/useColorContrast.js +1 -1
- package/dist/useWheelScroll.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wheelZoom.d.ts +1 -1
- package/package.json +8 -7
- package/src/components/ConservationTrack.tsx +1 -1
- package/src/components/SequenceTextArea.tsx +1 -1
- package/src/components/TextTrack.tsx +3 -2
- package/src/components/header/SettingsMenu.tsx +1 -1
- package/src/components/minimap/Minimap.tsx +1 -1
- package/src/components/msa/MSACanvas.tsx +6 -1
- package/src/components/msa/MSACanvasBlock.tsx +3 -3
- package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
- package/src/components/msa/renderMSABlock.ts +1 -1
- package/src/components/msa/useMsaBlockMouse.ts +17 -8
- package/src/components/tracks/renderTracksSvg.ts +21 -7
- package/src/components/tree/TreeCanvas.tsx +2 -2
- package/src/components/tree/TreeCanvasBlock.tsx +1 -1
- package/src/components/tree/renderTreeCanvas.test.ts +1 -1
- package/src/components/tree/renderTreeCanvas.ts +1 -1
- package/src/components/tree/useTreeHover.ts +2 -2
- package/src/fetchUtils.test.ts +17 -0
- package/src/fetchUtils.ts +16 -1
- package/src/model.ts +25 -6
- package/src/renderToSvg.tsx +1 -1
- package/src/treeMetadata.test.ts +39 -0
- package/src/useCanvasAutorun.ts +3 -2
- package/src/version.ts +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { expect, test, vi } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import stateModelFactory from './model.ts'
|
|
4
|
+
|
|
5
|
+
const MsaView = stateModelFactory()
|
|
6
|
+
|
|
7
|
+
const msa = '>seq1\nACGT\n>seq2\nACCT\n'
|
|
8
|
+
|
|
9
|
+
test('treeMetadata is parsed and keyed by row name', () => {
|
|
10
|
+
const model = MsaView.create({ type: 'MsaView' })
|
|
11
|
+
model.setData({
|
|
12
|
+
msa,
|
|
13
|
+
treeMetadata: JSON.stringify({ seq1: { genome: 'Human' } }),
|
|
14
|
+
})
|
|
15
|
+
expect(model.treeMetadata.seq1?.genome).toBe('Human')
|
|
16
|
+
expect(model.treeMetadata.seq2).toBeUndefined()
|
|
17
|
+
expect(model.getRowData('seq1').treeMetadata).toEqual({ genome: 'Human' })
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
test('malformed treeMetadata degrades to empty rather than throwing', () => {
|
|
21
|
+
const model = MsaView.create({ type: 'MsaView' })
|
|
22
|
+
const spy = vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
23
|
+
model.setData({ msa, treeMetadata: '{not json' })
|
|
24
|
+
|
|
25
|
+
// treeMetadata comes from a user-supplied file, and consumers of this
|
|
26
|
+
// computed run during layout/render (labelWidthMap measures every label), so
|
|
27
|
+
// a parse failure must not throw out of them
|
|
28
|
+
expect(model.treeMetadata).toEqual({})
|
|
29
|
+
expect(() => model.getRowData('seq1')).not.toThrow()
|
|
30
|
+
expect(spy).toHaveBeenCalled()
|
|
31
|
+
spy.mockRestore()
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
test('non-object treeMetadata degrades to empty', () => {
|
|
35
|
+
const model = MsaView.create({ type: 'MsaView' })
|
|
36
|
+
model.setData({ msa, treeMetadata: 'null' })
|
|
37
|
+
expect(model.treeMetadata).toEqual({})
|
|
38
|
+
expect(() => model.getRowData('seq1')).not.toThrow()
|
|
39
|
+
})
|
package/src/useCanvasAutorun.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react'
|
|
2
|
-
import type React from 'react'
|
|
3
2
|
|
|
4
3
|
import { autorun } from 'mobx'
|
|
5
4
|
|
|
5
|
+
import type React from 'react'
|
|
6
|
+
|
|
6
7
|
// Wires a canvas ref to a mobx autorun: grabs the 2d context once the canvas
|
|
7
8
|
// mounts and re-runs `draw` whenever any observable it reads changes. Collapses
|
|
8
9
|
// the getContext/null-guard/autorun-dispose boilerplate repeated by every
|
|
@@ -22,7 +23,7 @@ export function useCanvasAutorun(
|
|
|
22
23
|
draw(ctx)
|
|
23
24
|
})
|
|
24
25
|
: undefined
|
|
25
|
-
// eslint-disable-next-line
|
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
27
|
}, deps)
|
|
27
28
|
return ref
|
|
28
29
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '5.
|
|
1
|
+
export const version = '5.7.1'
|