@jbrowse/plugin-data-management 2.4.2 → 2.6.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 (177) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +3 -4
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +24 -45
  3. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -1
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -4
  5. package/dist/AddConnectionWidget/components/ConfigureConnection.js +1 -3
  6. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -1
  7. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +5 -5
  8. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +3 -4
  9. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
  10. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  11. package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +2 -2
  12. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -2
  13. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +2 -2
  14. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -1
  15. package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -2
  16. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +1 -0
  17. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js.map +1 -1
  18. package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +3 -3
  19. package/dist/AddTrackWidget/components/TextIndexingConfig.js +4 -10
  20. package/dist/AddTrackWidget/components/TextIndexingConfig.js.map +1 -1
  21. package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -2
  22. package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -2
  23. package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +2 -2
  24. package/dist/AssemblyManager/AssemblyAddForm.d.ts +2 -2
  25. package/dist/AssemblyManager/AssemblyEditor.d.ts +2 -2
  26. package/dist/AssemblyManager/AssemblyManager.d.ts +2 -2
  27. package/dist/AssemblyManager/AssemblyTable.d.ts +2 -2
  28. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -2
  29. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -2
  30. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +4 -9
  31. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  32. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -2
  33. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +8 -9
  34. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +6 -10
  35. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +1 -1
  36. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -3
  37. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -2
  38. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
  39. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +27 -22
  40. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +1 -1
  41. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
  42. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -2
  43. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +5 -3
  44. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +7 -1
  45. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +1 -1
  46. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
  47. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +40 -35
  48. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
  49. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +3 -4
  50. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +36 -41
  51. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
  52. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -4
  53. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +2 -2
  54. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +1 -1
  55. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -2
  56. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -2
  57. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -2
  58. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -2
  59. package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +1 -1
  60. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +69 -5
  61. package/dist/HierarchicalTrackSelectorWidget/model.js +100 -53
  62. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  63. package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +2 -2
  64. package/dist/PluginStoreWidget/components/CustomPluginForm.js +10 -33
  65. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -1
  66. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -2
  67. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -2
  68. package/dist/PluginStoreWidget/components/PluginCard.d.ts +2 -2
  69. package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -2
  70. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +5 -8
  71. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  72. package/dist/SetDefaultSession/SetDefaultSession.d.ts +2 -2
  73. package/dist/index.d.ts +4 -4
  74. package/dist/ucsc-trackhub/configSchema.d.ts +32 -1
  75. package/dist/ucsc-trackhub/model.d.ts +38 -1
  76. package/dist/ucsc-trackhub/model.js +47 -13
  77. package/dist/ucsc-trackhub/model.js.map +1 -1
  78. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +3 -4
  79. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +24 -45
  80. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -1
  81. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -4
  82. package/esm/AddConnectionWidget/components/ConfigureConnection.js +1 -3
  83. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +1 -1
  84. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +5 -5
  85. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +3 -4
  86. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
  87. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  88. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +2 -2
  89. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -2
  90. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +2 -2
  91. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -1
  92. package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -2
  93. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +1 -0
  94. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js.map +1 -1
  95. package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +3 -3
  96. package/esm/AddTrackWidget/components/TextIndexingConfig.js +4 -10
  97. package/esm/AddTrackWidget/components/TextIndexingConfig.js.map +1 -1
  98. package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -2
  99. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -2
  100. package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +2 -2
  101. package/esm/AssemblyManager/AssemblyAddForm.d.ts +2 -2
  102. package/esm/AssemblyManager/AssemblyEditor.d.ts +2 -2
  103. package/esm/AssemblyManager/AssemblyManager.d.ts +2 -2
  104. package/esm/AssemblyManager/AssemblyTable.d.ts +2 -2
  105. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -2
  106. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -2
  107. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +4 -9
  108. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  109. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -2
  110. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +8 -9
  111. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +7 -11
  112. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +1 -1
  113. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -3
  114. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -2
  115. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
  116. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +27 -22
  117. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +1 -1
  118. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
  119. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -2
  120. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +5 -3
  121. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +7 -1
  122. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +1 -1
  123. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
  124. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +41 -36
  125. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
  126. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +3 -4
  127. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +37 -42
  128. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
  129. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -4
  130. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +2 -2
  131. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +1 -1
  132. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -2
  133. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -2
  134. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -2
  135. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -2
  136. package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +1 -1
  137. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +69 -5
  138. package/esm/HierarchicalTrackSelectorWidget/model.js +101 -54
  139. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  140. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +2 -2
  141. package/esm/PluginStoreWidget/components/CustomPluginForm.js +10 -33
  142. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +1 -1
  143. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -2
  144. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -2
  145. package/esm/PluginStoreWidget/components/PluginCard.d.ts +2 -2
  146. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -2
  147. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +5 -8
  148. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  149. package/esm/SetDefaultSession/SetDefaultSession.d.ts +2 -2
  150. package/esm/index.d.ts +4 -4
  151. package/esm/ucsc-trackhub/configSchema.d.ts +32 -1
  152. package/esm/ucsc-trackhub/model.d.ts +38 -1
  153. package/esm/ucsc-trackhub/model.js +22 -11
  154. package/esm/ucsc-trackhub/model.js.map +1 -1
  155. package/package.json +3 -3
  156. package/src/AddConnectionWidget/components/AddConnectionWidget.test.tsx +1 -3
  157. package/src/AddConnectionWidget/components/AddConnectionWidget.tsx +46 -85
  158. package/src/AddConnectionWidget/components/ConfigureConnection.tsx +17 -18
  159. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +7 -6
  160. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +1 -0
  161. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +2 -2
  162. package/src/AddTrackWidget/components/PasteConfigWorkflow.tsx +1 -0
  163. package/src/AddTrackWidget/components/TextIndexingConfig.tsx +10 -10
  164. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +11 -21
  165. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.tsx.snap +89 -24
  166. package/src/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.tsx +9 -13
  167. package/src/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.tsx +1 -1
  168. package/src/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.tsx +69 -39
  169. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.tsx +10 -0
  170. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx +31 -27
  171. package/src/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.tsx +46 -51
  172. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.tsx +1 -3
  173. package/src/HierarchicalTrackSelectorWidget/model.ts +120 -65
  174. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +11 -36
  175. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +7 -10
  176. package/src/PluginStoreWidget/model.test.tsx +1 -1
  177. package/src/ucsc-trackhub/model.ts +30 -27
@@ -10,12 +10,6 @@ import { types } from 'mobx-state-tree'
10
10
 
11
11
  // locals
12
12
  import configSchema from './configSchema'
13
- import {
14
- fetchGenomesFile,
15
- fetchHubFile,
16
- fetchTrackDbFile,
17
- generateTracks,
18
- } from './ucscTrackHub'
19
13
 
20
14
  export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
21
15
  return types
@@ -30,9 +24,15 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
30
24
  .actions(self => ({
31
25
  async connect() {
32
26
  const session = getSession(self)
27
+ const notLoadedAssemblies = [] as string[]
33
28
  try {
34
- const connectionName = getConf(self, 'name')
35
29
  const hubFileLocation = getConf(self, 'hubTxtLocation')
30
+ const {
31
+ generateTracks,
32
+ fetchGenomesFile,
33
+ fetchTrackDbFile,
34
+ fetchHubFile,
35
+ } = await import('./ucscTrackHub')
36
36
  const hubFile = await fetchHubFile(hubFileLocation)
37
37
  const genomeFile = hubFile.get('genomesFile')
38
38
  if (!genomeFile) {
@@ -50,7 +50,7 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
50
50
  locationType: 'LocalPathLocation' as const,
51
51
  }
52
52
  const genomesFile = await fetchGenomesFile(genomesFileLocation)
53
- const trackDbData = []
53
+ const map = {} as { [key: string]: number }
54
54
  for (const [genomeName, genome] of genomesFile) {
55
55
  const assemblyNames = getConf(self, 'assemblyNames')
56
56
  if (
@@ -59,20 +59,18 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
59
59
  ) {
60
60
  continue
61
61
  }
62
- const conf = session.assemblies.find(
63
- a => readConfObject(a, 'name') === genomeName,
64
- )
62
+
63
+ const conf = session.assemblyManager.get(genomeName)?.configuration
65
64
  if (!conf) {
66
- throw new Error(
67
- `Cannot find assembly for "${genomeName}" from the genomes file for connection "${connectionName}"`,
68
- )
65
+ notLoadedAssemblies.push(genomeName)
66
+ continue
69
67
  }
70
68
  const db = genome.get('trackDb')
71
69
  if (!db) {
72
70
  throw new Error('genomesFile not found on hub')
73
71
  }
74
72
  const base = new URL(genomeFile, hubUri)
75
- const trackDbLoc = hubUri
73
+ const loc = hubUri
76
74
  ? {
77
75
  uri: new URL(db, base).href,
78
76
  locationType: 'UriLocation' as const,
@@ -81,20 +79,25 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager) {
81
79
  localPath: db,
82
80
  locationType: 'LocalPathLocation' as const,
83
81
  }
84
- const trackDb = await fetchTrackDbFile(trackDbLoc)
85
- trackDbData.push([trackDbLoc, trackDb, genomeName, conf] as const)
86
- }
87
- for (const [
88
- trackDbLoc,
89
- trackDbFile,
90
- genomeName,
91
- conf,
92
- ] of trackDbData) {
82
+ const trackDb = await fetchTrackDbFile(loc)
93
83
  const seqAdapter = readConfObject(conf, ['sequence', 'adapter'])
94
- self.addTrackConfs(
95
- generateTracks(trackDbFile, trackDbLoc, genomeName, seqAdapter),
96
- )
84
+ const tracks = generateTracks(trackDb, loc, genomeName, seqAdapter)
85
+ self.addTrackConfs(tracks)
86
+ map[genomeName] = tracks.length
97
87
  }
88
+
89
+ const loadedAssemblies = Object.entries(map)
90
+ const str1 = loadedAssemblies.length
91
+ ? `Loaded data from these assemblies: ${loadedAssemblies
92
+ .map(([key, val]) => `${key} (${val} tracks)`)
93
+ .join(', ')}`
94
+ : ''
95
+ const str2 = notLoadedAssemblies.length
96
+ ? `Skipped data from these assemblies: ${notLoadedAssemblies.join(
97
+ ', ',
98
+ )}`
99
+ : ''
100
+ session.notify([str1, str2].filter(f => !!f).join('. '), 'success')
98
101
  } catch (e) {
99
102
  console.error(e)
100
103
  session.notify(