jbrowse-plugin-msaview 1.0.18 → 2.0.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/CHANGELOG.md +6 -4
- package/README.md +6 -4
- package/dist/AddHighlightModel/GenomeMouseoverHighlight.d.ts +6 -0
- package/dist/AddHighlightModel/GenomeMouseoverHighlight.js +30 -0
- package/dist/AddHighlightModel/GenomeMouseoverHighlight.js.map +1 -0
- package/dist/AddHighlightModel/HighlightComponents.d.ts +7 -0
- package/dist/AddHighlightModel/HighlightComponents.js +12 -0
- package/dist/AddHighlightModel/HighlightComponents.js.map +1 -0
- package/dist/AddHighlightModel/MsaToGenomeHighlight.d.ts +7 -0
- package/dist/AddHighlightModel/MsaToGenomeHighlight.js +26 -0
- package/dist/AddHighlightModel/MsaToGenomeHighlight.js.map +1 -0
- package/dist/AddHighlightModel/index.d.ts +2 -0
- package/dist/AddHighlightModel/index.js +14 -0
- package/dist/AddHighlightModel/index.js.map +1 -0
- package/dist/AddHighlightModel/util.d.ts +9 -0
- package/dist/AddHighlightModel/util.js +14 -0
- package/dist/AddHighlightModel/util.js.map +1 -0
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +7 -0
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +20 -0
- package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.d.ts +8 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.js +76 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.d.ts +26 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.js +48 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.d.ts +2 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.js +3 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.d.ts +8 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.js +17 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.d.ts +20 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.js +64 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.js.map +1 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.d.ts +5 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.js +7 -0
- package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.d.ts +8 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +90 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.d.ts +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js +12 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +9 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js +36 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -0
- package/dist/LaunchMsaView/components/TabUtils.d.ts +12 -0
- package/dist/LaunchMsaView/components/TabUtils.js +13 -0
- package/dist/LaunchMsaView/components/TabUtils.js.map +1 -0
- package/dist/LaunchMsaView/index.d.ts +2 -0
- package/dist/LaunchMsaView/index.js +50 -0
- package/dist/LaunchMsaView/index.js.map +1 -0
- package/dist/LaunchMsaView/util.d.ts +5 -0
- package/dist/LaunchMsaView/util.js +25 -0
- package/dist/LaunchMsaView/util.js.map +1 -0
- package/dist/MsaViewPanel/components/LoadingBLAST.d.ts +6 -0
- package/dist/MsaViewPanel/components/LoadingBLAST.js +36 -0
- package/dist/MsaViewPanel/components/LoadingBLAST.js.map +1 -0
- package/dist/MsaViewPanel/components/MsaViewPanel.d.ts +6 -0
- package/dist/MsaViewPanel/components/MsaViewPanel.js +10 -0
- package/dist/MsaViewPanel/components/MsaViewPanel.js.map +1 -0
- package/dist/MsaViewPanel/components/RIDLink.d.ts +5 -0
- package/dist/MsaViewPanel/components/RIDLink.js +17 -0
- package/dist/MsaViewPanel/components/RIDLink.js.map +1 -0
- package/dist/MsaViewPanel/doLaunchBlast.d.ts +7 -0
- package/dist/MsaViewPanel/doLaunchBlast.js +27 -0
- package/dist/MsaViewPanel/doLaunchBlast.js.map +1 -0
- package/dist/MsaViewPanel/genomeToMSA.d.ts +4 -0
- package/dist/MsaViewPanel/genomeToMSA.js +18 -0
- package/dist/MsaViewPanel/genomeToMSA.js.map +1 -0
- package/dist/MsaViewPanel/index.d.ts +2 -0
- package/dist/MsaViewPanel/index.js +16 -0
- package/dist/MsaViewPanel/index.js.map +1 -0
- package/dist/MsaViewPanel/model.d.ts +596 -0
- package/dist/MsaViewPanel/model.js +235 -0
- package/dist/MsaViewPanel/model.js.map +1 -0
- package/dist/MsaViewPanel/msaCoordToGenomeCoord.d.ts +9 -0
- package/dist/MsaViewPanel/msaCoordToGenomeCoord.js +20 -0
- package/dist/MsaViewPanel/msaCoordToGenomeCoord.js.map +1 -0
- package/dist/MsaViewPanel/util.d.ts +8 -0
- package/dist/MsaViewPanel/util.js +7 -0
- package/dist/MsaViewPanel/util.js.map +1 -0
- package/dist/OpenInNewIcon.d.ts +3 -0
- package/dist/OpenInNewIcon.js +8 -0
- package/dist/OpenInNewIcon.js.map +1 -0
- package/dist/TextField2.d.ts +4 -0
- package/dist/TextField2.js +8 -0
- package/dist/TextField2.js.map +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +32 -7
- package/dist/index.js.map +1 -0
- package/dist/jbrowse-plugin-msaview.umd.production.min.js +109 -1
- package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +7 -1
- package/dist/utils/fetch.d.ts +4 -0
- package/dist/utils/fetch.js +19 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/msa.d.ts +8 -0
- package/dist/utils/msa.js +75 -0
- package/dist/utils/msa.js.map +1 -0
- package/dist/utils/ncbiBlast.d.ts +20 -0
- package/dist/utils/ncbiBlast.js +66 -0
- package/dist/utils/ncbiBlast.js.map +1 -0
- package/package.json +51 -40
- package/src/AddHighlightModel/GenomeMouseoverHighlight.tsx +44 -0
- package/src/AddHighlightModel/HighlightComponents.tsx +24 -0
- package/src/AddHighlightModel/MsaToGenomeHighlight.tsx +50 -0
- package/src/AddHighlightModel/index.tsx +27 -0
- package/src/AddHighlightModel/util.ts +14 -0
- package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +52 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.tsx +160 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.ts +92 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/index.tsx +2 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.ts +28 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.ts +85 -0
- package/src/LaunchMsaView/components/NewNCBIBlastQuery/util.ts +7 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +149 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.ts +13 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +54 -0
- package/src/LaunchMsaView/components/TabUtils.tsx +30 -0
- package/src/LaunchMsaView/index.ts +61 -0
- package/src/LaunchMsaView/util.ts +30 -0
- package/src/MsaViewPanel/components/LoadingBLAST.tsx +59 -0
- package/src/MsaViewPanel/components/MsaViewPanel.tsx +22 -0
- package/src/MsaViewPanel/components/RIDLink.tsx +18 -0
- package/src/MsaViewPanel/doLaunchBlast.ts +38 -0
- package/src/MsaViewPanel/genomeToMSA.ts +21 -0
- package/src/MsaViewPanel/index.ts +19 -0
- package/src/MsaViewPanel/model.ts +290 -0
- package/src/MsaViewPanel/msaCoordToGenomeCoord.ts +29 -0
- package/src/MsaViewPanel/util.ts +13 -0
- package/src/OpenInNewIcon.tsx +11 -0
- package/src/TextField2.tsx +12 -0
- package/src/index.ts +12 -14
- package/src/utils/fetch.ts +25 -0
- package/src/utils/msa.ts +111 -0
- package/src/utils/ncbiBlast.ts +105 -0
- package/dist/config.json +0 -8
- package/dist/jbrowse-plugin-msaview.cjs.development.js +0 -168
- package/dist/jbrowse-plugin-msaview.cjs.development.js.map +0 -1
- package/dist/jbrowse-plugin-msaview.cjs.production.min.js +0 -2
- package/dist/jbrowse-plugin-msaview.cjs.production.min.js.map +0 -1
- package/dist/jbrowse-plugin-msaview.esm.js +0 -163
- package/dist/jbrowse-plugin-msaview.esm.js.map +0 -1
- package/dist/jbrowse-plugin-msaview.umd.development.js +0 -8659
- package/dist/jbrowse-plugin-msaview.umd.development.js.map +0 -1
- package/src/index.test.ts +0 -3
package/src/utils/msa.ts
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { textfetch, timeout } from './fetch'
|
|
2
|
+
|
|
3
|
+
const base = `https://www.ebi.ac.uk/Tools/services/rest`
|
|
4
|
+
|
|
5
|
+
async function runClustalOmega({
|
|
6
|
+
sequence,
|
|
7
|
+
onProgress,
|
|
8
|
+
}: {
|
|
9
|
+
sequence: string
|
|
10
|
+
onProgress: (arg: string) => void
|
|
11
|
+
}) {
|
|
12
|
+
const jobId = await textfetch(`${base}/clustalo/run`, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
body: new URLSearchParams({
|
|
15
|
+
email: 'colin.diesh@gmail.com',
|
|
16
|
+
sequence,
|
|
17
|
+
}),
|
|
18
|
+
})
|
|
19
|
+
await wait({ jobId, algorithm: 'clustalo', onProgress })
|
|
20
|
+
return {
|
|
21
|
+
msa: await textfetch(`${base}/clustalo/result/${jobId}/aln-clustal_num`),
|
|
22
|
+
tree: await textfetch(`${base}/clustalo/result/${jobId}/phylotree`),
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async function runMuscle({
|
|
27
|
+
sequence,
|
|
28
|
+
onProgress,
|
|
29
|
+
}: {
|
|
30
|
+
sequence: string
|
|
31
|
+
onProgress: (arg: string) => void
|
|
32
|
+
}) {
|
|
33
|
+
const jobId = await textfetch(`${base}/muscle/run`, {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
body: new URLSearchParams({
|
|
36
|
+
email: 'colin.diesh@gmail.com',
|
|
37
|
+
format: 'clw',
|
|
38
|
+
tree: 'tree1',
|
|
39
|
+
sequence,
|
|
40
|
+
}),
|
|
41
|
+
})
|
|
42
|
+
await wait({ jobId, algorithm: 'muscle', onProgress })
|
|
43
|
+
return {
|
|
44
|
+
msa: await textfetch(`${base}/muscle/result/${jobId}/fa`),
|
|
45
|
+
tree: await textfetch(`${base}/muscle/result/${jobId}/phylotree`),
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async function runKalign({
|
|
50
|
+
sequence,
|
|
51
|
+
onProgress,
|
|
52
|
+
}: {
|
|
53
|
+
sequence: string
|
|
54
|
+
onProgress: (arg: string) => void
|
|
55
|
+
}) {
|
|
56
|
+
const jobId = await textfetch(`${base}/kalign/run`, {
|
|
57
|
+
method: 'POST',
|
|
58
|
+
body: new URLSearchParams({
|
|
59
|
+
email: 'colin.diesh@gmail.com',
|
|
60
|
+
stype: 'protein',
|
|
61
|
+
sequence,
|
|
62
|
+
}),
|
|
63
|
+
})
|
|
64
|
+
await wait({ jobId, algorithm: 'kalign', onProgress })
|
|
65
|
+
return {
|
|
66
|
+
msa: await textfetch(`${base}/kalign/result/${jobId}/fa`),
|
|
67
|
+
tree: await textfetch(`${base}/kalign/result/${jobId}/phylotree`),
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function wait({
|
|
71
|
+
onProgress,
|
|
72
|
+
jobId,
|
|
73
|
+
algorithm,
|
|
74
|
+
}: {
|
|
75
|
+
jobId: string
|
|
76
|
+
algorithm: string
|
|
77
|
+
onProgress: (arg: string) => void
|
|
78
|
+
}) {
|
|
79
|
+
while (true) {
|
|
80
|
+
for (let i = 0; i < 10; i++) {
|
|
81
|
+
await timeout(1000)
|
|
82
|
+
onProgress(`Re-checking MSA status in... ${10 - i}`)
|
|
83
|
+
}
|
|
84
|
+
const result = await textfetch(`${base}/${algorithm}/status/${jobId}`)
|
|
85
|
+
|
|
86
|
+
if (result === 'FINISHED') {
|
|
87
|
+
break
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export async function launchMSA({
|
|
93
|
+
algorithm,
|
|
94
|
+
sequence,
|
|
95
|
+
onProgress,
|
|
96
|
+
}: {
|
|
97
|
+
algorithm: string
|
|
98
|
+
sequence: string
|
|
99
|
+
onProgress: (arg: string) => void
|
|
100
|
+
}) {
|
|
101
|
+
onProgress(`Launching ${algorithm} MSA...`)
|
|
102
|
+
if (algorithm === 'clustalo') {
|
|
103
|
+
return runClustalOmega({ sequence, onProgress })
|
|
104
|
+
} else if (algorithm === 'muscle') {
|
|
105
|
+
return runMuscle({ sequence, onProgress })
|
|
106
|
+
} else if (algorithm === 'kalign') {
|
|
107
|
+
return runKalign({ sequence, onProgress })
|
|
108
|
+
} else {
|
|
109
|
+
throw new Error('unknown algorithm')
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsonfetch, textfetch, timeout } from './fetch'
|
|
2
|
+
|
|
3
|
+
export const BLAST_URL = `https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi`
|
|
4
|
+
|
|
5
|
+
export async function queryBlast({
|
|
6
|
+
query,
|
|
7
|
+
blastDatabase,
|
|
8
|
+
blastProgram,
|
|
9
|
+
onProgress,
|
|
10
|
+
onRid,
|
|
11
|
+
}: {
|
|
12
|
+
query: string
|
|
13
|
+
blastDatabase: string
|
|
14
|
+
blastProgram: string
|
|
15
|
+
onProgress: (arg: string) => void
|
|
16
|
+
onRid: (arg: string) => void
|
|
17
|
+
}) {
|
|
18
|
+
onProgress('Submitting to NCBI BLAST...')
|
|
19
|
+
const { rid } = await initialQuery({
|
|
20
|
+
query,
|
|
21
|
+
blastDatabase,
|
|
22
|
+
blastProgram,
|
|
23
|
+
})
|
|
24
|
+
onRid(rid)
|
|
25
|
+
await waitForRid({ rid, onProgress })
|
|
26
|
+
const ret = await jsonfetch(
|
|
27
|
+
`${BLAST_URL}?CMD=Get&RID=${rid}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`,
|
|
28
|
+
)
|
|
29
|
+
const hits = ret.BlastOutput2[0].report.results.search.hits as {
|
|
30
|
+
description: { accession: string; id: string; sciname: string }[]
|
|
31
|
+
hsps: { hseq: string }[]
|
|
32
|
+
}[]
|
|
33
|
+
|
|
34
|
+
return { rid, hits }
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async function initialQuery({
|
|
38
|
+
query,
|
|
39
|
+
blastProgram,
|
|
40
|
+
blastDatabase,
|
|
41
|
+
}: {
|
|
42
|
+
query: string
|
|
43
|
+
blastProgram: string
|
|
44
|
+
blastDatabase: string
|
|
45
|
+
}) {
|
|
46
|
+
const res = await textfetch(BLAST_URL, {
|
|
47
|
+
method: 'POST',
|
|
48
|
+
body: new URLSearchParams({
|
|
49
|
+
CMD: 'Put',
|
|
50
|
+
PROGRAM: blastProgram,
|
|
51
|
+
DATABASE: blastDatabase,
|
|
52
|
+
QUERY: query,
|
|
53
|
+
...(blastDatabase === 'nr_clustered_seq'
|
|
54
|
+
? {
|
|
55
|
+
CLUSTERED_DB: 'on',
|
|
56
|
+
DB_TYPE: 'Experimental Databases',
|
|
57
|
+
}
|
|
58
|
+
: {}),
|
|
59
|
+
}),
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
// the initial submission/query to the BLAST "REST API" does not return JSON
|
|
63
|
+
// as a response (e.g. FORMAT_TYPE=JSON does not work), so the RID is
|
|
64
|
+
// literally parsed from the text of the HTML that is returned
|
|
65
|
+
const rid = res.match(/^ RID = (.*$)/m)?.[1]
|
|
66
|
+
const rtoe = res.match(/^ RTOE = (.*$)/m)?.[1]
|
|
67
|
+
|
|
68
|
+
if (!rid) {
|
|
69
|
+
throw new Error('Failed to get RID from BLAST request')
|
|
70
|
+
}
|
|
71
|
+
return { rid, rtoe }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async function waitForRid({
|
|
75
|
+
rid,
|
|
76
|
+
onProgress,
|
|
77
|
+
}: {
|
|
78
|
+
rid: string
|
|
79
|
+
onProgress: (arg: string) => void
|
|
80
|
+
}) {
|
|
81
|
+
while (true) {
|
|
82
|
+
const iter = 20
|
|
83
|
+
for (let i = 0; i < iter; i++) {
|
|
84
|
+
await timeout(1000)
|
|
85
|
+
onProgress(`Re-checking BLAST status in... ${iter - i}`)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const res = await textfetch(
|
|
89
|
+
`${BLAST_URL}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${rid}`,
|
|
90
|
+
)
|
|
91
|
+
if (res.match(/\s+Status=WAITING/m)) {
|
|
92
|
+
continue
|
|
93
|
+
} else if (res.match(/\s+Status=FAILED/m)) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
`BLAST ${rid} failed; please report to blast-help@ncbi.nlm.nih.gov`,
|
|
96
|
+
)
|
|
97
|
+
} else if (res.match(/\s+Status=READY/m)) {
|
|
98
|
+
if (res.match(/\s+ThereAreHits=yes/m)) {
|
|
99
|
+
return true
|
|
100
|
+
} else {
|
|
101
|
+
throw new Error('No hits found')
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
package/dist/config.json
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
|
-
var Plugin = _interopDefault(require('@jbrowse/core/Plugin'));
|
|
8
|
-
var util = require('@jbrowse/core/util');
|
|
9
|
-
var MSA = require('react-msaview');
|
|
10
|
-
var ViewType = _interopDefault(require('@jbrowse/core/pluggableElementTypes/ViewType'));
|
|
11
|
-
var GridOn = _interopDefault(require('@material-ui/icons/GridOn'));
|
|
12
|
-
|
|
13
|
-
function _classCallCheck(instance, Constructor) {
|
|
14
|
-
if (!(instance instanceof Constructor)) {
|
|
15
|
-
throw new TypeError("Cannot call a class as a function");
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for (var i = 0; i < props.length; i++) {
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
30
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
-
return Constructor;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function _inherits(subClass, superClass) {
|
|
36
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
37
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
41
|
-
constructor: {
|
|
42
|
-
value: subClass,
|
|
43
|
-
writable: true,
|
|
44
|
-
configurable: true
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function _getPrototypeOf(o) {
|
|
51
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
52
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
53
|
-
};
|
|
54
|
-
return _getPrototypeOf(o);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function _setPrototypeOf(o, p) {
|
|
58
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
59
|
-
o.__proto__ = p;
|
|
60
|
-
return o;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
return _setPrototypeOf(o, p);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function _isNativeReflectConstruct() {
|
|
67
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
68
|
-
if (Reflect.construct.sham) return false;
|
|
69
|
-
if (typeof Proxy === "function") return true;
|
|
70
|
-
|
|
71
|
-
try {
|
|
72
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
73
|
-
return true;
|
|
74
|
-
} catch (e) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function _assertThisInitialized(self) {
|
|
80
|
-
if (self === void 0) {
|
|
81
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return self;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function _possibleConstructorReturn(self, call) {
|
|
88
|
-
if (call && (typeof call === "object" || typeof call === "function")) {
|
|
89
|
-
return call;
|
|
90
|
-
} else if (call !== void 0) {
|
|
91
|
-
throw new TypeError("Derived constructors may only return object or undefined");
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return _assertThisInitialized(self);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function _createSuper(Derived) {
|
|
98
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
99
|
-
|
|
100
|
-
return function _createSuperInternal() {
|
|
101
|
-
var Super = _getPrototypeOf(Derived),
|
|
102
|
-
result;
|
|
103
|
-
|
|
104
|
-
if (hasNativeReflectConstruct) {
|
|
105
|
-
var NewTarget = _getPrototypeOf(this).constructor;
|
|
106
|
-
|
|
107
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
108
|
-
} else {
|
|
109
|
-
result = Super.apply(this, arguments);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return _possibleConstructorReturn(this, result);
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
var version = "1.0.18";
|
|
117
|
-
|
|
118
|
-
var MsaViewPlugin = /*#__PURE__*/function (_Plugin) {
|
|
119
|
-
_inherits(MsaViewPlugin, _Plugin);
|
|
120
|
-
|
|
121
|
-
var _super = /*#__PURE__*/_createSuper(MsaViewPlugin);
|
|
122
|
-
|
|
123
|
-
function MsaViewPlugin() {
|
|
124
|
-
var _this;
|
|
125
|
-
|
|
126
|
-
_classCallCheck(this, MsaViewPlugin);
|
|
127
|
-
|
|
128
|
-
_this = _super.apply(this, arguments);
|
|
129
|
-
_this.name = 'MsaViewPlugin';
|
|
130
|
-
_this.version = version;
|
|
131
|
-
return _this;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
_createClass(MsaViewPlugin, [{
|
|
135
|
-
key: "install",
|
|
136
|
-
value: function install(pluginManager) {
|
|
137
|
-
console.log({
|
|
138
|
-
MSA: MSA
|
|
139
|
-
});
|
|
140
|
-
pluginManager.addViewType(function () {
|
|
141
|
-
return new ViewType({
|
|
142
|
-
name: 'MsaView',
|
|
143
|
-
//@ts-ignore
|
|
144
|
-
stateModel: MSA.MSAModel,
|
|
145
|
-
ReactComponent: MSA.MSAView
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}, {
|
|
150
|
-
key: "configure",
|
|
151
|
-
value: function configure(pluginManager) {
|
|
152
|
-
if (util.isAbstractMenuManager(pluginManager.rootModel)) {
|
|
153
|
-
pluginManager.rootModel.appendToSubMenu(['Add'], {
|
|
154
|
-
label: 'Multiple sequence alignment view',
|
|
155
|
-
icon: GridOn,
|
|
156
|
-
onClick: function onClick(session) {
|
|
157
|
-
session.addView('MsaView', {});
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}]);
|
|
163
|
-
|
|
164
|
-
return MsaViewPlugin;
|
|
165
|
-
}(Plugin);
|
|
166
|
-
|
|
167
|
-
exports.default = MsaViewPlugin;
|
|
168
|
-
//# sourceMappingURL=jbrowse-plugin-msaview.cjs.development.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jbrowse-plugin-msaview.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["MsaViewPlugin","version","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView","Plugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQqBA;;;;;AAArB;;;;;;AACE,cAAA,GAAO,eAAP;AACA,iBAAA,GAAUC,OAAV;;AA0BD;;;;WAxBC,iBAAQC,aAAR;AACEC,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEC,QAAAA,GAAG,EAAHA;AAAF,OAAZ;AACAH,MAAAA,aAAa,CAACI,WAAd,CACE;AAAA,eACE,IAAIC,QAAJ,CAAa;AACXC,UAAAA,IAAI,EAAE,SADK;AAEX;AACAC,UAAAA,UAAU,EAAEJ,YAHD;AAIXK,UAAAA,cAAc,EAAEL;AAJL,SAAb,CADF;AAAA,OADF;AASD;;;WAED,mBAAUH,aAAV;AACE,UAAIS,0BAAqB,CAACT,aAAa,CAACU,SAAf,CAAzB,EAAoD;AAClDV,QAAAA,aAAa,CAACU,SAAd,CAAwBC,eAAxB,CAAwC,CAAC,KAAD,CAAxC,EAAiD;AAC/CC,UAAAA,KAAK,EAAE,kCADwC;AAE/CC,UAAAA,IAAI,EAAEC,MAFyC;AAG/CC,UAAAA,OAAO,EAAE,iBAACC,OAAD;AACPA,YAAAA,OAAO,CAACC,OAAR,CAAgB,SAAhB,EAA2B,EAA3B;AACD;AAL8C,SAAjD;AAOD;AACF;;;;EA3BwCC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@jbrowse/core/Plugin")),n=require("@jbrowse/core/util"),r=require("react-msaview"),o=e(require("@jbrowse/core/pluggableElementTypes/ViewType")),i=e(require("@material-ui/icons/GridOn"));function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=c(e);if(t){var o=c(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}exports.default=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(s,t);var c,f=l(s);function s(){var e;return u(this,s),(e=f.apply(this,arguments)).name="MsaViewPlugin",e.version="1.0.18",e}return(c=[{key:"install",value:function(e){console.log({MSA:r}),e.addViewType((function(){return new o({name:"MsaView",stateModel:r.MSAModel,ReactComponent:r.MSAView})}))}},{key:"configure",value:function(e){n.isAbstractMenuManager(e.rootModel)&&e.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:i,onClick:function(e){e.addView("MsaView",{})}})}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(s.prototype,c),s}();
|
|
2
|
-
//# sourceMappingURL=jbrowse-plugin-msaview.cjs.production.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jbrowse-plugin-msaview.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["Plugin","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView"],"mappings":"qmDAQ2CA,qFAClC,oEAGP,SAAQC,GACNC,QAAQC,IAAI,CAAEC,IAAAA,IACdH,EAAcI,aACZ,kBACE,IAAIC,EAAS,CACXC,KAAM,UAENC,WAAYJ,WACZK,eAAgBL,wCAKxB,SAAUH,GACJS,wBAAsBT,EAAcU,YACtCV,EAAcU,UAAUC,gBAAgB,CAAC,OAAQ,CAC/CC,MAAO,mCACPC,KAAMC,EACNC,QAAS,SAACC,GACRA,EAAQC,QAAQ,UAAW"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import Plugin from '@jbrowse/core/Plugin';
|
|
2
|
-
import { isAbstractMenuManager } from '@jbrowse/core/util';
|
|
3
|
-
import * as MSA from 'react-msaview';
|
|
4
|
-
import { MSAModel, MSAView } from 'react-msaview';
|
|
5
|
-
import ViewType from '@jbrowse/core/pluggableElementTypes/ViewType';
|
|
6
|
-
import GridOn from '@material-ui/icons/GridOn';
|
|
7
|
-
|
|
8
|
-
function _classCallCheck(instance, Constructor) {
|
|
9
|
-
if (!(instance instanceof Constructor)) {
|
|
10
|
-
throw new TypeError("Cannot call a class as a function");
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function _defineProperties(target, props) {
|
|
15
|
-
for (var i = 0; i < props.length; i++) {
|
|
16
|
-
var descriptor = props[i];
|
|
17
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
18
|
-
descriptor.configurable = true;
|
|
19
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
20
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
25
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
26
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
27
|
-
return Constructor;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function _inherits(subClass, superClass) {
|
|
31
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
32
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
36
|
-
constructor: {
|
|
37
|
-
value: subClass,
|
|
38
|
-
writable: true,
|
|
39
|
-
configurable: true
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function _getPrototypeOf(o) {
|
|
46
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
47
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
48
|
-
};
|
|
49
|
-
return _getPrototypeOf(o);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _setPrototypeOf(o, p) {
|
|
53
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
54
|
-
o.__proto__ = p;
|
|
55
|
-
return o;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
return _setPrototypeOf(o, p);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function _isNativeReflectConstruct() {
|
|
62
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
63
|
-
if (Reflect.construct.sham) return false;
|
|
64
|
-
if (typeof Proxy === "function") return true;
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
68
|
-
return true;
|
|
69
|
-
} catch (e) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function _assertThisInitialized(self) {
|
|
75
|
-
if (self === void 0) {
|
|
76
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return self;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _possibleConstructorReturn(self, call) {
|
|
83
|
-
if (call && (typeof call === "object" || typeof call === "function")) {
|
|
84
|
-
return call;
|
|
85
|
-
} else if (call !== void 0) {
|
|
86
|
-
throw new TypeError("Derived constructors may only return object or undefined");
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return _assertThisInitialized(self);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
function _createSuper(Derived) {
|
|
93
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
94
|
-
|
|
95
|
-
return function _createSuperInternal() {
|
|
96
|
-
var Super = _getPrototypeOf(Derived),
|
|
97
|
-
result;
|
|
98
|
-
|
|
99
|
-
if (hasNativeReflectConstruct) {
|
|
100
|
-
var NewTarget = _getPrototypeOf(this).constructor;
|
|
101
|
-
|
|
102
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
103
|
-
} else {
|
|
104
|
-
result = Super.apply(this, arguments);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return _possibleConstructorReturn(this, result);
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
var version = "1.0.18";
|
|
112
|
-
|
|
113
|
-
var MsaViewPlugin = /*#__PURE__*/function (_Plugin) {
|
|
114
|
-
_inherits(MsaViewPlugin, _Plugin);
|
|
115
|
-
|
|
116
|
-
var _super = /*#__PURE__*/_createSuper(MsaViewPlugin);
|
|
117
|
-
|
|
118
|
-
function MsaViewPlugin() {
|
|
119
|
-
var _this;
|
|
120
|
-
|
|
121
|
-
_classCallCheck(this, MsaViewPlugin);
|
|
122
|
-
|
|
123
|
-
_this = _super.apply(this, arguments);
|
|
124
|
-
_this.name = 'MsaViewPlugin';
|
|
125
|
-
_this.version = version;
|
|
126
|
-
return _this;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
_createClass(MsaViewPlugin, [{
|
|
130
|
-
key: "install",
|
|
131
|
-
value: function install(pluginManager) {
|
|
132
|
-
console.log({
|
|
133
|
-
MSA: MSA
|
|
134
|
-
});
|
|
135
|
-
pluginManager.addViewType(function () {
|
|
136
|
-
return new ViewType({
|
|
137
|
-
name: 'MsaView',
|
|
138
|
-
//@ts-ignore
|
|
139
|
-
stateModel: MSAModel,
|
|
140
|
-
ReactComponent: MSAView
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}, {
|
|
145
|
-
key: "configure",
|
|
146
|
-
value: function configure(pluginManager) {
|
|
147
|
-
if (isAbstractMenuManager(pluginManager.rootModel)) {
|
|
148
|
-
pluginManager.rootModel.appendToSubMenu(['Add'], {
|
|
149
|
-
label: 'Multiple sequence alignment view',
|
|
150
|
-
icon: GridOn,
|
|
151
|
-
onClick: function onClick(session) {
|
|
152
|
-
session.addView('MsaView', {});
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}]);
|
|
158
|
-
|
|
159
|
-
return MsaViewPlugin;
|
|
160
|
-
}(Plugin);
|
|
161
|
-
|
|
162
|
-
export default MsaViewPlugin;
|
|
163
|
-
//# sourceMappingURL=jbrowse-plugin-msaview.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jbrowse-plugin-msaview.esm.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["MsaViewPlugin","version","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView","Plugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQqBA;;;;;AAArB;;;;;;AACE,cAAA,GAAO,eAAP;AACA,iBAAA,GAAUC,OAAV;;AA0BD;;;;WAxBC,iBAAQC,aAAR;AACEC,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEC,QAAAA,GAAG,EAAHA;AAAF,OAAZ;AACAH,MAAAA,aAAa,CAACI,WAAd,CACE;AAAA,eACE,IAAIC,QAAJ,CAAa;AACXC,UAAAA,IAAI,EAAE,SADK;AAEX;AACAC,UAAAA,UAAU,EAAEJ,QAHD;AAIXK,UAAAA,cAAc,EAAEL;AAJL,SAAb,CADF;AAAA,OADF;AASD;;;WAED,mBAAUH,aAAV;AACE,UAAIS,qBAAqB,CAACT,aAAa,CAACU,SAAf,CAAzB,EAAoD;AAClDV,QAAAA,aAAa,CAACU,SAAd,CAAwBC,eAAxB,CAAwC,CAAC,KAAD,CAAxC,EAAiD;AAC/CC,UAAAA,KAAK,EAAE,kCADwC;AAE/CC,UAAAA,IAAI,EAAEC,MAFyC;AAG/CC,UAAAA,OAAO,EAAE,iBAACC,OAAD;AACPA,YAAAA,OAAO,CAACC,OAAR,CAAgB,SAAhB,EAA2B,EAA3B;AACD;AAL8C,SAAjD;AAOD;AACF;;;;EA3BwCC;;;;"}
|