@jbrowse/plugin-data-management 2.0.1 → 2.1.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.
Files changed (76) hide show
  1. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  2. package/dist/AddTrackWidget/components/AddTrackWidget.js +18 -189
  3. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -1
  4. package/dist/AddTrackWidget/components/ConfirmTrack.js +5 -6
  5. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  6. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  7. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +222 -0
  8. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  9. package/dist/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  10. package/dist/HierarchicalTrackSelectorWidget/components/Header.js +209 -0
  11. package/dist/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  12. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +22 -231
  13. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  14. package/dist/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  15. package/dist/HierarchicalTrackSelectorWidget/components/Node.js +207 -0
  16. package/dist/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  17. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  18. package/dist/HierarchicalTrackSelectorWidget/components/util.js +11 -0
  19. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  20. package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  21. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +6 -0
  22. package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  23. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
  24. package/dist/HierarchicalTrackSelectorWidget/index.js +4 -4
  25. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  26. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +10 -2
  27. package/dist/HierarchicalTrackSelectorWidget/model.js +35 -31
  28. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  29. package/dist/index.d.ts +4 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  33. package/esm/AddTrackWidget/components/AddTrackWidget.js +22 -135
  34. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -1
  35. package/esm/AddTrackWidget/components/ConfirmTrack.js +5 -6
  36. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  37. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  38. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +134 -0
  39. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  40. package/esm/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  41. package/esm/HierarchicalTrackSelectorWidget/components/Header.js +149 -0
  42. package/esm/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  43. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +24 -223
  44. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  45. package/esm/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  46. package/esm/HierarchicalTrackSelectorWidget/components/Node.js +149 -0
  47. package/esm/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  48. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  49. package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -0
  50. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  51. package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  52. package/esm/HierarchicalTrackSelectorWidget/configSchema.js +4 -0
  53. package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  54. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
  55. package/esm/HierarchicalTrackSelectorWidget/index.js +3 -3
  56. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  57. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +10 -2
  58. package/esm/HierarchicalTrackSelectorWidget/model.js +36 -32
  59. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  60. package/esm/index.d.ts +4 -1
  61. package/esm/index.js +1 -1
  62. package/esm/index.js.map +1 -1
  63. package/package.json +2 -2
  64. package/src/AddTrackWidget/components/{AddTrackWidget.test.js → AddTrackWidget.test.tsx} +17 -32
  65. package/src/AddTrackWidget/components/AddTrackWidget.tsx +36 -200
  66. package/src/AddTrackWidget/components/ConfirmTrack.tsx +10 -10
  67. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +205 -0
  68. package/src/HierarchicalTrackSelectorWidget/components/Header.tsx +287 -0
  69. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +19 -438
  70. package/src/HierarchicalTrackSelectorWidget/components/Node.tsx +284 -0
  71. package/src/HierarchicalTrackSelectorWidget/components/util.ts +11 -0
  72. package/src/HierarchicalTrackSelectorWidget/configSchema.ts +3 -0
  73. package/src/HierarchicalTrackSelectorWidget/index.ts +4 -6
  74. package/src/HierarchicalTrackSelectorWidget/model.ts +45 -41
  75. package/src/index.ts +4 -1
  76. package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +0 -331
@@ -1,4 +1,4 @@
1
- import { types, getParent } from 'mobx-state-tree';
1
+ import { types, getParent, getEnv } from 'mobx-state-tree';
2
2
  import { getConf, readConfObject, } from '@jbrowse/core/configuration';
3
3
  import { getSession } from '@jbrowse/core/util';
4
4
  import { ElementId } from '@jbrowse/core/util/types/mst';
@@ -9,7 +9,7 @@ function passesFilter(filter, config) {
9
9
  const categories = readConfObject(config, 'category');
10
10
  const filterLower = filter.toLowerCase();
11
11
  return (getTrackName(config).toLowerCase().includes(filterLower) ||
12
- (categories === null || categories === void 0 ? void 0 : categories.filter(c => c.toLowerCase().includes(filterLower)).length));
12
+ !!(categories === null || categories === void 0 ? void 0 : categories.filter(c => c.toLowerCase().includes(filterLower)).length));
13
13
  }
14
14
  function getTrackName(config) {
15
15
  if (!config.trackId) {
@@ -18,6 +18,26 @@ function getTrackName(config) {
18
18
  return (readConfObject(config, 'name') ||
19
19
  `Reference sequence (${readConfObject(getParent(config), 'name')})`);
20
20
  }
21
+ function filterTracks(tracks, self, assemblyName) {
22
+ const { assemblyManager } = getSession(self);
23
+ const { pluginManager } = getEnv(self);
24
+ const assembly = assemblyManager.get(assemblyName);
25
+ if (!assembly) {
26
+ return [];
27
+ }
28
+ return tracks
29
+ .filter(c => {
30
+ const trackConfAssemblies = readConfObject(c, 'assemblyNames');
31
+ const { allAliases } = assembly;
32
+ return hasAnyOverlap(allAliases, trackConfAssemblies);
33
+ })
34
+ .filter(c => {
35
+ const { displayTypes } = pluginManager.getViewType(self.view.type);
36
+ const compatDisplays = displayTypes.map((d) => d.name);
37
+ const trackDisplays = c.displays.map((d) => d.type);
38
+ return hasAnyOverlap(compatDisplays, trackDisplays);
39
+ });
40
+ }
21
41
  export function generateHierarchy(model, trackConfigurations, collapsed) {
22
42
  const hierarchy = { children: [] };
23
43
  const { filterText, view } = model;
@@ -73,7 +93,19 @@ export default function stateTreeFactory(pluginManager) {
73
93
  filterText: '',
74
94
  view: types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
75
95
  })
96
+ .volatile(() => ({
97
+ selection: [],
98
+ }))
76
99
  .actions(self => ({
100
+ addToSelection(elt) {
101
+ self.selection = [...self.selection, ...elt];
102
+ },
103
+ removeFromSelection(elt) {
104
+ self.selection = self.selection.filter(f => !elt.includes(f));
105
+ },
106
+ clearSelection() {
107
+ self.selection = [];
108
+ },
77
109
  setView(view) {
78
110
  self.view = view;
79
111
  },
@@ -117,18 +149,7 @@ export default function stateTreeFactory(pluginManager) {
117
149
  // filter out tracks that don't match the current assembly (check all
118
150
  // assembly aliases) and display types
119
151
  return (refseq ? [refseq] : []).concat([
120
- ...tracks
121
- .filter(c => {
122
- const trackConfAssemblies = readConfObject(c, 'assemblyNames');
123
- const { allAliases } = assembly;
124
- return hasAnyOverlap(allAliases, trackConfAssemblies);
125
- })
126
- .filter(c => {
127
- const { displayTypes } = pluginManager.getViewType(self.view.type);
128
- const compatibleDisplays = displayTypes.map(d => d.name);
129
- const trackDisplays = c.displays.map((d) => d.type);
130
- return hasAnyOverlap(compatibleDisplays, trackDisplays);
131
- }),
152
+ ...filterTracks(tracks, self, assemblyName),
132
153
  ]);
133
154
  },
134
155
  get assemblyNames() {
@@ -139,25 +160,8 @@ export default function stateTreeFactory(pluginManager) {
139
160
  if (!self.view) {
140
161
  return [];
141
162
  }
142
- const trackConfigurations = connection.tracks;
143
- const { assemblyManager } = getSession(self);
144
- const assembly = assemblyManager.get(assemblyName);
145
- if (!(assembly && assembly.initialized)) {
146
- return [];
147
- }
148
163
  // filter out tracks that don't match the current display types
149
- return trackConfigurations
150
- .filter(c => {
151
- const trackConfAssemblies = readConfObject(c, 'assemblyNames');
152
- const { allAliases } = assembly;
153
- return hasAnyOverlap(allAliases, trackConfAssemblies);
154
- })
155
- .filter(c => {
156
- const { displayTypes } = pluginManager.getViewType(self.view.type);
157
- const compatibleDisplays = displayTypes.map(d => d.name);
158
- const trackDisplays = c.displays.map((d) => d.type);
159
- return hasAnyOverlap(compatibleDisplays, trackDisplays);
160
- });
164
+ return filterTracks(connection.tracks, self, assemblyName);
161
165
  },
162
166
  }))
163
167
  .views(self => ({
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/HierarchicalTrackSelectorWidget/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/HierarchicalTrackSelectorWidget/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAA;AACpE,OAAO,EACL,OAAO,EACP,cAAc,GAEf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAGxD,SAAS,aAAa,CAAI,KAAU,EAAE,EAAE,KAAU,EAAE;IAClD,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAA6B;IACjE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAyB,CAAA;IAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACxC,OAAO,CACL,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxD,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA,CACxE,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAA6B;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;KAC/B;IACD,OAAO,CACL,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9B,uBAAuB,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CACpE,CAAA;AACH,CAAC;AAWD,SAAS,YAAY,CACnB,MAA+B,EAC/B,IAAgC,EAChC,YAAoB;IAEpB,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAElD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAA;KACV;IACD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;QAC9D,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAA;QAC/B,OAAO,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IACvD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxE,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAqC,EACrC,mBAA4C,EAC5C,SAAwD;IAExD,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,EAAgB,EAAc,CAAA;IAC5D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAElC,mBAAmB;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9C,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,iEAAiE;QACjE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAEhE,uEAAuE;QACvE,kEAAkE;QAClE,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;SACtC;QAED,IAAI,SAAS,GAAG,SAAS,CAAA;QAEzB,wDAAwD;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAC7D,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/C,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,CAAC,GAAG;oBACR,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,EAAE;oBACF,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;iBACpC,CAAA;gBACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC1B,SAAS,GAAG,CAAC,CAAA;aACd;iBAAM;gBACL,SAAS,GAAG,GAAG,CAAA;aAChB;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAoD,CAAA;QAExE,uEAAuE;QACvE,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxD,CAAC,EACD;YACE,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;YACxB,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC;YACrD,QAAQ,EAAE,EAAE;SACb,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,SAAS,CAAC,QAAQ,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,aAA4B;IACnE,OAAO,KAAK;SACT,KAAK,CAAC,iCAAiC,EAAE;QACxC,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC;QACtD,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,KAAK,CAAC,aAAa,CACvB,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CACrD;KACF,CAAC;SACD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACf,SAAS,EAAE,EAA6B;KACzC,CAAC,CAAC;SACF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,cAAc,CAAC,GAA4B;YACzC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,CAAA;QAC9C,CAAC;QACD,mBAAmB,CAAC,GAA4B;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,cAAc;YACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACrB,CAAC;QACD,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,cAAc,CAAC,QAAgB;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7D,CAAC;QACD,eAAe;YACb,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACtB,CAAC;QACD,aAAa,CAAC,OAAe;YAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QAC3B,CAAC;KACF,CAAC,CAAC;SACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,kBAAkB,CAAC,YAAoB;YACrC,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAClD,MAAM,SAAS,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CAAC,QAAQ,CAAA;YAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,SAAS,CAAA;aACjB;YACD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACxC,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC5D,OAAO,SAAS,CAAA;iBACjB;aACF;QACH,CAAC;KACF,CAAC,CAAC;SACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,mBAAmB,CAAC,YAAoB;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,OAAO,EAAE,CAAA;aACV;YACD,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAClD,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAA;aACV;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;YACpD,qEAAqE;YACrE,sCAAsC;YACtC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;gBACrC,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC;aAC5C,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,aAAa;;YACf,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,KAAI,EAAE,CAAA;QACvC,CAAC;QAED,6BAA6B,CAC3B,YAAoB,EACpB,UAA+C;YAE/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,OAAO,EAAE,CAAA;aACV;YAED,+DAA+D;YAC/D,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QAC5D,CAAC;KACF,CAAC,CAAC;SACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,SAAS,CAAC,YAAoB;YAC5B,MAAM,IAAI,GAAG,iBAAiB;YAC5B,8DAA8D;YAC9D,IAAW,EACX,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EACtC,IAAI,CAAC,SAAS,CACf,CAAA;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAA;YACpD,MAAM,KAAK,GACT,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CACf,MAAM,CAAC,CAAC,CAAC,EAAE;gBACX,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;gBACzC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;YACjE,CAAC,EACA,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnB,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC5B,OAAO;oBACL,EAAE,EAAE,CAAC,CAAC,YAAY;oBAClB,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;oBAC/B,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;oBACtD,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI;qBACf;iBACF,CAAA;YACH,CAAC,CAAC,KAAI,EAAE,CAAA;YAEZ,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAChD,GAAG,KAAK;iBACT;aACF,CAAA;QACH,CAAC;QAED,mBAAmB,CACjB,YAAoB,EACpB,UAA+C;YAE/C,OAAO,iBAAiB;YACtB,8DAA8D;YAC9D,IAAW,EACX,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE,UAAU,CAAC,EAC5D,IAAI,CAAC,SAAS,CACf,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC"}
package/esm/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import Plugin from '@jbrowse/core/Plugin';
3
3
  import PluginManager from '@jbrowse/core/PluginManager';
4
+ import { AddTrackModel } from './AddTrackWidget/model';
5
+ import { HierarchicalTrackSelectorModel } from './HierarchicalTrackSelectorWidget';
4
6
  declare const SetDefaultSession: import("react").LazyExoticComponent<({ rootModel, onClose }: {
5
7
  rootModel?: unknown;
6
8
  onClose: () => void;
@@ -22,6 +24,7 @@ export default class extends Plugin {
22
24
  }) => JSX.Element | null>;
23
25
  };
24
26
  install(pluginManager: PluginManager): void;
25
- configure(pluginManager: PluginManager): void;
27
+ configure(_pluginManager: PluginManager): void;
26
28
  }
27
29
  export { AssemblyManager, SetDefaultSession };
30
+ export type { HierarchicalTrackSelectorModel, AddTrackModel };
package/esm/index.js CHANGED
@@ -64,7 +64,7 @@ export default class extends Plugin {
64
64
  });
65
65
  });
66
66
  }
67
- configure(pluginManager) { }
67
+ configure(_pluginManager) { }
68
68
  }
69
69
  export { AssemblyManager, SetDefaultSession };
70
70
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-data-management",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "JBrowse 2 linear genome view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -62,5 +62,5 @@
62
62
  "distModule": "esm/index.js",
63
63
  "srcModule": "src/index.ts",
64
64
  "module": "esm/index.js",
65
- "gitHead": "ed935bf5612af3818abdc8ef52d100d5d81d33a2"
65
+ "gitHead": "0db0462fa1f9f15ab4869da085bcab032b9483c3"
66
66
  }
@@ -1,15 +1,19 @@
1
1
  import React from 'react'
2
- import { render, cleanup, fireEvent } from '@testing-library/react'
2
+ import { render, fireEvent } from '@testing-library/react'
3
3
  import { createTestSession } from '@jbrowse/web/src/rootModel'
4
4
  import AddTrackWidget from './AddTrackWidget'
5
+ import { AddTrackModel } from '../model'
6
+ import { AbstractSessionModel } from '@jbrowse/core/util'
5
7
  jest.mock('@jbrowse/web/src/makeWorkerInstance', () => () => {})
6
8
 
7
9
  describe('<AddTrackWidget />', () => {
8
- let session
9
- let model
10
+ let session: AbstractSessionModel
11
+ let model: AddTrackModel
10
12
 
11
13
  beforeAll(() => {
14
+ // @ts-ignore
12
15
  session = createTestSession()
16
+ // @ts-ignore
13
17
  session.addAssemblyConf({
14
18
  name: 'volMyt1',
15
19
  sequence: {
@@ -29,6 +33,7 @@ describe('<AddTrackWidget />', () => {
29
33
  },
30
34
  },
31
35
  })
36
+ // @ts-ignore
32
37
  session.addTrackConf({
33
38
  trackId: 'i3jUPmrgMOS',
34
39
  type: 'FeatureTrack',
@@ -77,6 +82,8 @@ describe('<AddTrackWidget />', () => {
77
82
  },
78
83
  filterAttributes: ['type', 'start', 'end'],
79
84
  })
85
+
86
+ // @ts-ignore
80
87
  const view = session.addView('LinearGenomeView', {
81
88
  displayedRegions: [
82
89
  {
@@ -87,22 +94,18 @@ describe('<AddTrackWidget />', () => {
87
94
  },
88
95
  ],
89
96
  })
97
+
98
+ // @ts-ignore
90
99
  model = session.addWidget('AddTrackWidget', 'addTrackWidget', {
91
100
  view: view.id,
92
101
  })
93
102
  })
94
103
 
95
- afterEach(cleanup)
96
-
97
- it('renders', () => {
98
- const { container } = render(<AddTrackWidget model={model} />)
99
- expect(container.firstChild).toMatchSnapshot()
100
- })
101
-
102
104
  it('adds a track', async () => {
103
105
  const { getByTestId, getAllByTestId, findByText, findAllByText } = render(
104
106
  <AddTrackWidget model={model} />,
105
107
  )
108
+ // @ts-ignore
106
109
  expect(session.sessionTracks.length).toBe(1)
107
110
  fireEvent.change(getAllByTestId('urlInput')[0], {
108
111
  target: { value: 'test.txt' },
@@ -114,31 +117,13 @@ describe('<AddTrackWidget />', () => {
114
117
  fireEvent.change(getByTestId('trackNameInput'), {
115
118
  target: { value: 'Test track name' },
116
119
  })
117
- const trackTypeSelect = getByTestId('trackTypeSelect')
118
- fireEvent.mouseDown(trackTypeSelect)
119
- const featureTrack = await findByText('FeatureTrack')
120
- fireEvent.click(featureTrack)
121
- const assemblyNameSelect = getByTestId('assemblyNameSelect')
122
- fireEvent.mouseDown(assemblyNameSelect)
120
+ fireEvent.mouseDown(getByTestId('trackTypeSelect'))
121
+ fireEvent.click(await findByText('FeatureTrack'))
122
+ fireEvent.mouseDown(getByTestId('assemblyNameSelect'))
123
123
  const volMyt1 = await findAllByText('volMyt1')
124
124
  fireEvent.click(volMyt1[1])
125
125
  fireEvent.click(getAllByTestId('addTrackNextButton')[0])
126
- expect(session.sessionTracks.length).toBe(2)
127
- })
128
-
129
- xit('fails to add a track', async () => {
130
- const { getByTestId, getAllByTestId, findByText } = render(
131
- <AddTrackWidget model={model} />,
132
- )
133
- expect(session.sessionTracks.length).toBe(2)
134
- fireEvent.change(getAllByTestId('urlInput')[0], {
135
- target: { value: 'test.txt' },
136
- })
137
- fireEvent.click(getAllByTestId('addTrackNextButton')[0])
138
- fireEvent.mouseDown(getByTestId('adapterTypeSelect'))
139
- const chrom = await findByText('ChromSizesAdapter')
140
- fireEvent.click(chrom)
141
- fireEvent.click(getAllByTestId('addTrackNextButton')[0])
126
+ // @ts-ignore
142
127
  expect(session.sessionTracks.length).toBe(2)
143
128
  })
144
129
  })
@@ -1,209 +1,45 @@
1
- import React, { useState } from 'react'
2
- import {
3
- Alert,
4
- Button,
5
- Step,
6
- StepContent,
7
- StepLabel,
8
- Stepper,
9
- Typography,
10
- } from '@mui/material'
11
- import { makeStyles } from 'tss-react/mui'
12
- import {
13
- getSession,
14
- isElectron,
15
- supportedIndexingAdapters,
16
- } from '@jbrowse/core/util'
17
- import { getConf } from '@jbrowse/core/configuration'
1
+ import React from 'react'
18
2
  import { observer } from 'mobx-react'
3
+ import { FormControl, FormHelperText, Select, MenuItem } from '@mui/material'
4
+ import { AddTrackWorkflowType } from '@jbrowse/core/pluggableElementTypes'
5
+ import { useLocalStorage } from '@jbrowse/core/util'
19
6
  import { getEnv } from 'mobx-state-tree'
20
7
 
21
8
  // locals
22
- import ConfirmTrack from './ConfirmTrack'
23
- import TrackSourceSelect from './TrackSourceSelect'
24
9
  import { AddTrackModel } from '../model'
25
-
26
- const useStyles = makeStyles()(theme => ({
27
- root: {
28
- marginTop: theme.spacing(1),
29
- },
30
- stepper: {
31
- backgroundColor: theme.palette.background.default,
32
- },
33
- button: {
34
- marginTop: theme.spacing(1),
35
- marginRight: theme.spacing(1),
36
- },
37
- actionsContainer: {
38
- marginBottom: theme.spacing(2),
39
- },
40
- stepContent: {
41
- margin: theme.spacing(1),
42
- },
43
- alertContainer: {
44
- padding: `${theme.spacing(2)}px 0px ${theme.spacing(2)}px 0px`,
45
- },
46
- }))
47
-
48
- const steps = ['Enter track data', 'Confirm track type']
49
-
50
- function AddTrackWidget({ model }: { model: AddTrackModel }) {
51
- const [activeStep, setActiveStep] = useState(0)
52
- const { classes } = useStyles()
53
- const session = getSession(model)
54
- const { pluginManager } = getEnv(session)
55
- const { rootModel } = pluginManager
56
- const { jobsManager } = rootModel
57
- const {
58
- assembly,
59
- trackAdapter,
60
- trackData,
61
- trackName,
62
- trackType,
63
- textIndexTrack,
64
- textIndexingConf,
65
- } = model
66
- const [trackErrorMessage, setTrackErrorMessage] = useState<string>()
67
-
68
- function getStepContent(step: number) {
69
- switch (step) {
70
- case 0:
71
- return <TrackSourceSelect model={model} />
72
- case 1:
73
- return <ConfirmTrack model={model} />
74
- default:
75
- return <Typography>Unknown step</Typography>
76
- }
77
- }
78
-
79
- async function handleNext() {
80
- if (activeStep !== steps.length - 1) {
81
- setActiveStep(activeStep + 1)
82
- return
83
- }
84
-
85
- const trackId = `${trackName
86
- .toLowerCase()
87
- .replace(/ /g, '_')}-${Date.now()}${
88
- session.adminMode ? '' : '-sessionTrack'
89
- }`
90
-
91
- const assemblyInstance = session.assemblyManager.get(assembly)
92
-
93
- if (trackAdapter && trackAdapter.type !== 'UNKNOWN') {
94
- // @ts-ignore
95
- session.addTrackConf({
96
- trackId,
97
- type: trackType,
98
- name: trackName,
99
- assemblyNames: [assembly],
100
- adapter: {
101
- ...trackAdapter,
102
- sequenceAdapter: getConf(assemblyInstance, ['sequence', 'adapter']),
103
- },
104
- })
105
- const textSearchingDefault = {
106
- attributes: ['Name', 'ID'],
107
- exclude: ['CDS', 'exon'],
108
- }
109
- if (model.view) {
110
- model.view.showTrack(trackId)
111
- if (isElectron) {
112
- if (textIndexTrack && supportedIndexingAdapters(trackAdapter.type)) {
113
- const attr = textIndexingConf || textSearchingDefault
114
- const indexName = trackName + '-index'
115
- const indexingParams = {
116
- ...attr,
117
- assemblies: [assembly],
118
- tracks: [trackId],
119
- indexType: 'perTrack',
120
- name: indexName,
121
- timestamp: new Date().toISOString(),
122
- }
123
- const newEntry = {
124
- indexingParams: indexingParams,
125
- name: indexName,
126
- cancelCallback: () => {
127
- jobsManager.abortJob()
128
- },
129
- }
130
- jobsManager.queueJob(newEntry)
131
- }
132
- }
133
- } else {
134
- session.notify(
135
- 'Open a new view, or use the track selector in an existing view, to view this track',
136
- 'info',
137
- )
138
- }
139
- model.clearData()
140
- // @ts-ignore
141
- session.hideWidget(model)
142
- } else {
143
- setTrackErrorMessage(
144
- 'Failed to add track.\nThe configuration of this file is not currently supported.',
145
- )
146
- }
147
- }
148
-
149
- function handleBack() {
150
- setTrackErrorMessage(undefined)
151
- setActiveStep(activeStep - 1)
152
- }
153
-
154
- function isNextDisabled() {
155
- switch (activeStep) {
156
- case 0:
157
- return !trackData
158
- case 1:
159
- return !(trackName && trackType && trackAdapter?.type && assembly)
160
- default:
161
- return true
162
- }
163
- }
164
-
10
+ import DefaultAddTrackWorkflow from './DefaultAddTrackWorkflow'
11
+
12
+ function AddTrackSelector({ model }: { model: AddTrackModel }) {
13
+ const [val, setVal] = useLocalStorage('trackSelector-choice', 'Default')
14
+ const { pluginManager } = getEnv(model)
15
+ const widgets = pluginManager.getElementTypesInGroup(
16
+ 'add track workflow',
17
+ ) as AddTrackWorkflowType[]
18
+ const ComponentMap = {
19
+ Default: DefaultAddTrackWorkflow,
20
+ ...Object.fromEntries(widgets.map(w => [w.name, w.ReactComponent])),
21
+ } as { [key: string]: React.FC<{ model: AddTrackModel }> }
22
+
23
+ // make sure the selected value is in the list
24
+ const val2 = ComponentMap[val] ? val : 'Default'
25
+ const Component = ComponentMap[val2]
165
26
  return (
166
- <div className={classes.root}>
167
- <Stepper
168
- className={classes.stepper}
169
- activeStep={activeStep}
170
- orientation="vertical"
171
- >
172
- {steps.map((label, idx) => (
173
- <Step key={label}>
174
- <StepLabel>{label}</StepLabel>
175
- <StepContent>
176
- {getStepContent(idx)}
177
- <div className={classes.actionsContainer}>
178
- <Button
179
- disabled={activeStep === 0}
180
- onClick={handleBack}
181
- className={classes.button}
182
- >
183
- Back
184
- </Button>
185
- <Button
186
- disabled={isNextDisabled()}
187
- variant="contained"
188
- color="primary"
189
- onClick={handleNext}
190
- className={classes.button}
191
- data-testid="addTrackNextButton"
192
- >
193
- {activeStep === steps.length - 1 ? 'Add' : 'Next'}
194
- </Button>
195
- </div>
196
- {trackErrorMessage ? (
197
- <div className={classes.alertContainer}>
198
- <Alert severity="error">{trackErrorMessage}</Alert>
199
- </div>
200
- ) : null}
201
- </StepContent>
202
- </Step>
203
- ))}
204
- </Stepper>
205
- </div>
27
+ <>
28
+ <FormControl>
29
+ <Select value={val2} onChange={event => setVal(event.target.value)}>
30
+ {Object.keys(ComponentMap).map(e => (
31
+ <MenuItem key={e} value={e}>
32
+ {e}
33
+ </MenuItem>
34
+ ))}
35
+ </Select>
36
+ <FormHelperText>Type of add track workflow</FormHelperText>
37
+ </FormControl>
38
+
39
+ <br />
40
+ <Component model={model} />
41
+ </>
206
42
  )
207
43
  }
208
44
 
209
- export default observer(AddTrackWidget)
45
+ export default observer(AddTrackSelector)
@@ -230,10 +230,9 @@ const TextIndexingConfig = observer(({ model }: { model: AddTrackModel }) => {
230
230
 
231
231
  const TrackAdapterSelector = observer(({ model }: { model: AddTrackModel }) => {
232
232
  const { classes } = useStyles()
233
- const session = getSession(model)
234
233
  const { trackAdapter } = model
235
- // prettier-ignore
236
- const adapters = getAdapterTypes(getEnv(session).pluginManager)
234
+ const { pluginManager } = getEnv(model)
235
+ const adapters = getAdapterTypes(pluginManager)
237
236
  return (
238
237
  <TextField
239
238
  className={classes.spacing}
@@ -242,9 +241,7 @@ const TrackAdapterSelector = observer(({ model }: { model: AddTrackModel }) => {
242
241
  helperText="Select an adapter type"
243
242
  select
244
243
  fullWidth
245
- onChange={event => {
246
- model.setAdapterHint(event.target.value)
247
- }}
244
+ onChange={event => model.setAdapterHint(event.target.value)}
248
245
  SelectProps={{
249
246
  // @ts-ignore
250
247
  SelectDisplayProps: { 'data-testid': 'adapterTypeSelect' },
@@ -264,10 +261,13 @@ const TrackAdapterSelector = observer(({ model }: { model: AddTrackModel }) => {
264
261
  : elt.name}
265
262
  </MenuItem>
266
263
  ))}
267
- {/* adapters with the 'adapterMetadata.category' property are categorized by the value of the property here */}
268
- {categorizeAdapters(
269
- adapters.filter(elt => !elt.adapterMetadata?.hiddenFromGUI),
270
- )}
264
+ {
265
+ // adapters with the 'adapterMetadata.category' property are categorized
266
+ // by the value of the property here
267
+ categorizeAdapters(
268
+ adapters.filter(elt => !elt.adapterMetadata?.hiddenFromGUI),
269
+ )
270
+ }
271
271
  </TextField>
272
272
  )
273
273
  })