@jbrowse/plugin-linear-comparative-view 3.1.0 → 3.3.0

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.
Files changed (29) hide show
  1. package/dist/LinearComparativeView/components/Rubberband.js +5 -5
  2. package/dist/LinearComparativeView/components/VerticalGuide.js +3 -6
  3. package/dist/LinearComparativeView/model.d.ts +54 -4
  4. package/dist/LinearComparativeView/model.js +7 -2
  5. package/dist/LinearReadVsRef/LinearReadVsRef.js +2 -2
  6. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +2 -2
  7. package/dist/LinearSyntenyView/components/ImportForm/LeftPanel.d.ts +11 -0
  8. package/dist/LinearSyntenyView/components/ImportForm/LeftPanel.js +58 -0
  9. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +18 -52
  10. package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  11. package/dist/LinearSyntenyView/components/LinearSyntenyView.js +1 -1
  12. package/dist/LinearSyntenyView/model.d.ts +55 -5
  13. package/dist/LinearSyntenyView/model.js +3 -3
  14. package/dist/LinearSyntenyViewHelper/stateModelFactory.js +2 -2
  15. package/esm/LinearComparativeView/components/Rubberband.js +5 -5
  16. package/esm/LinearComparativeView/components/VerticalGuide.js +4 -7
  17. package/esm/LinearComparativeView/model.d.ts +54 -4
  18. package/esm/LinearComparativeView/model.js +7 -2
  19. package/esm/LinearReadVsRef/LinearReadVsRef.js +2 -2
  20. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +3 -3
  21. package/esm/LinearSyntenyView/components/ImportForm/LeftPanel.d.ts +11 -0
  22. package/esm/LinearSyntenyView/components/ImportForm/LeftPanel.js +53 -0
  23. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +21 -55
  24. package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  25. package/esm/LinearSyntenyView/components/LinearSyntenyView.js +1 -1
  26. package/esm/LinearSyntenyView/model.d.ts +55 -5
  27. package/esm/LinearSyntenyView/model.js +3 -3
  28. package/esm/LinearSyntenyViewHelper/stateModelFactory.js +2 -2
  29. package/package.json +7 -7
@@ -1,38 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import { AssemblySelector, ErrorMessage } from '@jbrowse/core/ui';
4
- import { getSession, notEmpty } from '@jbrowse/core/util';
5
- import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
6
- import CloseIcon from '@mui/icons-material/Close';
7
- import { Button, Container, IconButton } from '@mui/material';
3
+ import { ErrorMessage } from '@jbrowse/core/ui';
4
+ import { getSession } from '@jbrowse/core/util';
5
+ import { Container } from '@mui/material';
8
6
  import { observer } from 'mobx-react';
9
7
  import { makeStyles } from 'tss-react/mui';
10
8
  import ImportSyntenyTrackSelector from './ImportSyntenyTrackSelectorArea';
9
+ import LeftPanel from './LeftPanel';
11
10
  import { doSubmit } from './doSubmit';
12
11
  const useStyles = makeStyles()(theme => ({
13
12
  importFormContainer: {
14
13
  padding: theme.spacing(4),
15
14
  },
16
- button: {
17
- margin: theme.spacing(2),
18
- },
19
- rel: {
20
- position: 'relative',
21
- },
22
- synbutton: {
23
- position: 'absolute',
24
- top: 30,
25
- },
26
15
  flex: {
27
16
  display: 'flex',
28
17
  gap: 90,
29
18
  },
30
- mb: {
31
- marginBottom: 10,
32
- },
33
- bg: {
34
- background: theme.palette.divider,
35
- },
36
19
  rightPanel: {
37
20
  flexGrow: 11,
38
21
  },
@@ -42,7 +25,7 @@ const useStyles = makeStyles()(theme => ({
42
25
  },
43
26
  }));
44
27
  const LinearSyntenyViewImportForm = observer(function ({ model, }) {
45
- const { classes, cx } = useStyles();
28
+ const { classes } = useStyles();
46
29
  const session = getSession(model);
47
30
  const { assemblyNames } = session;
48
31
  const defaultAssemblyName = assemblyNames[0] || '';
@@ -52,38 +35,21 @@ const LinearSyntenyViewImportForm = observer(function ({ model, }) {
52
35
  defaultAssemblyName,
53
36
  ]);
54
37
  const [error, setError] = useState();
55
- return (_jsxs(Container, { className: classes.importFormContainer, children: [error ? _jsx(ErrorMessage, { error: error }) : null, _jsxs("div", { className: classes.flex, children: [_jsxs("div", { className: classes.leftPanel, children: [_jsx("div", { className: classes.mb, children: "Select assemblies for linear synteny view" }), selectedAssemblyNames.map((assemblyName, idx) => (_jsxs("div", { className: classes.rel, children: [_jsxs("span", { children: ["Row ", idx + 1, ": "] }), _jsx(IconButton, { disabled: selectedAssemblyNames.length <= 2, onClick: () => {
56
- model.importFormRemoveRow(idx);
57
- setSelectedAssemblyNames(selectedAssemblyNames
58
- .map((asm, idx2) => (idx2 === idx ? undefined : asm))
59
- .filter(notEmpty));
60
- if (selectedRow >= selectedAssemblyNames.length - 2) {
61
- setSelectedRow(0);
62
- }
63
- }, children: _jsx(CloseIcon, {}) }), _jsx(AssemblySelector, { helperText: "", selected: assemblyName, onChange: newAssembly => {
64
- setSelectedAssemblyNames(selectedAssemblyNames.map((asm, idx2) => idx2 === idx ? newAssembly : asm));
65
- }, session: session }), idx !== selectedAssemblyNames.length - 1 ? (_jsx(IconButton, { "data-testid": "synbutton", className: cx(classes.synbutton, idx === selectedRow ? classes.bg : undefined), onClick: () => {
66
- setSelectedRow(idx);
67
- }, children: _jsx(ArrowForwardIosIcon, {}) })) : null] }, `${assemblyName}-${idx}`))), _jsxs("div", { children: [_jsx(Button, { className: classes.button, variant: "contained", color: "secondary", onClick: () => {
68
- setSelectedAssemblyNames([
69
- ...selectedAssemblyNames,
70
- defaultAssemblyName,
71
- ]);
72
- }, children: "Add row" }), _jsx(Button, { className: classes.button, onClick: () => {
73
- ;
74
- (async () => {
75
- try {
76
- setError(undefined);
77
- await doSubmit({
78
- selectedAssemblyNames,
79
- model,
80
- });
81
- }
82
- catch (e) {
83
- console.error(e);
84
- setError(e);
85
- }
86
- })();
87
- }, variant: "contained", color: "primary", children: "Launch" })] })] }), _jsxs("div", { className: classes.rightPanel, children: [_jsxs("div", { children: ["Synteny dataset to display between row ", selectedRow + 1, " and", ' ', selectedRow + 2] }), _jsx(ImportSyntenyTrackSelector, { model: model, selectedRow: selectedRow, assembly1: selectedAssemblyNames[selectedRow], assembly2: selectedAssemblyNames[selectedRow + 1] })] })] })] }));
38
+ const handleLaunch = async () => {
39
+ try {
40
+ setError(undefined);
41
+ await doSubmit({
42
+ selectedAssemblyNames,
43
+ model,
44
+ });
45
+ }
46
+ catch (e) {
47
+ console.error(e);
48
+ setError(e);
49
+ }
50
+ };
51
+ return (_jsxs(Container, { className: classes.importFormContainer, children: [error ? _jsx(ErrorMessage, { error: error }) : null, _jsxs("div", { className: classes.flex, children: [_jsx("div", { className: classes.leftPanel, children: _jsx(LeftPanel, { model: model, selectedAssemblyNames: selectedAssemblyNames, setSelectedAssemblyNames: setSelectedAssemblyNames, selectedRow: selectedRow, setSelectedRow: setSelectedRow, defaultAssemblyName: defaultAssemblyName, onLaunch: () => {
52
+ handleLaunch();
53
+ } }) }), _jsxs("div", { className: classes.rightPanel, children: [_jsxs("div", { children: ["Synteny dataset to display between row ", selectedRow + 1, " and", ' ', selectedRow + 2] }), _jsx(ImportSyntenyTrackSelector, { model: model, selectedRow: selectedRow, assembly1: selectedAssemblyNames[selectedRow], assembly2: selectedAssemblyNames[selectedRow + 1] })] })] })] }));
88
54
  });
89
55
  export default LinearSyntenyViewImportForm;
@@ -1,6 +1,5 @@
1
1
  import type { LinearSyntenyViewModel } from '../model';
2
- type LSV = LinearSyntenyViewModel;
3
- declare const LinearSyntenyView: ({ model }: {
4
- model: LSV;
2
+ declare const LinearSyntenyView: ({ model, }: {
3
+ model: LinearSyntenyViewModel;
5
4
  }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default LinearSyntenyView;
@@ -3,7 +3,7 @@ import { lazy } from 'react';
3
3
  import { observer } from 'mobx-react';
4
4
  import LinearComparativeViewComponent from '../../LinearComparativeView/components/LinearComparativeView';
5
5
  const LinearSyntenyImportForm = lazy(() => import('./ImportForm/LinearSyntenyImportForm'));
6
- const LinearSyntenyView = observer(function ({ model }) {
6
+ const LinearSyntenyView = observer(function ({ model, }) {
7
7
  return !model.initialized ? (_jsx(LinearSyntenyImportForm, { model: model })) : (_jsx(LinearComparativeViewComponent, { model: model }));
8
8
  });
9
9
  export default LinearSyntenyView;
@@ -66,6 +66,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
66
66
  highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
67
67
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
68
68
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
69
+ init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
69
70
  }, {
70
71
  width: number;
71
72
  } & {
@@ -94,6 +95,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
94
95
  readonly interRegionPaddingWidth: number;
95
96
  readonly assemblyNames: string[];
96
97
  readonly stickyViewHeaders: boolean;
98
+ readonly rubberbandTop: number;
97
99
  readonly pinnedTracksTop: number;
98
100
  } & {
99
101
  scaleBarDisplayPrefix(): string | undefined;
@@ -180,6 +182,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
180
182
  setDraggingTrackId(idx?: string): void;
181
183
  setScaleFactor(factor: number): void;
182
184
  clearView(): void;
185
+ setInit(arg?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState): void;
183
186
  exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
184
187
  } & {
185
188
  slide: (viewWidths: number) => void;
@@ -200,7 +203,6 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
200
203
  readonly coarseVisibleLocStrings: string;
201
204
  } & {
202
205
  setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
203
- afterAttach(): void;
204
206
  } & {
205
207
  moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
206
208
  navToLocString(input: string, optAssemblyName?: string): Promise<void>;
@@ -208,6 +210,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
208
210
  input: string;
209
211
  assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
210
212
  }): Promise<void>;
213
+ navToLocation(parsedLocString: import("@jbrowse/core/util").ParsedLocString, assemblyName?: string): Promise<void>;
211
214
  navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
212
215
  navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
213
216
  navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
@@ -246,6 +249,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
246
249
  } | undefined;
247
250
  } & {
248
251
  afterCreate(): void;
252
+ afterAttach(): void;
249
253
  }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
250
254
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
251
255
  displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -268,7 +272,28 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
268
272
  highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
269
273
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
270
274
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
271
- }>>, import("mobx-state-tree")._NotCustomized>>;
275
+ init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
276
+ }>>, {
277
+ id: string;
278
+ type: string;
279
+ displayName: string | undefined;
280
+ tracks: any[];
281
+ minimized: boolean;
282
+ displayedRegions: import("@jbrowse/core/util").Region[];
283
+ offsetPx: number;
284
+ bpPerPx: number;
285
+ hideHeader: boolean;
286
+ hideHeaderOverview: boolean;
287
+ hideNoTracksActive: boolean;
288
+ trackSelectorType: string;
289
+ showCenterLine: boolean;
290
+ showCytobandsSetting: boolean;
291
+ trackLabels: string;
292
+ showGridlines: boolean;
293
+ highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[];
294
+ colorByCDS: boolean;
295
+ showTrackOutlines: boolean;
296
+ }>>;
272
297
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
273
298
  } & {
274
299
  type: import("mobx-state-tree").ISimpleType<"LinearSyntenyView">;
@@ -336,10 +361,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
336
361
  type?: undefined;
337
362
  } | {
338
363
  label: string;
339
- onClick: () => void;
340
364
  checked: boolean;
341
365
  type: string;
342
366
  description: string;
367
+ onClick: () => void;
343
368
  icon?: undefined;
344
369
  } | {
345
370
  label: string;
@@ -423,6 +448,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
423
448
  highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
424
449
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
425
450
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
451
+ init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
426
452
  }, {
427
453
  width: number;
428
454
  } & {
@@ -451,6 +477,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
451
477
  readonly interRegionPaddingWidth: number;
452
478
  readonly assemblyNames: string[];
453
479
  readonly stickyViewHeaders: boolean;
480
+ readonly rubberbandTop: number;
454
481
  readonly pinnedTracksTop: number;
455
482
  } & {
456
483
  scaleBarDisplayPrefix(): string | undefined;
@@ -537,6 +564,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
537
564
  setDraggingTrackId(idx?: string): void;
538
565
  setScaleFactor(factor: number): void;
539
566
  clearView(): void;
567
+ setInit(arg?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState): void;
540
568
  exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
541
569
  } & {
542
570
  slide: (viewWidths: number) => void;
@@ -557,7 +585,6 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
557
585
  readonly coarseVisibleLocStrings: string;
558
586
  } & {
559
587
  setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
560
- afterAttach(): void;
561
588
  } & {
562
589
  moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
563
590
  navToLocString(input: string, optAssemblyName?: string): Promise<void>;
@@ -565,6 +592,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
565
592
  input: string;
566
593
  assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
567
594
  }): Promise<void>;
595
+ navToLocation(parsedLocString: import("@jbrowse/core/util").ParsedLocString, assemblyName?: string): Promise<void>;
568
596
  navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
569
597
  navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
570
598
  navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
@@ -603,6 +631,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
603
631
  } | undefined;
604
632
  } & {
605
633
  afterCreate(): void;
634
+ afterAttach(): void;
606
635
  }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
607
636
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
608
637
  displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -625,7 +654,28 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
625
654
  highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
626
655
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
627
656
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
628
- }>>, import("mobx-state-tree")._NotCustomized>>;
657
+ init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
658
+ }>>, {
659
+ id: string;
660
+ type: string;
661
+ displayName: string | undefined;
662
+ tracks: any[];
663
+ minimized: boolean;
664
+ displayedRegions: import("@jbrowse/core/util").Region[];
665
+ offsetPx: number;
666
+ bpPerPx: number;
667
+ hideHeader: boolean;
668
+ hideHeaderOverview: boolean;
669
+ hideNoTracksActive: boolean;
670
+ trackSelectorType: string;
671
+ showCenterLine: boolean;
672
+ showCytobandsSetting: boolean;
673
+ trackLabels: string;
674
+ showGridlines: boolean;
675
+ highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[];
676
+ colorByCDS: boolean;
677
+ showTrackOutlines: boolean;
678
+ }>>;
629
679
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
630
680
  }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
631
681
  export type LinearSyntenyViewStateModel = ReturnType<typeof stateModelFactory>;
@@ -73,12 +73,12 @@ export default function stateModelFactory(pluginManager) {
73
73
  },
74
74
  {
75
75
  label: 'Draw CIGAR',
76
- onClick: () => {
77
- self.setDrawCIGAR(!self.drawCIGAR);
78
- },
79
76
  checked: self.drawCIGAR,
80
77
  type: 'checkbox',
81
78
  description: 'Draws per-base CIGAR level alignments',
79
+ onClick: () => {
80
+ self.setDrawCIGAR(!self.drawCIGAR);
81
+ },
82
82
  },
83
83
  {
84
84
  label: 'Link views',
@@ -48,9 +48,9 @@ export function linearSyntenyViewHelperModelFactory(pluginManager) {
48
48
  const config = resolveIdentifier(schema, getRoot(self), trackId);
49
49
  const shownTracks = self.tracks.filter(t => t.configuration === config);
50
50
  transaction(() => {
51
- shownTracks.forEach(t => {
51
+ for (const t of shownTracks) {
52
52
  self.tracks.remove(t);
53
- });
53
+ }
54
54
  });
55
55
  return shownTracks.length;
56
56
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-comparative-view",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "JBrowse 2 linear comparative view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -36,11 +36,11 @@
36
36
  "clean": "rimraf dist esm *.tsbuildinfo"
37
37
  },
38
38
  "dependencies": {
39
- "@jbrowse/core": "^3.1.0",
40
- "@jbrowse/plugin-alignments": "^3.1.0",
41
- "@jbrowse/plugin-linear-genome-view": "^3.1.0",
42
- "@mui/icons-material": "^6.0.0",
43
- "@mui/material": "^6.0.0",
39
+ "@jbrowse/core": "^3.3.0",
40
+ "@jbrowse/plugin-alignments": "^3.3.0",
41
+ "@jbrowse/plugin-linear-genome-view": "^3.3.0",
42
+ "@mui/icons-material": "^7.0.0",
43
+ "@mui/material": "^7.0.0",
44
44
  "copy-to-clipboard": "^3.3.1",
45
45
  "file-saver": "^2.0.0",
46
46
  "mobx": "^6.0.0",
@@ -59,5 +59,5 @@
59
59
  "publishConfig": {
60
60
  "access": "public"
61
61
  },
62
- "gitHead": "91492049ddea0aed90eb24d3c066c2d9f5a6b189"
62
+ "gitHead": "0bb64d8cc7ecdd167515308b31eec3d9acbc59e4"
63
63
  }