@jbrowse/plugin-data-management 2.3.4 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +1 -1
  2. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
  3. package/dist/AddTrackWidget/components/ConfirmTrack.js +1 -1
  4. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  5. package/dist/AddTrackWidget/components/TextIndexingConfig.js +2 -2
  6. package/dist/AddTrackWidget/components/TextIndexingConfig.js.map +1 -1
  7. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
  8. package/dist/AddTrackWidget/components/TrackAdapterSelector.js.map +1 -1
  9. package/dist/AddTrackWidget/components/TrackTypeSelector.js +1 -1
  10. package/dist/AddTrackWidget/components/TrackTypeSelector.js.map +1 -1
  11. package/dist/AddTrackWidget/model.js +5 -5
  12. package/dist/AddTrackWidget/model.js.map +1 -1
  13. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +9 -9
  14. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +1 -1
  15. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +1 -1
  16. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
  17. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -1
  18. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
  19. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +1 -1
  20. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +1 -1
  21. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +2 -2
  22. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +1 -1
  23. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +1 -1
  24. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +1 -1
  25. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +5 -5
  26. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +1 -1
  27. package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -1
  28. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -1
  29. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +2 -4
  30. package/dist/HierarchicalTrackSelectorWidget/index.js +4 -2
  31. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  32. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +1 -1
  33. package/dist/HierarchicalTrackSelectorWidget/model.js +15 -6
  34. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  35. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +4 -4
  36. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
  37. package/dist/PluginStoreWidget/components/PluginCard.d.ts +2 -3
  38. package/dist/PluginStoreWidget/components/PluginCard.js +7 -7
  39. package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -1
  40. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +3 -3
  41. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  42. package/dist/index.d.ts +2 -3
  43. package/dist/index.js.map +1 -1
  44. package/dist/ucsc-trackhub/ucscTrackHub.d.ts +1 -2
  45. package/dist/ucsc-trackhub/ucscTrackHub.js +11 -11
  46. package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -1
  47. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +1 -1
  48. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
  49. package/esm/AddTrackWidget/components/ConfirmTrack.js +1 -1
  50. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  51. package/esm/AddTrackWidget/components/TextIndexingConfig.js +2 -2
  52. package/esm/AddTrackWidget/components/TextIndexingConfig.js.map +1 -1
  53. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
  54. package/esm/AddTrackWidget/components/TrackAdapterSelector.js.map +1 -1
  55. package/esm/AddTrackWidget/components/TrackTypeSelector.js +1 -1
  56. package/esm/AddTrackWidget/components/TrackTypeSelector.js.map +1 -1
  57. package/esm/AddTrackWidget/model.js +5 -5
  58. package/esm/AddTrackWidget/model.js.map +1 -1
  59. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +9 -9
  60. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +1 -1
  61. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +1 -1
  62. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
  63. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -1
  64. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
  65. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +1 -1
  66. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +1 -1
  67. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +2 -2
  68. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +1 -1
  69. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +1 -1
  70. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +1 -1
  71. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +5 -5
  72. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +1 -1
  73. package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -1
  74. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -1
  75. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -4
  76. package/esm/HierarchicalTrackSelectorWidget/index.js +2 -1
  77. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  78. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +1 -1
  79. package/esm/HierarchicalTrackSelectorWidget/model.js +15 -6
  80. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  81. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +4 -4
  82. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
  83. package/esm/PluginStoreWidget/components/PluginCard.d.ts +2 -3
  84. package/esm/PluginStoreWidget/components/PluginCard.js +7 -7
  85. package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -1
  86. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +3 -3
  87. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  88. package/esm/index.d.ts +2 -3
  89. package/esm/index.js.map +1 -1
  90. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +1 -2
  91. package/esm/ucsc-trackhub/ucscTrackHub.js +9 -10
  92. package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -1
  93. package/package.json +2 -2
  94. package/src/AddConnectionWidget/components/AddConnectionWidget.test.tsx +4 -4
  95. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +0 -1
  96. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +2 -2
  97. package/src/AddTrackWidget/components/ConfirmTrack.tsx +1 -1
  98. package/src/AddTrackWidget/components/TextIndexingConfig.tsx +0 -2
  99. package/src/AddTrackWidget/components/TrackAdapterSelector.tsx +1 -1
  100. package/src/AddTrackWidget/components/TrackTypeSelector.tsx +1 -1
  101. package/src/AddTrackWidget/index.test.tsx +2 -2
  102. package/src/AddTrackWidget/model.ts +5 -5
  103. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.tsx +4 -4
  104. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.tsx.snap +4 -4
  105. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.tsx +9 -9
  106. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx +4 -5
  107. package/src/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.tsx +0 -2
  108. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.tsx +1 -4
  109. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.tsx +4 -4
  110. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.tsx +1 -1
  111. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.tsx +4 -5
  112. package/src/HierarchicalTrackSelectorWidget/components/util.ts +1 -1
  113. package/src/HierarchicalTrackSelectorWidget/index.ts +7 -4
  114. package/src/HierarchicalTrackSelectorWidget/model.ts +14 -6
  115. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +8 -6
  116. package/src/PluginStoreWidget/components/PluginCard.tsx +8 -10
  117. package/src/PluginStoreWidget/components/PluginStoreWidget.test.tsx +3 -3
  118. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +3 -7
  119. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.tsx.snap +2 -2
  120. package/src/index.ts +5 -5
  121. package/src/ucsc-trackhub/ucscTrackHub.ts +9 -10
@@ -12,19 +12,21 @@ function InstalledPluginsList({
12
12
  pluginManager: PluginManager
13
13
  model: PluginStoreModel
14
14
  }) {
15
- const { plugins } = pluginManager as PluginManager
15
+ const { plugins } = pluginManager
16
16
 
17
- const corePlugins = plugins
18
- .filter(p => pluginManager.pluginMetadata[p.name]?.isCore)
19
- .map(p => p.name)
17
+ const corePlugins = new Set(
18
+ plugins
19
+ .filter(p => pluginManager.pluginMetadata[p.name]?.isCore)
20
+ .map(p => p.name),
21
+ )
20
22
 
21
23
  const externalPlugins = plugins.filter(
22
- plugin => !corePlugins.includes(plugin.name),
24
+ plugin => !corePlugins.has(plugin.name),
23
25
  )
24
26
 
25
27
  return (
26
28
  <List>
27
- {externalPlugins.length ? (
29
+ {externalPlugins.length > 0 ? (
28
30
  externalPlugins
29
31
  .filter(plugin =>
30
32
  plugin.name.toLowerCase().includes(model.filterText.toLowerCase()),
@@ -20,9 +20,11 @@ import { makeStyles } from 'tss-react/mui'
20
20
  import PersonIcon from '@mui/icons-material/Person'
21
21
  import AddIcon from '@mui/icons-material/Add'
22
22
  import CheckIcon from '@mui/icons-material/Check'
23
+
24
+ // locals
23
25
  import { PluginStoreModel } from '../model'
24
26
 
25
- const useStyles = makeStyles()(() => ({
27
+ const useStyles = makeStyles()({
26
28
  card: {
27
29
  margin: '1em',
28
30
  },
@@ -38,9 +40,9 @@ const useStyles = makeStyles()(() => ({
38
40
  alignItems: 'center',
39
41
  margin: '0.4em 0em',
40
42
  },
41
- }))
43
+ })
42
44
 
43
- function PluginCard({
45
+ export default observer(function PluginCard({
44
46
  plugin,
45
47
  model,
46
48
  adminMode,
@@ -52,9 +54,8 @@ function PluginCard({
52
54
  const { classes } = useStyles()
53
55
  const session = getSession(model)
54
56
  const { pluginManager } = getEnv(model)
55
- const isInstalled = Boolean(
56
- pluginManager.runtimePluginDefinitions.find(def => def.url === plugin.url),
57
- )
57
+ const { runtimePluginDefinitions } = pluginManager
58
+ const isInstalled = runtimePluginDefinitions.some(d => d.url === plugin.url)
58
59
  const [tempDisabled, setTempDisabled] = useState(false)
59
60
  const disableButton = isInstalled || tempDisabled
60
61
 
@@ -86,7 +87,6 @@ function PluginCard({
86
87
  <CardActions>
87
88
  <Button
88
89
  variant="contained"
89
- color="primary"
90
90
  disabled={disableButton}
91
91
  startIcon={isInstalled ? <CheckIcon /> : <AddIcon />}
92
92
  onClick={() => {
@@ -103,6 +103,4 @@ function PluginCard({
103
103
  </CardActions>
104
104
  </Card>
105
105
  )
106
- }
107
-
108
- export default observer(PluginCard)
106
+ })
@@ -34,17 +34,17 @@ beforeEach(() => {
34
34
  model = session.addWidget('PluginStoreWidget', 'pluginStoreWidget')
35
35
  const { location } = window
36
36
 
37
- // @ts-ignore
37
+ // @ts-expect-error
38
38
  delete window.location
39
39
  window.location = {
40
40
  ...location,
41
41
  reload: jest.fn(),
42
42
  }
43
43
 
44
- // @ts-ignore
44
+ // @ts-expect-error
45
45
  fetch.resetMocks()
46
46
 
47
- // @ts-ignore
47
+ // @ts-expect-error
48
48
  fetch.mockResponse(JSON.stringify(plugins))
49
49
  })
50
50
 
@@ -32,7 +32,7 @@ const useStyles = makeStyles()(theme => ({
32
32
  margin: theme.spacing(1),
33
33
  },
34
34
  expandIcon: {
35
- color: '#fff',
35
+ color: theme.palette.tertiary.contrastText,
36
36
  },
37
37
  adminBadge: {
38
38
  margin: '0.5em',
@@ -106,7 +106,6 @@ function PluginStoreWidget({ model }: { model: PluginStoreModel }) {
106
106
  <div className={classes.customPluginButton}>
107
107
  <Button
108
108
  variant="contained"
109
- color="primary"
110
109
  onClick={() => setCustomPluginFormOpen(true)}
111
110
  >
112
111
  Add custom plugin
@@ -127,10 +126,7 @@ function PluginStoreWidget({ model }: { model: PluginStoreModel }) {
127
126
  InputProps={{
128
127
  endAdornment: (
129
128
  <InputAdornment position="end">
130
- <IconButton
131
- color="secondary"
132
- onClick={() => model.clearFilterText()}
133
- >
129
+ <IconButton onClick={() => model.clearFilterText()}>
134
130
  <ClearIcon />
135
131
  </IconButton>
136
132
  </InputAdornment>
@@ -171,7 +167,7 @@ function PluginStoreWidget({ model }: { model: PluginStoreModel }) {
171
167
  })
172
168
  .map(plugin => (
173
169
  <PluginCard
174
- key={(plugin as JBrowsePlugin).name}
170
+ key={plugin.name}
175
171
  plugin={plugin}
176
172
  model={model}
177
173
  adminMode={!!adminMode}
@@ -29,7 +29,7 @@ exports[`renders with the available plugins 1`] = `
29
29
  class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-standard MuiInputAdornment-sizeSmall css-1laqsz7-MuiInputAdornment-root"
30
30
  >
31
31
  <button
32
- class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-sizeSmall css-16a6k96-MuiButtonBase-root-MuiIconButton-root"
32
+ class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-9vna8i-MuiButtonBase-root-MuiIconButton-root"
33
33
  tabindex="0"
34
34
  type="button"
35
35
  >
@@ -789,7 +789,7 @@ exports[`renders with the available plugins 1`] = `
789
789
  class="MuiTypography-root MuiTypography-h5 css-1ldbtdh-MuiTypography-root"
790
790
  >
791
791
  <a
792
- class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-1py4a5k-MuiTypography-root-MuiLink-root"
792
+ class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-ygjubp-MuiTypography-root-MuiLink-root"
793
793
  href="https://github.com/GMOD/jbrowse-plugin-msaview#readme"
794
794
  rel="noopener"
795
795
  target="_blank"
package/src/index.ts CHANGED
@@ -3,12 +3,10 @@ import Plugin from '@jbrowse/core/Plugin'
3
3
  import PluginManager from '@jbrowse/core/PluginManager'
4
4
  import UCSCTrackHubConnectionF from './ucsc-trackhub'
5
5
  import AddTrackWidgetF from './AddTrackWidget'
6
- import { AddTrackModel } from './AddTrackWidget/model'
6
+
7
7
  import AddConnectionWidgetF from './AddConnectionWidget'
8
8
  import PluginStoreWidgetF from './PluginStoreWidget'
9
- import HierarchicalTrackSelectorWidgetF, {
10
- HierarchicalTrackSelectorModel,
11
- } from './HierarchicalTrackSelectorWidget'
9
+ import HierarchicalTrackSelectorWidgetF from './HierarchicalTrackSelectorWidget'
12
10
 
13
11
  const SetDefaultSession = lazy(() => import('./SetDefaultSession'))
14
12
 
@@ -34,4 +32,6 @@ export default class extends Plugin {
34
32
  }
35
33
 
36
34
  export { AssemblyManager, SetDefaultSession }
37
- export type { HierarchicalTrackSelectorModel, AddTrackModel }
35
+
36
+ export { type AddTrackModel } from './AddTrackWidget/model'
37
+ export { type HierarchicalTrackSelectorModel } from './HierarchicalTrackSelectorWidget'
@@ -6,9 +6,6 @@ import {
6
6
  generateUnsupportedTrackConf,
7
7
  generateUnknownTrackConf,
8
8
  } from '@jbrowse/core/util/tracks'
9
- import ucscAssemblies from './ucscAssemblies'
10
-
11
- export { ucscAssemblies }
12
9
 
13
10
  export async function fetchHubFile(hubLocation: FileLocation) {
14
11
  try {
@@ -63,16 +60,16 @@ export function generateTracks(
63
60
  ) {
64
61
  const tracks: any = []
65
62
 
66
- trackDb.forEach((track, trackName) => {
67
- const trackKeys = Array.from(track.keys()) as string[]
68
- const parentTrackKeys = [
63
+ for (const [trackName, track] of trackDb.entries()) {
64
+ const trackKeys = [...track.keys()]
65
+ const parentTrackKeys = new Set([
69
66
  'superTrack',
70
67
  'compositeTrack',
71
68
  'container',
72
69
  'view',
73
- ]
74
- if (trackKeys.some(key => parentTrackKeys.includes(key))) {
75
- return
70
+ ])
71
+ if (trackKeys.some(key => parentTrackKeys.has(key))) {
72
+ continue
76
73
  }
77
74
  const parentTracks = []
78
75
  let currentTrackName = trackName
@@ -99,7 +96,7 @@ export function generateTracks(
99
96
  trackId: `ucsc-trackhub-${objectHash(res)}`,
100
97
  assemblyNames: [assemblyName],
101
98
  })
102
- })
99
+ }
103
100
 
104
101
  return tracks
105
102
  }
@@ -324,3 +321,5 @@ function makeTrackConfig(
324
321
  return generateUnknownTrackConf(name, baseTrackType, categories)
325
322
  }
326
323
  }
324
+
325
+ export { default as ucscAssemblies } from './ucscAssemblies'