jbrowse-plugin-msaview 5.1.1 → 5.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/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +0 -2
- package/dist/MsaViewPanel/model.d.ts +49 -51
- package/dist/chunks/AboutDialog-447TIFAW.js +2 -0
- package/dist/chunks/{AboutDialog-YNPKL64P.js.map → AboutDialog-447TIFAW.js.map} +4 -4
- package/dist/chunks/AnnotationFileDialog-S3N5EHHE.js +2 -0
- package/dist/chunks/AnnotationFileDialog-S3N5EHHE.js.map +7 -0
- package/dist/chunks/ExportSVGDialog-7ZHKKQ7W.js +2 -0
- package/dist/chunks/ExportSVGDialog-7ZHKKQ7W.js.map +7 -0
- package/dist/chunks/{FeatureDialog-7XXL6XUK.js → FeatureDialog-EEOGSLOG.js} +1 -1
- package/dist/chunks/{FeatureDialog-7XXL6XUK.js.map → FeatureDialog-EEOGSLOG.js.map} +1 -1
- package/dist/chunks/HelpDialog-TCWNBZOV.js +2 -0
- package/dist/chunks/HelpDialog-TCWNBZOV.js.map +7 -0
- package/dist/chunks/{LaunchMsaViewDialog-C53VHT52.js → LaunchMsaViewDialog-R6CNRASN.js} +3 -3
- package/dist/chunks/{LaunchMsaViewDialog-C53VHT52.js.map → LaunchMsaViewDialog-R6CNRASN.js.map} +2 -2
- package/dist/chunks/MetadataDialog-MNSI6NEW.js +2 -0
- package/dist/chunks/{MetadataDialog-QCUWTDBU.js.map → MetadataDialog-MNSI6NEW.js.map} +2 -2
- package/dist/chunks/MsaViewPanel-R2WAER5O.js +2 -0
- package/dist/chunks/{MsaViewPanel-DS4STM3W.js.map → MsaViewPanel-R2WAER5O.js.map} +1 -1
- package/dist/chunks/{TrackInfoDialog-BVZWIDEU.js → TrackInfoDialog-W2F77IPG.js} +2 -2
- package/dist/chunks/{TrackInfoDialog-BVZWIDEU.js.map → TrackInfoDialog-W2F77IPG.js.map} +1 -1
- package/dist/chunks/TreeNodeInfoDialog-T5XMPG3R.js +2 -0
- package/dist/chunks/{TreeNodeInfoDialog-LPLF6BA6.js.map → TreeNodeInfoDialog-T5XMPG3R.js.map} +2 -2
- package/dist/chunks/chunk-6EOYBBT4.js +2 -0
- package/dist/chunks/chunk-6EOYBBT4.js.map +7 -0
- package/dist/chunks/chunk-A63PUWQZ.js +6 -0
- package/dist/chunks/chunk-A63PUWQZ.js.map +7 -0
- package/dist/chunks/{chunk-NI3VGKQP.js → chunk-BAM67QHH.js} +2 -2
- package/dist/chunks/chunk-CSCUNTGJ.js +18 -0
- package/dist/chunks/chunk-CSCUNTGJ.js.map +7 -0
- package/dist/chunks/chunk-DEFUNIWW.js +8 -0
- package/dist/chunks/chunk-DEFUNIWW.js.map +7 -0
- package/dist/chunks/{chunk-NSKY4K4T.js → chunk-ERCMNTEQ.js} +1 -1
- package/dist/chunks/{chunk-NSKY4K4T.js.map → chunk-ERCMNTEQ.js.map} +1 -1
- package/dist/chunks/{chunk-VWM6IHF2.js → chunk-FEUZKN5V.js} +2 -2
- package/dist/chunks/{chunk-VWM6IHF2.js.map → chunk-FEUZKN5V.js.map} +1 -1
- package/dist/chunks/{chunk-IP2BEEIU.js → chunk-JF6CW6MO.js} +1 -1
- package/dist/chunks/{chunk-IP2BEEIU.js.map → chunk-JF6CW6MO.js.map} +1 -1
- package/dist/chunks/chunk-K55ZVN73.js +5 -0
- package/dist/chunks/chunk-K55ZVN73.js.map +7 -0
- package/dist/chunks/chunk-L6CBIH6H.js +2 -0
- package/dist/chunks/chunk-L6CBIH6H.js.map +7 -0
- package/dist/chunks/{chunk-OF4AZJER.js → chunk-NWHZOZMG.js} +1 -1
- package/dist/chunks/{chunk-OF4AZJER.js.map → chunk-NWHZOZMG.js.map} +1 -1
- package/dist/chunks/chunk-OVAXNTPN.js +2 -0
- package/dist/chunks/chunk-OVAXNTPN.js.map +7 -0
- package/dist/chunks/chunk-TSHN6J7U.js +2 -0
- package/dist/chunks/chunk-TSHN6J7U.js.map +7 -0
- package/dist/chunks/{chunk-VJQWGQ4V.js → chunk-WAPIOD25.js} +5 -5
- package/dist/chunks/{chunk-VJQWGQ4V.js.map → chunk-WAPIOD25.js.map} +1 -1
- package/dist/chunks/chunk-XVNCZQMR.js +2 -0
- package/dist/chunks/{chunk-HOEVB65D.js.map → chunk-XVNCZQMR.js.map} +1 -1
- package/dist/chunks/{dist-UX5CKLQJ.js → dist-GXYZN4ZR.js} +2 -2
- package/dist/chunks/{dist-UX5CKLQJ.js.map → dist-GXYZN4ZR.js.map} +3 -3
- package/dist/chunks/dist-N4ZJK63Q.js +2 -0
- package/dist/chunks/{model-DXQOMSLC.js → model-TCPB6WNJ.js} +2 -2
- package/dist/chunks/{model-DXQOMSLC.js.map → model-TCPB6WNJ.js.map} +1 -1
- package/dist/chunks/renderToSvg-53FEV6IJ.js +2 -0
- package/dist/jbrowse-plugin-msaview.esm.js +2 -2
- package/dist/jbrowse-plugin-msaview.esm.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +0 -2
- package/src/version.ts +1 -1
- package/dist/chunks/AboutDialog-YNPKL64P.js +0 -2
- package/dist/chunks/AnnotationFileDialog-NJGKHAVR.js +0 -2
- package/dist/chunks/AnnotationFileDialog-NJGKHAVR.js.map +0 -7
- package/dist/chunks/ExportSVGDialog-D5DKR6CZ.js +0 -2
- package/dist/chunks/ExportSVGDialog-D5DKR6CZ.js.map +0 -7
- package/dist/chunks/MetadataDialog-QCUWTDBU.js +0 -2
- package/dist/chunks/MsaViewPanel-DS4STM3W.js +0 -2
- package/dist/chunks/TreeNodeInfoDialog-LPLF6BA6.js +0 -2
- package/dist/chunks/chunk-F726IWCW.js +0 -2
- package/dist/chunks/chunk-F726IWCW.js.map +0 -7
- package/dist/chunks/chunk-HOEVB65D.js +0 -2
- package/dist/chunks/chunk-P7ZJCOIY.js +0 -11
- package/dist/chunks/chunk-P7ZJCOIY.js.map +0 -7
- package/dist/chunks/chunk-S2T7S4SB.js +0 -18
- package/dist/chunks/chunk-S2T7S4SB.js.map +0 -7
- package/dist/chunks/chunk-SKDGC3HW.js +0 -2
- package/dist/chunks/chunk-SKDGC3HW.js.map +0 -7
- package/dist/chunks/dist-6DG5HXEW.js +0 -2
- package/dist/chunks/renderToSvg-2LBAS6XS.js +0 -2
- /package/dist/chunks/{chunk-NI3VGKQP.js.map → chunk-BAM67QHH.js.map} +0 -0
- /package/dist/chunks/{dist-6DG5HXEW.js.map → dist-N4ZJK63Q.js.map} +0 -0
- /package/dist/chunks/{renderToSvg-2LBAS6XS.js.map → renderToSvg-53FEV6IJ.js.map} +0 -0
|
@@ -92,8 +92,6 @@ const PreLoadedMSA = observer(function ({ model, feature, handleClose, preferred
|
|
|
92
92
|
feature: selectedTranscript,
|
|
93
93
|
placement,
|
|
94
94
|
displayName: getGeneDisplayName(selectedTranscript),
|
|
95
|
-
treeAreaWidth: 200,
|
|
96
|
-
treeWidth: 100,
|
|
97
95
|
drawNodeBubbles: false,
|
|
98
96
|
labelsAlignRight: true,
|
|
99
97
|
showBranchLen: false,
|
|
@@ -111,11 +111,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
111
111
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
112
112
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
113
113
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
114
|
-
}, "id" | "type" | "
|
|
114
|
+
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
115
115
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
116
116
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
117
|
-
treeAreaWidth: import("@jbrowse/mobx-state-tree").
|
|
118
|
-
treeWidth: import("@jbrowse/mobx-state-tree").
|
|
117
|
+
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
118
|
+
treeWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
119
119
|
showBranchLen: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
120
120
|
treeOrder: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<import("react-msaview").TreeOrder>, [undefined]>;
|
|
121
121
|
drawTree: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -123,13 +123,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
123
123
|
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
124
124
|
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
125
125
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
126
|
-
autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
127
126
|
}, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
|
|
128
127
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
129
128
|
colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
130
129
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
131
130
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
132
|
-
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("
|
|
131
|
+
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("react-msaview").MSAFormat>>;
|
|
133
132
|
}, "id" | "type" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
134
133
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
135
134
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -535,27 +534,26 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
535
534
|
removeActiveDialog(): void;
|
|
536
535
|
queueDialog(cb: (doneCallback: () => void) => [import("@jbrowse/core/util").DialogComponentType, unknown]): void;
|
|
537
536
|
} & {
|
|
538
|
-
setTreeAreaWidth(n: number): void;
|
|
539
|
-
setTreeWidth(n: number): void;
|
|
537
|
+
setTreeAreaWidth(n: number | undefined): void;
|
|
538
|
+
setTreeWidth(n: number | undefined): void;
|
|
540
539
|
setLabelsAlignRight(arg: boolean): void;
|
|
541
540
|
setDrawTree(arg: boolean): void;
|
|
542
|
-
setAutoTreeAreaWidth(arg: boolean): void;
|
|
543
541
|
setShowBranchLen(arg: boolean): void;
|
|
544
542
|
setTreeOrder(order: import("react-msaview").TreeOrder): void;
|
|
545
543
|
setDrawNodeBubbles(arg: boolean): void;
|
|
546
544
|
setDrawNodeLabels(arg: boolean): void;
|
|
547
545
|
setShowTreeOverview(arg: boolean): void;
|
|
548
|
-
setOverviewHeight(n: number): void;
|
|
549
546
|
setDrawLabels(arg: boolean): void;
|
|
550
547
|
} & {
|
|
551
548
|
setColorSchemeName(name: string): void;
|
|
552
549
|
setCustomColorScheme(map?: Record<string, string>): void;
|
|
553
550
|
setBgColor(arg: boolean): void;
|
|
554
551
|
setShowColumnStats(arg: boolean): void;
|
|
555
|
-
setMSAFormat(arg?: import("
|
|
552
|
+
setMSAFormat(arg?: import("react-msaview").MSAFormat): void;
|
|
556
553
|
} & {
|
|
557
554
|
headerHeight: number;
|
|
558
555
|
hideHeader: boolean;
|
|
556
|
+
importForm: boolean;
|
|
559
557
|
status: {
|
|
560
558
|
msg: string;
|
|
561
559
|
onCancel?: () => void;
|
|
@@ -583,7 +581,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
583
581
|
dismissedWarnings: string[];
|
|
584
582
|
resetCount: number;
|
|
585
583
|
hostCarriesData: boolean;
|
|
586
|
-
annotations: import("
|
|
584
|
+
annotations: import("react-msaview").Annotation[];
|
|
587
585
|
} & {
|
|
588
586
|
drawRelativeTo(id: string | undefined): void;
|
|
589
587
|
setHideGaps(arg: boolean): void;
|
|
@@ -634,8 +632,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
634
632
|
setGFF(result?: string): void;
|
|
635
633
|
} & {
|
|
636
634
|
readonly hideGapsEffective: boolean;
|
|
637
|
-
readonly
|
|
638
|
-
readonly allAnnotations: import("msa-parsers").Annotation[];
|
|
635
|
+
readonly allAnnotations: import("react-msaview").Annotation[];
|
|
639
636
|
readonly actuallyShowDomains: boolean;
|
|
640
637
|
readonly hostRestoresData: boolean;
|
|
641
638
|
readonly viewInitialized: boolean;
|
|
@@ -663,7 +660,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
663
660
|
readonly rowData: Record<string, Record<string, string> | undefined>;
|
|
664
661
|
rowDataOf(name: string): Record<string, string> | undefined;
|
|
665
662
|
readonly rowFields: string[];
|
|
666
|
-
readonly MSA: import("
|
|
663
|
+
readonly MSA: import("react-msaview").MSAParserType | null;
|
|
667
664
|
readonly numColumns: number;
|
|
668
665
|
readonly inputTree: import("react-msaview").NodeWithIds;
|
|
669
666
|
readonly tree: import("react-msaview").NodeWithIds;
|
|
@@ -671,6 +668,17 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
671
668
|
readonly rowNamesSet: Map<string, number>;
|
|
672
669
|
readonly resolvedClades: import("react-msaview").ResolvedClade[];
|
|
673
670
|
readonly cladeGutterWidth: number;
|
|
671
|
+
readonly treeDrawn: boolean;
|
|
672
|
+
readonly treeTips: {
|
|
673
|
+
names: string[];
|
|
674
|
+
depth: number;
|
|
675
|
+
};
|
|
676
|
+
readonly maxTipLabelWidth: number;
|
|
677
|
+
readonly labelColumnWidth: number;
|
|
678
|
+
readonly fittedTreeAreaWidth: number;
|
|
679
|
+
readonly effectiveTreeAreaWidth: number;
|
|
680
|
+
readonly effectiveTreeWidth: number;
|
|
681
|
+
readonly showTreeText: boolean;
|
|
674
682
|
readonly mouseOverRowName: string | undefined;
|
|
675
683
|
readonly hoveredInsertion: {
|
|
676
684
|
rowName: string;
|
|
@@ -681,7 +689,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
681
689
|
readonly treeNewick: string;
|
|
682
690
|
readonly treeOverviewHeight: number;
|
|
683
691
|
readonly treeOverviewLayout: {
|
|
684
|
-
root: import("react-msaview").
|
|
692
|
+
root: import("react-msaview").LaidOutNode<import("react-msaview").NodeWithIds>;
|
|
685
693
|
numTips: number;
|
|
686
694
|
maxDepthToLeaf: number;
|
|
687
695
|
showBranchLen: boolean;
|
|
@@ -704,6 +712,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
704
712
|
readonly rows: [string, string][];
|
|
705
713
|
readonly numRows: number;
|
|
706
714
|
seqPosIndex(rowName: string): Int32Array | undefined;
|
|
715
|
+
rowSequence(name: string): string | undefined;
|
|
707
716
|
readonly rowMap: Map<string, string>;
|
|
708
717
|
readonly columns: Map<string, string>;
|
|
709
718
|
readonly columns2d: string[];
|
|
@@ -727,7 +736,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
727
736
|
readonly totalHeight: number;
|
|
728
737
|
readonly leaves: import("react-msaview").HierarchyNode<import("react-msaview").NodeWithIds>[];
|
|
729
738
|
readonly rootToTipLength: number;
|
|
730
|
-
readonly maxBranchLength: number;
|
|
731
739
|
readonly pxPerBranchLength: number;
|
|
732
740
|
readonly maxDepthToLeaf: number;
|
|
733
741
|
readonly allBranchesLength0: boolean;
|
|
@@ -736,7 +744,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
736
744
|
readonly totalWidth: number;
|
|
737
745
|
} & {
|
|
738
746
|
readonly showMsaLetters: boolean;
|
|
739
|
-
readonly showTreeText: boolean;
|
|
740
747
|
} & {
|
|
741
748
|
readonly columnTrackContent: Map<string, {
|
|
742
749
|
values?: number[];
|
|
@@ -747,9 +754,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
747
754
|
columnTrackModel(track: import("react-msaview").ColumnTrackSpec): import("react-msaview").BasicTrack;
|
|
748
755
|
readonly columnTrackModels: import("react-msaview").BasicTrack[];
|
|
749
756
|
} & {
|
|
750
|
-
readonly labelWidthMap: Map<string, number>;
|
|
751
|
-
readonly labelWidthScale: number;
|
|
752
|
-
readonly labelsWidth: number;
|
|
753
757
|
readonly secondaryStructureConsensus: string | undefined;
|
|
754
758
|
readonly secondaryStructureArcs: import("react-msaview").Arc[] | undefined;
|
|
755
759
|
readonly adapterTrackModels: import("react-msaview").BasicTrack[];
|
|
@@ -787,9 +791,9 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
787
791
|
readonly topBandHeight: number;
|
|
788
792
|
readonly msaAreaHeight: number;
|
|
789
793
|
readonly totalTrackAreaHeight: number;
|
|
790
|
-
readonly annotationTypes: Map<string, import("
|
|
791
|
-
readonly filteredAnnotations: import("
|
|
792
|
-
readonly annotationsByRow: Record<string, import("
|
|
794
|
+
readonly annotationTypes: Map<string, import("react-msaview").Annotation>;
|
|
795
|
+
readonly filteredAnnotations: import("react-msaview").Annotation[];
|
|
796
|
+
readonly annotationsByRow: Record<string, import("react-msaview").Annotation[]>;
|
|
793
797
|
} & {
|
|
794
798
|
readonly showVerticalScrollbar: boolean;
|
|
795
799
|
} & {
|
|
@@ -817,17 +821,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
817
821
|
replaceTree(newick: string): void;
|
|
818
822
|
resetZoom(): void;
|
|
819
823
|
zoomAtCenter(scaleFactor: number, axis?: "both" | "horizontal" | "vertical"): void;
|
|
820
|
-
zoomOutHorizontal(): void;
|
|
821
|
-
zoomInHorizontal(): void;
|
|
822
|
-
zoomInVertical(): void;
|
|
823
|
-
zoomOutVertical(): void;
|
|
824
824
|
zoomIn(): void;
|
|
825
825
|
zoomOut(): void;
|
|
826
826
|
zoomToPos(scaleFactor: number, offsetX: number, offsetY: number, axis?: "both" | "horizontal" | "vertical"): void;
|
|
827
827
|
doScrollY(deltaY: number): void;
|
|
828
828
|
setScrollY(n: number): void;
|
|
829
|
-
setAnnotations(annotations: import("
|
|
830
|
-
setDomains(data?: Record<string, import("msa-parsers").InterProScanResults>): void;
|
|
829
|
+
setAnnotations(annotations: import("react-msaview").Annotation[]): void;
|
|
831
830
|
applyGFFText(gffText: string): void;
|
|
832
831
|
doScrollX(deltaX: number): void;
|
|
833
832
|
setScrollX(n: number): void;
|
|
@@ -846,24 +845,24 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
846
845
|
readonly hoveredCell: import("react-msaview").Cell | undefined;
|
|
847
846
|
readonly clickedCell: import("react-msaview").Cell | undefined;
|
|
848
847
|
readonly viewport: import("react-msaview").Viewport | undefined;
|
|
849
|
-
readonly segmentDomainTypes: import("
|
|
850
|
-
readonly categoricalDomainTypes: import("
|
|
848
|
+
readonly segmentDomainTypes: import("react-msaview").Annotation[];
|
|
849
|
+
readonly categoricalDomainTypes: import("react-msaview").Annotation[];
|
|
851
850
|
readonly fillPalette: {
|
|
852
851
|
[x: string]: string;
|
|
853
852
|
};
|
|
854
853
|
readonly featureFillEncoding: import("react-msaview").ResolvedEncoding | undefined;
|
|
855
|
-
readonly featureColors: Map<import("
|
|
854
|
+
readonly featureColors: Map<import("react-msaview").Annotation, {
|
|
856
855
|
fill: string;
|
|
857
856
|
stroke: string;
|
|
858
857
|
}>;
|
|
859
|
-
readonly featureLabels: Map<import("
|
|
858
|
+
readonly featureLabels: Map<import("react-msaview").Annotation, string> | undefined;
|
|
860
859
|
readonly segmentLabels: Map<string, string>;
|
|
861
|
-
readonly visibleDomainTypes: import("
|
|
860
|
+
readonly visibleDomainTypes: import("react-msaview").Annotation[];
|
|
862
861
|
readonly legends: import("react-msaview").Legend[];
|
|
863
862
|
readonly domainUnderline: boolean;
|
|
864
863
|
readonly domainBands: Map<string, import("react-msaview").DomainBand[]>;
|
|
865
864
|
readonly domainBandsByStart: Map<string, import("react-msaview").DomainBand[]>;
|
|
866
|
-
readonly mouseOverDomains: import("
|
|
865
|
+
readonly mouseOverDomains: import("react-msaview").Annotation[];
|
|
867
866
|
readonly referenceRowIndex: number | undefined;
|
|
868
867
|
readonly hoveredRowIndices: number[];
|
|
869
868
|
readonly highlightedColumnRuns: {
|
|
@@ -904,13 +903,13 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
904
903
|
x: "column" | "position";
|
|
905
904
|
kind: "features";
|
|
906
905
|
field?: string | undefined;
|
|
907
|
-
colors: Map<import("
|
|
906
|
+
colors: Map<import("react-msaview").Annotation, {
|
|
908
907
|
fill: string;
|
|
909
908
|
stroke: string;
|
|
910
909
|
}>;
|
|
911
910
|
legend: import("react-msaview").LegendEntry[];
|
|
912
911
|
legendTitle?: string | undefined;
|
|
913
|
-
labels?: Map<import("
|
|
912
|
+
labels?: Map<import("react-msaview").Annotation, string> | undefined;
|
|
914
913
|
})[];
|
|
915
914
|
readonly resolvedRowPanels: import("react-msaview").ResolvedRowPanel[];
|
|
916
915
|
readonly featureAlignShifts: Map<string, Map<string, number>>;
|
|
@@ -920,6 +919,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
920
919
|
} & {
|
|
921
920
|
setHeaderHeight(arg: number): void;
|
|
922
921
|
setHideHeader(arg: boolean): void;
|
|
922
|
+
setImportForm(arg: boolean): void;
|
|
923
923
|
treeOverviewClick(y: number): void;
|
|
924
924
|
setTrackHeight(heightKey: string, height: number): void;
|
|
925
925
|
reset(): void;
|
|
@@ -929,6 +929,7 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
929
929
|
fit(): void;
|
|
930
930
|
fitVertically(): void;
|
|
931
931
|
zoomToRegion(region: import("react-msaview").Region): void;
|
|
932
|
+
revealRegion(region: import("react-msaview").Region): void;
|
|
932
933
|
zoomToSelection(): void;
|
|
933
934
|
selectBlock(anchor: {
|
|
934
935
|
col: number;
|
|
@@ -1122,11 +1123,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1122
1123
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1123
1124
|
displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1124
1125
|
minimized: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1125
|
-
}, "id" | "type" | "
|
|
1126
|
+
}, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & Omit<Omit<Omit<{}, "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth"> & {
|
|
1126
1127
|
drawLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1127
1128
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1128
|
-
treeAreaWidth: import("@jbrowse/mobx-state-tree").
|
|
1129
|
-
treeWidth: import("@jbrowse/mobx-state-tree").
|
|
1129
|
+
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
1130
|
+
treeWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
1130
1131
|
showBranchLen: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1131
1132
|
treeOrder: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<import("react-msaview").TreeOrder>, [undefined]>;
|
|
1132
1133
|
drawTree: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -1134,13 +1135,12 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1134
1135
|
drawNodeLabels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1135
1136
|
showTreeOverview: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1136
1137
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
1137
|
-
autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1138
1138
|
}, "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats"> & {
|
|
1139
1139
|
bgColor: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1140
1140
|
colorSchemeName: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1141
1141
|
customColorScheme: import("@jbrowse/mobx-state-tree").IType<Record<string, string> | undefined, Record<string, string> | undefined, Record<string, string> | undefined>;
|
|
1142
1142
|
showColumnStats: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
1143
|
-
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("
|
|
1143
|
+
msaFormat: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<import("react-msaview").MSAFormat>>;
|
|
1144
1144
|
}, "id" | "type" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & {
|
|
1145
1145
|
id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
1146
1146
|
showDomains: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -1523,16 +1523,16 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1523
1523
|
dataStoreId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
|
|
1524
1524
|
launchCompleted: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
1525
1525
|
mafRegion: import("@jbrowse/mobx-state-tree").IType<MafRegion | undefined, MafRegion | undefined, MafRegion | undefined>;
|
|
1526
|
-
}>, "id" | "type" | "
|
|
1526
|
+
}>, "id" | "type" | "drawLabels" | "drawNodeBubbles" | "drawNodeLabels" | "drawTree" | "labelsAlignRight" | "overviewHeight" | "showBranchLen" | "showTreeOverview" | "treeAreaWidth" | "treeOrder" | "treeWidth" | "bgColor" | "colorSchemeName" | "customColorScheme" | "msaFormat" | "showColumnStats" | "allowedGappyness" | "clades" | "colWidth" | "collapsed" | "columnTracks" | "currentAlignment" | "data" | "drawMsaLetters" | "encodings" | "features" | "gffFilehandle" | "height" | "hideGaps" | "highlightColumns" | "highlights" | "msaFilehandle" | "region" | "relativeTo" | "residueMappings" | "rotated" | "rowHeight" | "rowPanels" | "scrollX" | "scrollY" | "scrollZoom" | "scrollZoomAxis" | "selection" | "showDomainLegend" | "showDomains" | "showOnly" | "subFeatureRows" | "trackHeights" | "treeFilehandle" | "treeMetadataFilehandle" | "treeRoot" | "turnedOffFeatures" | "turnedOffTracks"> & ({
|
|
1527
1527
|
bgColor: boolean;
|
|
1528
1528
|
colorSchemeName: string;
|
|
1529
1529
|
customColorScheme: Record<string, string> | undefined;
|
|
1530
1530
|
showColumnStats: boolean;
|
|
1531
|
-
msaFormat: import("
|
|
1531
|
+
msaFormat: import("react-msaview").MSAFormat | undefined;
|
|
1532
1532
|
drawLabels: boolean;
|
|
1533
1533
|
labelsAlignRight: boolean;
|
|
1534
|
-
treeAreaWidth: number;
|
|
1535
|
-
treeWidth: number;
|
|
1534
|
+
treeAreaWidth: number | undefined;
|
|
1535
|
+
treeWidth: number | undefined;
|
|
1536
1536
|
showBranchLen: boolean;
|
|
1537
1537
|
treeOrder: import("react-msaview").TreeOrder;
|
|
1538
1538
|
drawTree: boolean;
|
|
@@ -1540,7 +1540,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1540
1540
|
drawNodeLabels: boolean;
|
|
1541
1541
|
showTreeOverview: boolean;
|
|
1542
1542
|
overviewHeight: number;
|
|
1543
|
-
autoTreeAreaWidth: boolean;
|
|
1544
1543
|
columnTracks: import("react-msaview").ColumnTrackSpec[];
|
|
1545
1544
|
id: string;
|
|
1546
1545
|
showDomains: boolean;
|
|
@@ -1666,11 +1665,11 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1666
1665
|
colorSchemeName: string;
|
|
1667
1666
|
customColorScheme: Record<string, string> | undefined;
|
|
1668
1667
|
showColumnStats: boolean;
|
|
1669
|
-
msaFormat: import("
|
|
1668
|
+
msaFormat: import("react-msaview").MSAFormat | undefined;
|
|
1670
1669
|
drawLabels: boolean;
|
|
1671
1670
|
labelsAlignRight: boolean;
|
|
1672
|
-
treeAreaWidth: number;
|
|
1673
|
-
treeWidth: number;
|
|
1671
|
+
treeAreaWidth: number | undefined;
|
|
1672
|
+
treeWidth: number | undefined;
|
|
1674
1673
|
showBranchLen: boolean;
|
|
1675
1674
|
treeOrder: import("react-msaview").TreeOrder;
|
|
1676
1675
|
drawTree: boolean;
|
|
@@ -1678,7 +1677,6 @@ export default function stateModelFactory(): import("@jbrowse/mobx-state-tree").
|
|
|
1678
1677
|
drawNodeLabels: boolean;
|
|
1679
1678
|
showTreeOverview: boolean;
|
|
1680
1679
|
overviewHeight: number;
|
|
1681
|
-
autoTreeAreaWidth: boolean;
|
|
1682
1680
|
columnTracks?: undefined;
|
|
1683
1681
|
id: string;
|
|
1684
1682
|
showDomains: boolean;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as l}from"./chunk-6EOYBBT4.js";import{a as i}from"./chunk-DNFD5II2.js";import{a as m}from"./chunk-BX4Z274Q.js";import{a}from"./chunk-J6KYLXRD.js";import{b as r}from"./chunk-FY3BTKY4.js";var e=r(a(),1),o=r(i(),1),t=r(m(),1);function c({onClose:n}){return e.default.createElement(o.Dialog,{open:!0,title:"About",onClose:()=>{n()}},e.default.createElement(t.DialogContent,null,e.default.createElement(t.Typography,null,"MSAView ",l," (",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"https://github.com/gmod/react-msaview"},"Github"),")"),e.default.createElement("ul",null,e.default.createElement("li",null,e.default.createElement(t.Typography,null,"We use some color schemes from the"," ",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),e.default.createElement("li",null,e.default.createElement(t.Typography,null,"See this page for some information on jalview colorings"," ",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),e.default.createElement("li",null,e.default.createElement(t.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),e.default.createElement("li",null,e.default.createElement(t.Typography,null,"See this paper about the flower color scheme"," ",e.default.createElement(t.Link,{target:"_blank",rel:"noopener",href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}export{c as default};
|
|
2
|
+
//# sourceMappingURL=AboutDialog-447TIFAW.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
4
|
-
"sourcesContent": ["import React from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport { DialogContent, Link, Typography } from '@mui/material'\n\nimport { version } from '../../version.ts'\n\nexport default function AboutDialog({ onClose }: { onClose: () => void }) {\n return (\n <Dialog\n open\n title=\"About\"\n onClose={() => {\n onClose()\n }}\n >\n <DialogContent>\n <Typography>\n MSAView {version} (\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/gmod/react-msaview\"\n >\n Github\n </Link>\n )\n </Typography>\n\n <ul>\n <li>\n <Typography>\n We use some color schemes from the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite\"\n >\n biotite\n </Link>{' '}\n project, and their license is reproduced{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some information on jalview colorings{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.jalview.org/help/html/colourSchemes/\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some info on the clustal, cinema, maeditor, and\n lesk color schemes{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"http://www.bioinformatics.nl/~berndb/aacolour.html\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this paper about the flower color scheme{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/\"\n >\n here\n </Link>\n </Typography>\n </li>\n </ul>\n </DialogContent>\n </Dialog>\n )\n}\n"
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["import_react", "import_ui", "import_material", "
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/dialogs/AboutDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport { DialogContent, Link, Typography } from '@mui/material'\n\nimport { version } from '../../version.ts'\n\nexport default function AboutDialog({ onClose }: { onClose: () => void }) {\n return (\n <Dialog\n open\n title=\"About\"\n onClose={() => {\n onClose()\n }}\n >\n <DialogContent>\n <Typography>\n MSAView {version} (\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/gmod/react-msaview\"\n >\n Github\n </Link>\n )\n </Typography>\n\n <ul>\n <li>\n <Typography>\n We use some color schemes from the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite\"\n >\n biotite\n </Link>{' '}\n project, and their license is reproduced{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some information on jalview colorings{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.jalview.org/help/html/colourSchemes/\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this page for some info on the clustal, cinema, maeditor, and\n lesk color schemes{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"http://www.bioinformatics.nl/~berndb/aacolour.html\"\n >\n here\n </Link>\n </Typography>\n </li>\n <li>\n <Typography>\n See this paper about the flower color scheme{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener\"\n href=\"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/\"\n >\n here\n </Link>\n </Typography>\n </li>\n </ul>\n </DialogContent>\n </Dialog>\n )\n}\n"],
|
|
5
|
+
"mappings": "mMAAA,IAAAA,EAAkB,SAElBC,EAAuB,SACvBC,EAAgD,SAIlC,SAAPC,EAA6B,CAAE,QAAAC,CAAO,EAA2B,CACtE,OACE,EAAAC,QAAA,cAAC,SAAM,CACL,KAAI,GACJ,MAAM,QACN,QAAS,IAAK,CACZD,EAAO,CACT,CAAC,EAED,EAAAC,QAAA,cAAC,gBAAa,KACZ,EAAAA,QAAA,cAAC,aAAU,gBACAC,OACT,EAAAD,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,uCAAuC,EAAA,QAAA,OAOhD,EAAAA,QAAA,cAAA,KAAA,KACE,EAAAA,QAAA,cAAA,KAAA,KACE,EAAAA,QAAA,cAAC,aAAU,0CAC0B,IACnC,EAAAA,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,wCAAwC,EAAA,SAAA,EAGvC,+CACiC,IACzC,EAAAA,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,gEAAgE,EAAA,MAAA,CAGhE,CACI,EAEf,EAAAA,QAAA,cAAA,KAAA,KACE,EAAAA,QAAA,cAAC,aAAU,+DAC+C,IACxD,EAAAA,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,kDAAkD,EAAA,MAAA,CAGlD,CACI,EAEf,EAAAA,QAAA,cAAA,KAAA,KACE,EAAAA,QAAA,cAAC,aAAU,4FAEU,IACnB,EAAAA,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,oDAAoD,EAAA,MAAA,CAGpD,CACI,EAEf,EAAAA,QAAA,cAAA,KAAA,KACE,EAAAA,QAAA,cAAC,aAAU,oDACoC,IAC7C,EAAAA,QAAA,cAAC,OAAI,CACH,OAAO,SACP,IAAI,WACJ,KAAK,uDAAuD,EAAA,MAAA,CAGvD,CACI,CACV,CACF,CACS,CAGtB",
|
|
6
|
+
"names": ["import_react", "import_ui", "import_material", "AboutDialog", "onClose", "React", "version"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{g as E}from"./chunk-DEFUNIWW.js";import"./chunk-K55ZVN73.js";import"./chunk-73KAPCJ2.js";import{a as x}from"./chunk-CVLB4VFP.js";import{a as C}from"./chunk-DNFD5II2.js";import{a as w}from"./chunk-BX4Z274Q.js";import{a as y}from"./chunk-J6KYLXRD.js";import{b as i}from"./chunk-FY3BTKY4.js";var e=i(y(),1),c=i(C(),1),t=i(w(),1),d=i(x(),1);async function T(o){let l=await fetch(o);if(!l.ok)throw new Error(`HTTP ${l.status} fetching ${o} ${await l.text()}`);return l.text()}var b=(0,d.observer)(function({handleClose:o,model:l}){let[a,h]=(0,e.useState)(),[r,g]=(0,e.useState)("file"),[s,F]=(0,e.useState)(""),[m,u]=(0,e.useState)(),[v,f]=(0,e.useState)(!1);return e.default.createElement(c.Dialog,{maxWidth:"xl",title:"Open annotation file",onClose:()=>{o()},open:!0},e.default.createElement(t.DialogContent,null,m?e.default.createElement(c.ErrorMessage,{error:m}):null,e.default.createElement(t.Typography,null,"Open a GFF3 file of annotations, such as the one `react-msaview-cli interpro` writes, or the JSON an InterProScan run returns."),e.default.createElement("div",{style:{display:"flex",margin:30}},e.default.createElement(t.FormControl,{component:"fieldset"},e.default.createElement(t.RadioGroup,{value:r,onChange:n=>{g(n.target.value)}},e.default.createElement(t.FormControlLabel,{value:"url",control:e.default.createElement(t.Radio,null),label:"URL"}),e.default.createElement(t.FormControlLabel,{value:"file",control:e.default.createElement(t.Radio,null),label:"File"}))),r==="url"?e.default.createElement("div",null,e.default.createElement(t.Typography,null,"Open an annotation file from a URL"),e.default.createElement(t.TextField,{label:"URL",value:s,onChange:n=>{F(n.target.value)}})):e.default.createElement("div",{style:{paddingTop:20}},e.default.createElement(t.Typography,null,"Open an annotation file from your local drive"),e.default.createElement(t.Button,{variant:"outlined",component:"label"},"Choose File",e.default.createElement("input",{type:"file",hidden:!0,onChange:({target:n})=>{let p=n.files?.[0];p&&h(p)}})),a?e.default.createElement(t.Typography,null,a.name):null))),e.default.createElement(t.DialogActions,null,e.default.createElement(t.Button,{variant:"contained",color:"primary",disabled:v||(r==="file"?!a:!s.trim()),onClick:()=>{(async()=>{f(!0),u(void 0);try{let n=await(r==="file"&&a?a.text():T(s));l.setGFFFilehandle(void 0),l.setGFF(E(n)),l.setShowDomains(!0),o()}catch(n){console.error(n),u(n)}finally{f(!1)}})()}},"Open annotations"),e.default.createElement(t.Button,{variant:"contained",color:"secondary",onClick:()=>{o()}},"Cancel")))}),R=b;export{R as default};
|
|
2
|
+
//# sourceMappingURL=AnnotationFileDialog-S3N5EHHE.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/dialogs/AnnotationFileDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\nimport {\n Button,\n DialogActions,\n DialogContent,\n FormControl,\n FormControlLabel,\n Radio,\n RadioGroup,\n TextField,\n Typography,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\nimport { annotationTextToGFF } from 'msa-parsers'\n\nimport type { MsaViewModel } from '../../model.ts'\n\nasync function fetchText(url: string) {\n const response = await fetch(url)\n if (!response.ok) {\n throw new Error(\n `HTTP ${response.status} fetching ${url} ${await response.text()}`,\n )\n }\n return response.text()\n}\n\nconst AnnotationFileDialog = observer(function ({\n handleClose,\n model,\n}: {\n handleClose: () => void\n model: MsaViewModel\n}) {\n const [file, setFile] = useState<File>()\n const [choice, setChoice] = useState('file')\n const [url, setUrl] = useState('')\n const [error, setError] = useState<unknown>()\n const [loading, setLoading] = useState(false)\n\n // the error is shown here rather than notified: the standalone app and the\n // MSAViewer component have no jbrowse session to notify, and asking one for\n // its notify() threw out of the success path into the catch, which threw\n // again on the same missing session\n return (\n <Dialog\n maxWidth=\"xl\"\n title=\"Open annotation file\"\n onClose={() => {\n handleClose()\n }}\n open\n >\n <DialogContent>\n {error ? <ErrorMessage error={error} /> : null}\n <Typography>\n Open a GFF3 file of annotations, such as the one `react-msaview-cli\n interpro` writes, or the JSON an InterProScan run returns.\n </Typography>\n\n <div style={{ display: 'flex', margin: 30 }}>\n <FormControl component=\"fieldset\">\n <RadioGroup\n value={choice}\n onChange={event => {\n setChoice(event.target.value)\n }}\n >\n <FormControlLabel value=\"url\" control={<Radio />} label=\"URL\" />\n <FormControlLabel value=\"file\" control={<Radio />} label=\"File\" />\n </RadioGroup>\n </FormControl>\n {choice === 'url' ? (\n <div>\n <Typography>Open an annotation file from a URL</Typography>\n <TextField\n label=\"URL\"\n value={url}\n onChange={event => {\n setUrl(event.target.value)\n }}\n />\n </div>\n ) : (\n <div style={{ paddingTop: 20 }}>\n <Typography>\n Open an annotation file from your local drive\n </Typography>\n <Button variant=\"outlined\" component=\"label\">\n Choose File\n <input\n type=\"file\"\n hidden\n onChange={({ target }) => {\n const chosen = target.files?.[0]\n if (chosen) {\n setFile(chosen)\n }\n }}\n />\n </Button>\n {file ? <Typography>{file.name}</Typography> : null}\n </div>\n )}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || (choice === 'file' ? !file : !url.trim())}\n onClick={() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n setLoading(true)\n setError(undefined)\n try {\n const text = await (choice === 'file' && file\n ? file.text()\n : fetchText(url))\n // through the model's own GFF text, so the annotations travel\n // in the snapshot and the shared URL like every other layer. A\n // filehandle left set would make the snapshot drop that text\n model.setGFFFilehandle(undefined)\n model.setGFF(annotationTextToGFF(text))\n model.setShowDomains(true)\n handleClose()\n } catch (e) {\n console.error(e)\n setError(e)\n } finally {\n setLoading(false)\n }\n })()\n }}\n >\n Open annotations\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n handleClose()\n }}\n >\n Cancel\n </Button>\n </DialogActions>\n </Dialog>\n )\n})\n\nexport default AnnotationFileDialog\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_ui", "import_material", "import_mobx_react", "fetchText", "url", "response", "AnnotationFileDialog", "handleClose", "model", "file", "setFile", "choice", "setChoice", "setUrl", "error", "setError", "loading", "setLoading", "React", "event", "target", "chosen", "text", "annotationTextToGFF", "e", "AnnotationFileDialog_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as p}from"./chunk-ERCMNTEQ.js";import{X as v,Y as y}from"./chunk-OVAXNTPN.js";import{a as L}from"./chunk-CVLB4VFP.js";import{a as D}from"./chunk-DNFD5II2.js";import{a as V}from"./chunk-BX4Z274Q.js";import{a as I}from"./chunk-J6KYLXRD.js";import{b as l}from"./chunk-FY3BTKY4.js";var t=l(I(),1),i=l(D(),1),e=l(V(),1),k=l(L(),1);function z(r){requestAnimationFrame(()=>{requestAnimationFrame(r)})}var P=(0,k.observer)(function({model:r,onClose:c}){let[s,C]=(0,t.useState)(!0),[n,T]=(0,t.useState)(!0),[o,b]=(0,t.useState)("viewport"),[E,w]=(0,t.useState)(),[m,h]=(0,t.useState)(!1),d=(0,e.useTheme)(),{turnedOnTracks:M,numColumns:S,leaves:A,showMsaLetters:F}=r,g=M.length>0,x=y(r,v(r,{theme:d,exportType:"entire",includeTracks:n})),f=F&&o==="entire"?S*A.length:0,G=f>1e5;return t.default.createElement(i.Dialog,{onClose:()=>{c()},open:!0,title:"Export SVG"},t.default.createElement(e.DialogContent,null,E?t.default.createElement(i.ErrorMessage,{error:E}):null,t.default.createElement(e.Typography,null,"Settings:"),t.default.createElement(p,{label:"Include minimap?",disabled:o==="entire",checked:s,onChange:()=>{C(!s)}}),g?t.default.createElement(p,{label:"Include tracks?",checked:n,onChange:()=>{T(!n)}}):null,t.default.createElement("div",null,t.default.createElement(e.FormControl,null,t.default.createElement(e.FormLabel,null,"Export type"),t.default.createElement(e.RadioGroup,{value:o,onChange:a=>{let{value:u}=a.target;(u==="entire"||u==="viewport")&&b(u)}},t.default.createElement(e.FormControlLabel,{value:"entire",control:t.default.createElement(e.Radio,null),label:"Entire MSA"}),t.default.createElement(e.FormControlLabel,{value:"viewport",control:t.default.createElement(e.Radio,null),label:"Current viewport only"})))),G?t.default.createElement(e.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is ",Math.round(x.width),"x",Math.round(x.height)," pixels and draws"," ",Math.round(f/1e3),"k residue letters, each its own SVG element. Export may be slow or fail \u2014 zooming out far enough to hide the letters exports the same alignment as an image instead."):null),t.default.createElement(e.DialogActions,null,t.default.createElement(e.Button,{variant:"contained",color:"primary",disabled:m,startIcon:m?t.default.createElement(e.CircularProgress,{size:16,color:"inherit"}):null,onClick:()=>{h(!0),z(()=>{r.exportSVG({theme:d,includeMinimap:s,includeTracks:g&&n,exportType:o}).then(()=>{c()}).catch(a=>{console.error(a),w(a)}).finally(()=>{h(!1)})})}},m?"Exporting\u2026":"Export"),t.default.createElement(e.Button,{variant:"contained",color:"secondary",onClick:()=>{c()}},"Cancel")))}),B=P;export{B as default};
|
|
2
|
+
//# sourceMappingURL=ExportSVGDialog-7ZHKKQ7W.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/dialogs/ExportSVGDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog, ErrorMessage } from '@jbrowse/core/ui'\nimport {\n Alert,\n Button,\n CircularProgress,\n DialogActions,\n DialogContent,\n FormControl,\n FormControlLabel,\n FormLabel,\n Radio,\n RadioGroup,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport { exportPageSize, getLayout } from '../../exportLayout.ts'\nimport Checkbox2 from '../Checkbox2.tsx'\n\nimport type { MsaViewModel } from '../../model.ts'\n\n// Run after the browser has painted. A requestAnimationFrame callback still\n// runs *before* the frame it was queued for, so one alone hands the main thread\n// to the render with the spinner not yet on screen; the second fires once that\n// frame is out.\nfunction afterPaint(fn: () => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn)\n })\n}\n\nconst ExportSVGDialog = observer(function ({\n model,\n onClose,\n}: {\n model: MsaViewModel\n onClose: () => void\n}) {\n const [includeMinimap, setIncludeMinimap] = useState(true)\n const [includeTracks, setIncludeTracks] = useState(true)\n const [exportType, setExportType] = useState<'entire' | 'viewport'>(\n 'viewport',\n )\n const [error, setError] = useState<unknown>()\n const [exporting, setExporting] = useState(false)\n const theme = useTheme()\n const { turnedOnTracks, numColumns, leaves, showMsaLetters } = model\n const hasTracks = turnedOnTracks.length > 0\n const entire = exportPageSize(\n model,\n getLayout(model, { theme, exportType: 'entire', includeTracks }),\n )\n // the background is one raster image whatever its size, so what the figure\n // actually costs is its residue letters: each is an svg element of its own.\n // Past roughly this many the export runs to tens of seconds and can exhaust\n // the tab's memory outright\n const glyphs =\n showMsaLetters && exportType === 'entire' ? numColumns * leaves.length : 0\n const isLargeExport = glyphs > 100_000\n return (\n <Dialog\n onClose={() => {\n onClose()\n }}\n open\n title=\"Export SVG\"\n >\n <DialogContent>\n {error ? <ErrorMessage error={error} /> : null}\n <Typography>Settings:</Typography>\n <Checkbox2\n label=\"Include minimap?\"\n disabled={exportType === 'entire'}\n checked={includeMinimap}\n onChange={() => {\n setIncludeMinimap(!includeMinimap)\n }}\n />\n {hasTracks ? (\n <Checkbox2\n label=\"Include tracks?\"\n checked={includeTracks}\n onChange={() => {\n setIncludeTracks(!includeTracks)\n }}\n />\n ) : null}\n <div>\n <FormControl>\n <FormLabel>Export type</FormLabel>\n <RadioGroup\n value={exportType}\n onChange={event => {\n const { value } = event.target\n if (value === 'entire' || value === 'viewport') {\n setExportType(value)\n }\n }}\n >\n <FormControlLabel\n value=\"entire\"\n control={<Radio />}\n label=\"Entire MSA\"\n />\n <FormControlLabel\n value=\"viewport\"\n control={<Radio />}\n label=\"Current viewport only\"\n />\n </RadioGroup>\n </FormControl>\n </div>\n {isLargeExport ? (\n <Alert severity=\"warning\" style={{ marginTop: 8 }}>\n The entire MSA is {Math.round(entire.width)}x\n {Math.round(entire.height)} pixels and draws{' '}\n {Math.round(glyphs / 1000)}k residue letters, each its own SVG\n element. Export may be slow or fail \u2014 zooming out far enough to hide\n the letters exports the same alignment as an image instead.\n </Alert>\n ) : null}\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n // rendering runs on the main thread and a large figure holds it for\n // seconds; without this the button stays live through the freeze and\n // a second click starts a second export\n disabled={exporting}\n startIcon={\n exporting ? <CircularProgress size={16} color=\"inherit\" /> : null\n }\n onClick={() => {\n setExporting(true)\n afterPaint(() => {\n void model\n .exportSVG({\n theme,\n includeMinimap,\n includeTracks: hasTracks && includeTracks,\n exportType,\n })\n .then(() => {\n onClose()\n })\n .catch((e: unknown) => {\n console.error(e)\n setError(e)\n })\n .finally(() => {\n setExporting(false)\n })\n })\n }}\n >\n {exporting ? 'Exporting\u2026' : 'Export'}\n </Button>\n <Button\n variant=\"contained\"\n color=\"secondary\"\n onClick={() => {\n onClose()\n }}\n >\n Cancel\n </Button>\n </DialogActions>\n </Dialog>\n )\n})\n\nexport default ExportSVGDialog\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_ui", "import_material", "import_mobx_react", "afterPaint", "fn", "ExportSVGDialog", "model", "onClose", "includeMinimap", "setIncludeMinimap", "includeTracks", "setIncludeTracks", "exportType", "setExportType", "error", "setError", "exporting", "setExporting", "theme", "turnedOnTracks", "numColumns", "leaves", "showMsaLetters", "hasTracks", "entire", "exportPageSize", "getLayout", "glyphs", "isLargeExport", "React", "Checkbox2", "event", "value", "e", "ExportSVGDialog_default"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{a as C}from"./chunk-CVLB4VFP.js";import{a as F}from"./chunk-DNFD5II2.js";import{a as k}from"./chunk-BX4Z274Q.js";import{a as T}from"./chunk-J6KYLXRD.js";import{b as c}from"./chunk-FY3BTKY4.js";var e=c(T(),1),p=c(F(),1),t=c(k(),1),s=c(C(),1);function w(n,a){return[n.accession,n.name,n.description].some(o=>o?.toLowerCase().includes(a))}var x=(0,s.observer)(function({model:n,accessions:a}){let o=u=>{for(let m of a)n.setFilter(m,u)};return e.default.createElement("div",null,e.default.createElement(t.Button,{onClick:()=>{o(!0)}},"Toggle all on"),e.default.createElement(t.Button,{onClick:()=>{o(!1)}},"Toggle all off"))}),v=(0,s.observer)(function({model:n}){let{annotationTypes:a,annotations:o,featureColors:u,fillPalette:m}=n,[f,h]=(0,e.useState)(""),g=f.trim().toLowerCase(),d=[...a.values()].filter(l=>!g||w(l,g)),i=new Map,E=new Map;for(let l of o){let{accession:r}=l;i.set(r,(i.get(r)??0)+1),E.has(r)||E.set(r,u.get(l)?.fill??m[r])}return e.default.createElement(e.default.Fragment,null,e.default.createElement(t.TextField,{label:"Filter",size:"small",value:f,onChange:l=>{h(l.target.value)}}),e.default.createElement(x,{model:n,accessions:d.map(l=>l.accession)}),e.default.createElement(t.Table,{size:"small"},e.default.createElement(t.TableHead,null,e.default.createElement(t.TableRow,null,e.default.createElement(t.TableCell,{padding:"checkbox"}),e.default.createElement(t.TableCell,null,"color"),e.default.createElement(t.TableCell,null,"accession"),e.default.createElement(t.TableCell,null,"name"),e.default.createElement(t.TableCell,null,"count"),e.default.createElement(t.TableCell,null,"description"))),e.default.createElement(t.TableBody,null,d.map(({accession:l,name:r,description:b})=>e.default.createElement(t.TableRow,{key:l},e.default.createElement(t.TableCell,{padding:"checkbox"},e.default.createElement(t.Checkbox,{checked:!n.turnedOffFeatures.get(l),onChange:()=>{n.setFilter(l,!!n.turnedOffFeatures.get(l))}})),e.default.createElement(t.TableCell,null,e.default.createElement("div",{style:{width:20,height:20,background:E.get(l)}})),e.default.createElement(t.TableCell,null,l),e.default.createElement(t.TableCell,null,r),e.default.createElement(t.TableCell,null,i.get(l)),e.default.createElement(t.TableCell,null,b))))))}),y=(0,s.observer)(function({onClose:n,model:a}){return e.default.createElement(p.Dialog,{onClose:()=>{n()},open:!0,title:"Feature filters",maxWidth:"xl"},e.default.createElement(t.DialogContent,null,e.default.createElement(v,{model:a})))}),D=y;export{D as default};
|
|
2
|
-
//# sourceMappingURL=FeatureDialog-
|
|
2
|
+
//# sourceMappingURL=FeatureDialog-EEOGSLOG.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/.pnpm/react-msaview@
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/dialogs/FeatureDialog.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useState } from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport {\n Button,\n Checkbox,\n DialogContent,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TextField,\n} from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport type { MsaViewModel } from '../../model.ts'\nimport type { Annotation } from '../../types.ts'\n\nfunction matches(type: Annotation, query: string) {\n return [type.accession, type.name, type.description].some(field =>\n field?.toLowerCase().includes(query),\n )\n}\n\nconst Toggles = observer(function ({\n model,\n accessions,\n}: {\n model: MsaViewModel\n accessions: string[]\n}) {\n const setAll = (shown: boolean) => {\n for (const accession of accessions) {\n model.setFilter(accession, shown)\n }\n }\n return (\n <div>\n <Button\n onClick={() => {\n setAll(true)\n }}\n >\n Toggle all on\n </Button>\n\n <Button\n onClick={() => {\n setAll(false)\n }}\n >\n Toggle all off\n </Button>\n </div>\n )\n})\n\nconst FeatureTable = observer(function ({ model }: { model: MsaViewModel }) {\n const { annotationTypes, annotations, featureColors, fillPalette } = model\n const [query, setQuery] = useState('')\n const needle = query.trim().toLowerCase()\n const types = [...annotationTypes.values()].filter(\n type => !needle || matches(type, needle),\n )\n const counts = new Map<string, number>()\n const swatches = new Map<string, string>()\n for (const annot of annotations) {\n const { accession } = annot\n counts.set(accession, (counts.get(accession) ?? 0) + 1)\n if (!swatches.has(accession)) {\n swatches.set(\n accession,\n featureColors.get(annot)?.fill ?? fillPalette[accession]!,\n )\n }\n }\n return (\n <>\n <TextField\n label=\"Filter\"\n size=\"small\"\n value={query}\n onChange={event => {\n setQuery(event.target.value)\n }}\n />\n <Toggles model={model} accessions={types.map(t => t.accession)} />\n <Table size=\"small\">\n <TableHead>\n <TableRow>\n <TableCell padding=\"checkbox\" />\n <TableCell>color</TableCell>\n <TableCell>accession</TableCell>\n <TableCell>name</TableCell>\n <TableCell>count</TableCell>\n <TableCell>description</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {types.map(({ accession, name, description }) => (\n <TableRow key={accession}>\n <TableCell padding=\"checkbox\">\n <Checkbox\n checked={!model.turnedOffFeatures.get(accession)}\n onChange={() => {\n model.setFilter(\n accession,\n !!model.turnedOffFeatures.get(accession),\n )\n }}\n />\n </TableCell>\n <TableCell>\n <div\n style={{\n width: 20,\n height: 20,\n background: swatches.get(accession),\n }}\n />\n </TableCell>\n <TableCell>{accession}</TableCell>\n <TableCell>{name}</TableCell>\n <TableCell>{counts.get(accession)}</TableCell>\n <TableCell>{description}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </>\n )\n})\n\nconst FeatureTypeDialog = observer(function ({\n onClose,\n model,\n}: {\n onClose: () => void\n model: MsaViewModel\n}) {\n return (\n <Dialog\n onClose={() => {\n onClose()\n }}\n open\n title=\"Feature filters\"\n maxWidth=\"xl\"\n >\n <DialogContent>\n <FeatureTable model={model} />\n </DialogContent>\n </Dialog>\n )\n})\n\nexport default FeatureTypeDialog\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["import_react", "import_ui", "import_material", "import_mobx_react", "matches", "type", "query", "field", "Toggles", "model", "accessions", "setAll", "shown", "accession", "React", "FeatureTable", "annotationTypes", "annotations", "featureColors", "fillPalette", "setQuery", "needle", "types", "counts", "swatches", "annot", "event", "t", "name", "description", "FeatureTypeDialog", "onClose", "FeatureDialog_default"]
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as n}from"./chunk-6EOYBBT4.js";import{a as i,b as m}from"./chunk-TSHN6J7U.js";import{a as E}from"./chunk-DNFD5II2.js";import{a as b}from"./chunk-BX4Z274Q.js";import{a as p}from"./chunk-J6KYLXRD.js";import{b as a}from"./chunk-FY3BTKY4.js";var e=a(p(),1),u=a(E(),1),t=a(b(),1);var f=(0,e.lazy)(()=>import("./AboutDialog-447TIFAW.js"));function c({title:o,rows:l}){return e.default.createElement(e.default.Fragment,null,e.default.createElement(t.Typography,{variant:"subtitle2",sx:{mt:1}},o),e.default.createElement(t.Table,{size:"small","aria-label":o},e.default.createElement(t.TableBody,null,l.map(({label:r,action:s})=>e.default.createElement(t.TableRow,{key:r},e.default.createElement(t.TableCell,{sx:{whiteSpace:"nowrap",fontWeight:500}},r),e.default.createElement(t.TableCell,null,s))))))}function g({model:o,onClose:l}){return e.default.createElement(u.Dialog,{open:!0,title:"Mouse & keyboard",onClose:l},e.default.createElement(t.DialogContent,null,e.default.createElement(c,{title:"Mouse",rows:m}),e.default.createElement(c,{title:"Keyboard (click the alignment first)",rows:i})),e.default.createElement(t.DialogActions,null,e.default.createElement(t.Typography,{variant:"caption",sx:{mr:"auto",pl:1}},"MSAView ",n),e.default.createElement(t.Button,{onClick:()=>{o.queueDialog(r=>[f,{onClose:r}]),l()}},"About & credits"),e.default.createElement(t.Button,{variant:"contained",onClick:l},"Close")))}export{g as default};
|
|
2
|
+
//# sourceMappingURL=HelpDialog-TCWNBZOV.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/dialogs/HelpDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { lazy } from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport {\n Button,\n DialogActions,\n DialogContent,\n Table,\n TableBody,\n TableCell,\n TableRow,\n Typography,\n} from '@mui/material'\n\nimport { version } from '../../version.ts'\nimport { keyboardControls, mouseControls } from '../controls.ts'\n\nimport type { MsaViewModel } from '../../model.ts'\nimport type { Control } from '../controls.ts'\n\nconst AboutDialog = lazy(() => import('./AboutDialog.tsx'))\n\nfunction ControlTable({ title, rows }: { title: string; rows: Control[] }) {\n return (\n <>\n <Typography variant=\"subtitle2\" sx={{ mt: 1 }}>\n {title}\n </Typography>\n <Table size=\"small\" aria-label={title}>\n <TableBody>\n {rows.map(({ label, action }) => (\n <TableRow key={label}>\n <TableCell sx={{ whiteSpace: 'nowrap', fontWeight: 500 }}>\n {label}\n </TableCell>\n <TableCell>{action}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </>\n )\n}\n\nexport default function HelpDialog({\n model,\n onClose,\n}: {\n model: MsaViewModel\n onClose: () => void\n}) {\n return (\n <Dialog open title=\"Mouse & keyboard\" onClose={onClose}>\n <DialogContent>\n <ControlTable title=\"Mouse\" rows={mouseControls} />\n <ControlTable\n title=\"Keyboard (click the alignment first)\"\n rows={keyboardControls}\n />\n </DialogContent>\n <DialogActions>\n <Typography variant=\"caption\" sx={{ mr: 'auto', pl: 1 }}>\n MSAView {version}\n </Typography>\n <Button\n onClick={() => {\n model.queueDialog(done => [AboutDialog, { onClose: done }])\n onClose()\n }}\n >\n About & credits\n </Button>\n <Button variant=\"contained\" onClick={onClose}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n"],
|
|
5
|
+
"mappings": "uPAAA,IAAAA,EAA4B,SAE5BC,EAAuB,SACvBC,EASO,SAQP,IAAMC,KAAc,QAAK,IAAM,OAAO,2BAAmB,CAAC,EAE1D,SAASC,EAAa,CAAE,MAAAC,EAAO,KAAAC,CAAI,EAAsC,CACvE,OACE,EAAAC,QAAA,cAAA,EAAAA,QAAA,SAAA,KACE,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,YAAY,GAAI,CAAE,GAAI,CAAC,CAAE,EAC1CF,CAAK,EAER,EAAAE,QAAA,cAAC,QAAK,CAAC,KAAK,QAAO,aAAaF,CAAK,EACnC,EAAAE,QAAA,cAAC,YAAS,KACPD,EAAK,IAAI,CAAC,CAAE,MAAAE,EAAO,OAAAC,CAAM,IACxB,EAAAF,QAAA,cAAC,WAAQ,CAAC,IAAKC,CAAK,EAClB,EAAAD,QAAA,cAAC,YAAS,CAAC,GAAI,CAAE,WAAY,SAAU,WAAY,GAAG,CAAE,EACrDC,CAAK,EAER,EAAAD,QAAA,cAAC,YAAS,KAAEE,CAAM,CAAa,CAElC,CAAC,CACQ,CACN,CAGd,CAEc,SAAPC,EAA4B,CACjC,MAAAC,EACA,QAAAC,CAAO,EAIR,CACC,OACE,EAAAL,QAAA,cAAC,SAAM,CAAC,KAAI,GAAC,MAAM,mBAAmB,QAASK,CAAO,EACpD,EAAAL,QAAA,cAAC,gBAAa,KACZ,EAAAA,QAAA,cAACH,EAAY,CAAC,MAAM,QAAQ,KAAMS,CAAa,CAAA,EAC/C,EAAAN,QAAA,cAACH,EAAY,CACX,MAAM,uCACN,KAAMU,CAAgB,CAAA,CACtB,EAEJ,EAAAP,QAAA,cAAC,gBAAa,KACZ,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,UAAU,GAAI,CAAE,GAAI,OAAQ,GAAI,CAAC,CAAE,aAC5CQ,CAAO,EAElB,EAAAR,QAAA,cAAC,SAAM,CACL,QAAS,IAAK,CACZI,EAAM,YAAYK,GAAQ,CAACb,EAAa,CAAE,QAASa,CAAI,CAAE,CAAC,EAC1DJ,EAAO,CACT,CAAC,EAAA,iBAAA,EAIH,EAAAL,QAAA,cAAC,SAAM,CAAC,QAAQ,YAAY,QAASK,CAAO,EAAA,OAAA,CAEnC,CACK,CAGtB",
|
|
6
|
+
"names": ["import_react", "import_ui", "import_material", "AboutDialog", "ControlTable", "title", "rows", "React", "label", "action", "HelpDialog", "model", "onClose", "mouseControls", "keyboardControls", "version", "done"]
|
|
7
|
+
}
|