@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.
- package/dist/LinearComparativeView/components/Rubberband.js +5 -5
- package/dist/LinearComparativeView/components/VerticalGuide.js +3 -6
- package/dist/LinearComparativeView/model.d.ts +54 -4
- package/dist/LinearComparativeView/model.js +7 -2
- package/dist/LinearReadVsRef/LinearReadVsRef.js +2 -2
- package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +2 -2
- package/dist/LinearSyntenyView/components/ImportForm/LeftPanel.d.ts +11 -0
- package/dist/LinearSyntenyView/components/ImportForm/LeftPanel.js +58 -0
- package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +18 -52
- package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
- package/dist/LinearSyntenyView/components/LinearSyntenyView.js +1 -1
- package/dist/LinearSyntenyView/model.d.ts +55 -5
- package/dist/LinearSyntenyView/model.js +3 -3
- package/dist/LinearSyntenyViewHelper/stateModelFactory.js +2 -2
- package/esm/LinearComparativeView/components/Rubberband.js +5 -5
- package/esm/LinearComparativeView/components/VerticalGuide.js +4 -7
- package/esm/LinearComparativeView/model.d.ts +54 -4
- package/esm/LinearComparativeView/model.js +7 -2
- package/esm/LinearReadVsRef/LinearReadVsRef.js +2 -2
- package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +3 -3
- package/esm/LinearSyntenyView/components/ImportForm/LeftPanel.d.ts +11 -0
- package/esm/LinearSyntenyView/components/ImportForm/LeftPanel.js +53 -0
- package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +21 -55
- package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
- package/esm/LinearSyntenyView/components/LinearSyntenyView.js +1 -1
- package/esm/LinearSyntenyView/model.d.ts +55 -5
- package/esm/LinearSyntenyView/model.js +3 -3
- package/esm/LinearSyntenyViewHelper/stateModelFactory.js +2 -2
- package/package.json +7 -7
|
@@ -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
|
-
|
|
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
|
-
|
|
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>;
|
|
@@ -112,12 +112,12 @@ function stateModelFactory(pluginManager) {
|
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
label: 'Draw CIGAR',
|
|
115
|
-
onClick: () => {
|
|
116
|
-
self.setDrawCIGAR(!self.drawCIGAR);
|
|
117
|
-
},
|
|
118
115
|
checked: self.drawCIGAR,
|
|
119
116
|
type: 'checkbox',
|
|
120
117
|
description: 'Draws per-base CIGAR level alignments',
|
|
118
|
+
onClick: () => {
|
|
119
|
+
self.setDrawCIGAR(!self.drawCIGAR);
|
|
120
|
+
},
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
label: 'Link views',
|
|
@@ -51,9 +51,9 @@ function linearSyntenyViewHelperModelFactory(pluginManager) {
|
|
|
51
51
|
const config = (0, mobx_state_tree_1.resolveIdentifier)(schema, (0, mobx_state_tree_1.getRoot)(self), trackId);
|
|
52
52
|
const shownTracks = self.tracks.filter(t => t.configuration === config);
|
|
53
53
|
(0, mobx_1.transaction)(() => {
|
|
54
|
-
|
|
54
|
+
for (const t of shownTracks) {
|
|
55
55
|
self.tracks.remove(t);
|
|
56
|
-
}
|
|
56
|
+
}
|
|
57
57
|
});
|
|
58
58
|
return shownTracks.length;
|
|
59
59
|
},
|
|
@@ -13,7 +13,7 @@ const useStyles = makeStyles()(theme => {
|
|
|
13
13
|
height: '100%',
|
|
14
14
|
background: alpha(theme.palette.tertiary.main, 0.7),
|
|
15
15
|
position: 'absolute',
|
|
16
|
-
zIndex:
|
|
16
|
+
zIndex: 900,
|
|
17
17
|
textAlign: 'center',
|
|
18
18
|
overflow: 'hidden',
|
|
19
19
|
},
|
|
@@ -76,13 +76,13 @@ const LinearComparativeRubberband = observer(function Rubberband({ model, Contro
|
|
|
76
76
|
clientY,
|
|
77
77
|
});
|
|
78
78
|
transaction(() => {
|
|
79
|
-
model.views
|
|
79
|
+
for (const view of model.views) {
|
|
80
80
|
const args = computeOffsets(offsetX, view);
|
|
81
81
|
if (args) {
|
|
82
82
|
const { leftOffset, rightOffset } = args;
|
|
83
83
|
view.setOffsets(leftOffset, rightOffset);
|
|
84
84
|
}
|
|
85
|
-
}
|
|
85
|
+
}
|
|
86
86
|
});
|
|
87
87
|
setGuideX(undefined);
|
|
88
88
|
}
|
|
@@ -120,9 +120,9 @@ const LinearComparativeRubberband = observer(function Rubberband({ model, Contro
|
|
|
120
120
|
function mouseOut() {
|
|
121
121
|
setGuideX(undefined);
|
|
122
122
|
transaction(() => {
|
|
123
|
-
model.views
|
|
123
|
+
for (const view of model.views) {
|
|
124
124
|
view.setOffsets(undefined, undefined);
|
|
125
|
-
}
|
|
125
|
+
}
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
128
|
function handleClose() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { stringify } from '@jbrowse/core/util';
|
|
3
|
-
import { Tooltip
|
|
3
|
+
import { Tooltip } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
5
|
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()({
|
|
@@ -9,19 +9,16 @@ const useStyles = makeStyles()({
|
|
|
9
9
|
height: '100%',
|
|
10
10
|
width: 1,
|
|
11
11
|
position: 'absolute',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
sm: {
|
|
15
|
-
fontSize: 10,
|
|
12
|
+
background: 'red',
|
|
13
|
+
zIndex: 1001,
|
|
16
14
|
},
|
|
17
15
|
});
|
|
18
16
|
const VerticalGuide = observer(function ({ model, coordX, }) {
|
|
19
17
|
const { classes } = useStyles();
|
|
20
18
|
return (_jsx(Tooltip, { open: true, placement: "top", title: model.views
|
|
21
19
|
.map(view => view.pxToBp(coordX))
|
|
22
|
-
.map((elt, idx) => (_jsx(
|
|
20
|
+
.map((elt, idx) => (_jsx("div", { children: stringify(elt, true) }, [JSON.stringify(elt), idx].join('-')))), arrow: true, children: _jsx("div", { className: classes.guide, style: {
|
|
23
21
|
left: coordX,
|
|
24
|
-
background: 'red',
|
|
25
22
|
} }) }));
|
|
26
23
|
});
|
|
27
24
|
export default VerticalGuide;
|
|
@@ -49,6 +49,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
49
49
|
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]>;
|
|
50
50
|
colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
51
51
|
showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
52
|
+
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>;
|
|
52
53
|
}, {
|
|
53
54
|
width: number;
|
|
54
55
|
} & {
|
|
@@ -77,6 +78,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
77
78
|
readonly interRegionPaddingWidth: number;
|
|
78
79
|
readonly assemblyNames: string[];
|
|
79
80
|
readonly stickyViewHeaders: boolean;
|
|
81
|
+
readonly rubberbandTop: number;
|
|
80
82
|
readonly pinnedTracksTop: number;
|
|
81
83
|
} & {
|
|
82
84
|
scaleBarDisplayPrefix(): string | undefined;
|
|
@@ -163,6 +165,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
163
165
|
setDraggingTrackId(idx?: string): void;
|
|
164
166
|
setScaleFactor(factor: number): void;
|
|
165
167
|
clearView(): void;
|
|
168
|
+
setInit(arg?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState): void;
|
|
166
169
|
exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
|
|
167
170
|
} & {
|
|
168
171
|
slide: (viewWidths: number) => void;
|
|
@@ -183,7 +186,6 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
183
186
|
readonly coarseVisibleLocStrings: string;
|
|
184
187
|
} & {
|
|
185
188
|
setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
|
|
186
|
-
afterAttach(): void;
|
|
187
189
|
} & {
|
|
188
190
|
moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
|
|
189
191
|
navToLocString(input: string, optAssemblyName?: string): Promise<void>;
|
|
@@ -191,6 +193,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
191
193
|
input: string;
|
|
192
194
|
assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
|
|
193
195
|
}): Promise<void>;
|
|
196
|
+
navToLocation(parsedLocString: import("@jbrowse/core/util").ParsedLocString, assemblyName?: string): Promise<void>;
|
|
194
197
|
navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
|
|
195
198
|
navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
|
|
196
199
|
navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
|
|
@@ -229,6 +232,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
229
232
|
} | undefined;
|
|
230
233
|
} & {
|
|
231
234
|
afterCreate(): void;
|
|
235
|
+
afterAttach(): void;
|
|
232
236
|
}, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
|
|
233
237
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
234
238
|
displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
@@ -251,7 +255,28 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
251
255
|
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]>;
|
|
252
256
|
colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
253
257
|
showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
254
|
-
|
|
258
|
+
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>;
|
|
259
|
+
}>>, {
|
|
260
|
+
id: string;
|
|
261
|
+
type: string;
|
|
262
|
+
displayName: string | undefined;
|
|
263
|
+
tracks: any[];
|
|
264
|
+
minimized: boolean;
|
|
265
|
+
displayedRegions: import("@jbrowse/core/util").Region[];
|
|
266
|
+
offsetPx: number;
|
|
267
|
+
bpPerPx: number;
|
|
268
|
+
hideHeader: boolean;
|
|
269
|
+
hideHeaderOverview: boolean;
|
|
270
|
+
hideNoTracksActive: boolean;
|
|
271
|
+
trackSelectorType: string;
|
|
272
|
+
showCenterLine: boolean;
|
|
273
|
+
showCytobandsSetting: boolean;
|
|
274
|
+
trackLabels: string;
|
|
275
|
+
showGridlines: boolean;
|
|
276
|
+
highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[];
|
|
277
|
+
colorByCDS: boolean;
|
|
278
|
+
showTrackOutlines: boolean;
|
|
279
|
+
}>>;
|
|
255
280
|
viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
|
|
256
281
|
}, {
|
|
257
282
|
width: number;
|
|
@@ -339,6 +364,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
339
364
|
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]>;
|
|
340
365
|
colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
341
366
|
showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
367
|
+
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>;
|
|
342
368
|
}, {
|
|
343
369
|
width: number;
|
|
344
370
|
} & {
|
|
@@ -367,6 +393,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
367
393
|
readonly interRegionPaddingWidth: number;
|
|
368
394
|
readonly assemblyNames: string[];
|
|
369
395
|
readonly stickyViewHeaders: boolean;
|
|
396
|
+
readonly rubberbandTop: number;
|
|
370
397
|
readonly pinnedTracksTop: number;
|
|
371
398
|
} & {
|
|
372
399
|
scaleBarDisplayPrefix(): string | undefined;
|
|
@@ -453,6 +480,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
453
480
|
setDraggingTrackId(idx?: string): void;
|
|
454
481
|
setScaleFactor(factor: number): void;
|
|
455
482
|
clearView(): void;
|
|
483
|
+
setInit(arg?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState): void;
|
|
456
484
|
exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
|
|
457
485
|
} & {
|
|
458
486
|
slide: (viewWidths: number) => void;
|
|
@@ -473,7 +501,6 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
473
501
|
readonly coarseVisibleLocStrings: string;
|
|
474
502
|
} & {
|
|
475
503
|
setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
|
|
476
|
-
afterAttach(): void;
|
|
477
504
|
} & {
|
|
478
505
|
moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
|
|
479
506
|
navToLocString(input: string, optAssemblyName?: string): Promise<void>;
|
|
@@ -481,6 +508,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
481
508
|
input: string;
|
|
482
509
|
assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
|
|
483
510
|
}): Promise<void>;
|
|
511
|
+
navToLocation(parsedLocString: import("@jbrowse/core/util").ParsedLocString, assemblyName?: string): Promise<void>;
|
|
484
512
|
navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
|
|
485
513
|
navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
|
|
486
514
|
navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
|
|
@@ -519,6 +547,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
519
547
|
} | undefined;
|
|
520
548
|
} & {
|
|
521
549
|
afterCreate(): void;
|
|
550
|
+
afterAttach(): void;
|
|
522
551
|
}, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
|
|
523
552
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
524
553
|
displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
@@ -541,7 +570,28 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
541
570
|
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]>;
|
|
542
571
|
colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
543
572
|
showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
544
|
-
|
|
573
|
+
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>;
|
|
574
|
+
}>>, {
|
|
575
|
+
id: string;
|
|
576
|
+
type: string;
|
|
577
|
+
displayName: string | undefined;
|
|
578
|
+
tracks: any[];
|
|
579
|
+
minimized: boolean;
|
|
580
|
+
displayedRegions: import("@jbrowse/core/util").Region[];
|
|
581
|
+
offsetPx: number;
|
|
582
|
+
bpPerPx: number;
|
|
583
|
+
hideHeader: boolean;
|
|
584
|
+
hideHeaderOverview: boolean;
|
|
585
|
+
hideNoTracksActive: boolean;
|
|
586
|
+
trackSelectorType: string;
|
|
587
|
+
showCenterLine: boolean;
|
|
588
|
+
showCytobandsSetting: boolean;
|
|
589
|
+
trackLabels: string;
|
|
590
|
+
showGridlines: boolean;
|
|
591
|
+
highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[];
|
|
592
|
+
colorByCDS: boolean;
|
|
593
|
+
showTrackOutlines: boolean;
|
|
594
|
+
}>>;
|
|
545
595
|
viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
|
|
546
596
|
}>>, import("mobx-state-tree")._NotCustomized>;
|
|
547
597
|
export type LinearComparativeViewStateModel = ReturnType<typeof stateModelFactory>;
|
|
@@ -64,18 +64,23 @@ function stateModelFactory(pluginManager) {
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
onSubviewAction(actionName, path, args) {
|
|
67
|
-
self.views
|
|
67
|
+
for (const view of self.views) {
|
|
68
68
|
const ret = getPath(view);
|
|
69
69
|
if (!ret.endsWith(path)) {
|
|
70
70
|
view[actionName](args === null || args === void 0 ? void 0 : args[0]);
|
|
71
71
|
}
|
|
72
|
-
}
|
|
72
|
+
}
|
|
73
73
|
},
|
|
74
74
|
setWidth(newWidth) {
|
|
75
75
|
self.width = newWidth;
|
|
76
76
|
},
|
|
77
77
|
setViews(views) {
|
|
78
78
|
self.views = cast(views);
|
|
79
|
+
const levels = [];
|
|
80
|
+
for (let i = 0; i < views.length - 1; i++) {
|
|
81
|
+
levels.push({ level: i });
|
|
82
|
+
}
|
|
83
|
+
self.levels = cast(levels);
|
|
79
84
|
},
|
|
80
85
|
removeView(view) {
|
|
81
86
|
self.views.remove(view);
|
|
@@ -98,12 +98,12 @@ export default function ReadVsRefDialog({ track, feature: preFeature, handleClos
|
|
|
98
98
|
};
|
|
99
99
|
const totalLength = flags & 2048 ? getLength(suppAlns[0].CIGAR) : getLength(cigar);
|
|
100
100
|
const features = [feat, ...suppAlns];
|
|
101
|
-
features.
|
|
101
|
+
for (const [idx, f] of features.entries()) {
|
|
102
102
|
f.refName = assembly.getCanonicalRefName(f.refName) || f.refName;
|
|
103
103
|
f.syntenyId = idx;
|
|
104
104
|
f.mate.syntenyId = idx;
|
|
105
105
|
f.mate.uniqueId = `${f.uniqueId}_mate`;
|
|
106
|
-
}
|
|
106
|
+
}
|
|
107
107
|
features.sort((a, b) => a.clipPos - b.clipPos);
|
|
108
108
|
const featSeq = feature.get('seq');
|
|
109
109
|
const configFeatureStore = [...features, ...features.map(f => f.mate)];
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { ErrorMessage, FileSelector } from '@jbrowse/core/ui';
|
|
4
4
|
import HelpIcon from '@mui/icons-material/Help';
|
|
5
|
-
import { Button, FormControlLabel,
|
|
5
|
+
import { Button, FormControlLabel, Grid, Paper, Radio, RadioGroup, Tooltip, Typography, } from '@mui/material';
|
|
6
6
|
import { observer } from 'mobx-react';
|
|
7
7
|
import { getAdapter } from './getAdapter';
|
|
8
8
|
import { basename, extName, getName, stripGz } from './util';
|
|
@@ -68,7 +68,7 @@ const ImportSyntenyOpenCustomTrack = observer(function ({ model, assembly1, asse
|
|
|
68
68
|
};
|
|
69
69
|
return (_jsxs(Paper, { style: { padding: 12 }, children: [error ? _jsx(ErrorMessage, { error: error }) : null, _jsx(Typography, { style: { textAlign: 'center' }, children: "Add a .paf (minimap2), .delta (Mummer), .chain (UCSC liftover), .anchors or .anchors.simple (MCScan), or .pif.gz (jbrowse CLI make-pif) file to view. These file types can also be gzipped." }), _jsx(RadioGroup, { value: radioOption, onChange: event => {
|
|
70
70
|
setValue(event.target.value);
|
|
71
|
-
}, children: _jsx(
|
|
71
|
+
}, children: _jsx(Grid, { container: true, justifyContent: "center", children: [
|
|
72
72
|
'.paf',
|
|
73
73
|
'.delta',
|
|
74
74
|
'.out',
|
|
@@ -76,7 +76,7 @@ const ImportSyntenyOpenCustomTrack = observer(function ({ model, assembly1, asse
|
|
|
76
76
|
'.anchors',
|
|
77
77
|
'.anchors.simple',
|
|
78
78
|
'.pif.gz',
|
|
79
|
-
].map(extension => (_jsx(FormControlLabel, { value: extension, control: _jsx(Radio, {}), label: extension }, extension))) }) }), _jsx(
|
|
79
|
+
].map(extension => (_jsx(FormControlLabel, { value: extension, control: _jsx(Radio, {}), label: extension }, extension))) }) }), _jsx(Grid, { container: true, justifyContent: "center", children: radioOption === '.paf' ||
|
|
80
80
|
radioOption === '.out' ||
|
|
81
81
|
radioOption === '.delta' ||
|
|
82
82
|
radioOption === '.chain' ||
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LinearSyntenyViewModel } from '../../model';
|
|
2
|
+
declare const LeftPanel: ({ model, selectedAssemblyNames, setSelectedAssemblyNames, selectedRow, setSelectedRow, defaultAssemblyName, onLaunch, }: {
|
|
3
|
+
model: LinearSyntenyViewModel;
|
|
4
|
+
selectedAssemblyNames: string[];
|
|
5
|
+
setSelectedAssemblyNames: (names: string[]) => void;
|
|
6
|
+
selectedRow: number;
|
|
7
|
+
setSelectedRow: (row: number) => void;
|
|
8
|
+
defaultAssemblyName: string;
|
|
9
|
+
onLaunch: () => void;
|
|
10
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default LeftPanel;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AssemblySelector } from '@jbrowse/core/ui';
|
|
3
|
+
import { getSession, notEmpty } from '@jbrowse/core/util';
|
|
4
|
+
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
|
5
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
6
|
+
import { Button, IconButton } from '@mui/material';
|
|
7
|
+
import { observer } from 'mobx-react';
|
|
8
|
+
import { makeStyles } from 'tss-react/mui';
|
|
9
|
+
const useStyles = makeStyles()(theme => ({
|
|
10
|
+
mb: {
|
|
11
|
+
marginBottom: 10,
|
|
12
|
+
},
|
|
13
|
+
button: {
|
|
14
|
+
margin: theme.spacing(2),
|
|
15
|
+
},
|
|
16
|
+
rel: {
|
|
17
|
+
position: 'relative',
|
|
18
|
+
},
|
|
19
|
+
synbutton: {
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
top: 30,
|
|
22
|
+
},
|
|
23
|
+
bg: {
|
|
24
|
+
background: theme.palette.divider,
|
|
25
|
+
},
|
|
26
|
+
}));
|
|
27
|
+
const AssemblyRows = observer(function ({ selectedRow, selectedAssemblyNames, setSelectedRow, setSelectedAssemblyNames, model, }) {
|
|
28
|
+
const { classes, cx } = useStyles();
|
|
29
|
+
const session = getSession(model);
|
|
30
|
+
return selectedAssemblyNames.map((assemblyName, idx) => (_jsxs("div", { className: classes.rel, children: [_jsxs("span", { children: ["Row ", idx + 1, ": "] }), _jsx(IconButton, { disabled: selectedAssemblyNames.length <= 2, onClick: () => {
|
|
31
|
+
model.importFormRemoveRow(idx);
|
|
32
|
+
setSelectedAssemblyNames(selectedAssemblyNames
|
|
33
|
+
.map((asm, idx2) => (idx2 === idx ? undefined : asm))
|
|
34
|
+
.filter(notEmpty));
|
|
35
|
+
if (selectedRow >= selectedAssemblyNames.length - 2) {
|
|
36
|
+
setSelectedRow(0);
|
|
37
|
+
}
|
|
38
|
+
}, children: _jsx(CloseIcon, {}) }), _jsx(AssemblySelector, { helperText: "", selected: assemblyName, onChange: newAssembly => {
|
|
39
|
+
setSelectedAssemblyNames(selectedAssemblyNames.map((asm, idx2) => idx2 === idx ? newAssembly : asm));
|
|
40
|
+
}, session: session }), idx !== selectedAssemblyNames.length - 1 ? (_jsx(IconButton, { "data-testid": "synbutton", className: cx(classes.synbutton, idx === selectedRow ? classes.bg : undefined), onClick: () => {
|
|
41
|
+
setSelectedRow(idx);
|
|
42
|
+
}, children: _jsx(ArrowForwardIosIcon, {}) })) : null] }, `${assemblyName}-${idx}`)));
|
|
43
|
+
});
|
|
44
|
+
const LeftPanel = observer(function ({ model, selectedAssemblyNames, setSelectedAssemblyNames, selectedRow, setSelectedRow, defaultAssemblyName, onLaunch, }) {
|
|
45
|
+
const { classes } = useStyles();
|
|
46
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: classes.mb, children: "Select assemblies for linear synteny view" }), _jsx(AssemblyRows, { model: model, selectedAssemblyNames: selectedAssemblyNames, setSelectedAssemblyNames: setSelectedAssemblyNames, selectedRow: selectedRow, setSelectedRow: setSelectedRow }), _jsxs("div", { children: [_jsx(Button, { className: classes.button, variant: "contained", color: "secondary", onClick: () => {
|
|
47
|
+
setSelectedAssemblyNames([
|
|
48
|
+
...selectedAssemblyNames,
|
|
49
|
+
defaultAssemblyName,
|
|
50
|
+
]);
|
|
51
|
+
}, children: "Add row" }), _jsx(Button, { className: classes.button, onClick: onLaunch, variant: "contained", color: "primary", children: "Launch" })] })] }));
|
|
52
|
+
});
|
|
53
|
+
export default LeftPanel;
|