@jbrowse/core 2.14.0 → 2.15.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 (32) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/index.js +4 -35
  2. package/BaseFeatureWidget/BaseFeatureDetail/util.js +1 -1
  3. package/PluginManager.d.ts +1 -1
  4. package/TextSearch/TextSearchManager.d.ts +4 -3
  5. package/TextSearch/TextSearchManager.js +14 -14
  6. package/assemblyManager/assembly.d.ts +4 -9
  7. package/assemblyManager/assembly.js +10 -16
  8. package/assemblyManager/assemblyManager.d.ts +63 -35
  9. package/data_adapters/BaseAdapter/BaseAdapter.d.ts +2 -1
  10. package/data_adapters/BaseAdapter/BaseAdapter.js +2 -1
  11. package/data_adapters/dataAdapterCache.js +1 -6
  12. package/package.json +4 -4
  13. package/pluggableElementTypes/AdapterType.d.ts +0 -1
  14. package/pluggableElementTypes/AdapterType.js +4 -10
  15. package/pluggableElementTypes/DisplayType.d.ts +8 -2
  16. package/pluggableElementTypes/TextSearchAdapterType.d.ts +5 -2
  17. package/pluggableElementTypes/TextSearchAdapterType.js +4 -1
  18. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -0
  19. package/pluggableElementTypes/models/BaseTrackModel.js +1 -0
  20. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +3 -0
  21. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +3 -0
  22. package/tsconfig.build.tsbuildinfo +1 -1
  23. package/ui/BaseTooltip.d.ts +9 -0
  24. package/ui/BaseTooltip.js +53 -0
  25. package/ui/CascadingMenu.js +3 -1
  26. package/ui/Menu.js +10 -5
  27. package/ui/theme.js +5 -2
  28. package/util/aborting.js +1 -1
  29. package/util/index.d.ts +3 -2
  30. package/util/index.js +4 -2
  31. package/util/rxjs.js +1 -3
  32. package/util/types/index.d.ts +1 -1
@@ -2,7 +2,7 @@ import PluggableElementBase from './PluggableElementBase';
2
2
  import { AnyConfigurationSchemaType } from '../configuration';
3
3
  import { AnyAdapter } from '../data_adapters/BaseAdapter';
4
4
  export default class TextSearchAdapterType extends PluggableElementBase {
5
- AdapterClass: AnyAdapter;
5
+ getAdapterClass: () => Promise<AnyAdapter>;
6
6
  configSchema: AnyConfigurationSchemaType;
7
7
  description?: string;
8
8
  constructor(stuff: {
@@ -10,6 +10,9 @@ export default class TextSearchAdapterType extends PluggableElementBase {
10
10
  displayName?: string;
11
11
  description?: string;
12
12
  configSchema: AnyConfigurationSchemaType;
13
+ } & ({
13
14
  AdapterClass: AnyAdapter;
14
- });
15
+ } | {
16
+ getAdapterClass: () => Promise<AnyAdapter>;
17
+ }));
15
18
  }
@@ -9,7 +9,10 @@ class TextSearchAdapterType extends PluggableElementBase_1.default {
9
9
  super(stuff);
10
10
  this.description = stuff.description;
11
11
  this.configSchema = stuff.configSchema;
12
- this.AdapterClass = stuff.AdapterClass;
12
+ this.getAdapterClass =
13
+ 'getAdapterClass' in stuff
14
+ ? stuff.getAdapterClass
15
+ : async () => stuff.AdapterClass;
13
16
  }
14
17
  }
15
18
  exports.default = TextSearchAdapterType;
@@ -79,6 +79,7 @@ export declare function createBaseTrackModel(pm: PluginManager, trackType: strin
79
79
  trackMenuItems(): (import("../../ui").MenuDivider | import("../../ui").MenuSubHeader | import("../../ui").NormalMenuItem | import("../../ui").CheckboxMenuItem | import("../../ui").RadioMenuItem | import("../../ui").SubMenuItem | {
80
80
  type: string;
81
81
  label: string;
82
+ priority: number;
82
83
  subMenu: {
83
84
  type: string;
84
85
  label: string;
@@ -172,6 +172,7 @@ function createBaseTrackModel(pm, trackType, baseTrackConfig) {
172
172
  {
173
173
  type: 'subMenu',
174
174
  label: 'Display types',
175
+ priority: -1000,
175
176
  subMenu: compatDisp.map(d => ({
176
177
  type: 'radio',
177
178
  label: pm.getDisplayType(d.type).displayName,
@@ -72,6 +72,7 @@ const OldHydrate = (0, mobx_react_1.observer)(function OldHydrate(props) {
72
72
  function doHydrate() {
73
73
  if (domNode && html) {
74
74
  if (domNode.innerHTML) {
75
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
75
76
  (0, react_dom_1.unmountComponentAtNode)(domNode);
76
77
  }
77
78
  // setting outline:none fixes react "focusable" element issue. see
@@ -82,6 +83,7 @@ const OldHydrate = (0, mobx_react_1.observer)(function OldHydrate(props) {
82
83
  // hydration for when we have some free time. helps keep the
83
84
  // framerate up.
84
85
  (0, util_1.rIC)(() => {
86
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
85
87
  (0, react_dom_1.hydrate)(react_1.default.createElement(RenderingComponent, { ...props }), domNode);
86
88
  });
87
89
  }
@@ -89,6 +91,7 @@ const OldHydrate = (0, mobx_react_1.observer)(function OldHydrate(props) {
89
91
  doHydrate();
90
92
  return () => {
91
93
  if (domNode) {
94
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
92
95
  (0, react_dom_1.unmountComponentAtNode)(domNode);
93
96
  }
94
97
  };
@@ -75,9 +75,11 @@ const OldHydrate = (0, mobx_react_1.observer)(function ({ theme, html, Rendering
75
75
  const domNode = ref.current;
76
76
  function doHydrate() {
77
77
  if (domNode) {
78
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
78
79
  (0, react_dom_1.unmountComponentAtNode)(domNode);
79
80
  domNode.innerHTML = html;
80
81
  (0, util_1.rIC)(() => {
82
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
81
83
  (0, react_dom_1.hydrate)(react_1.default.createElement(styles_1.ThemeProvider, { theme: jbrowseTheme },
82
84
  react_1.default.createElement(RenderingComponent, { ...rest })), domNode);
83
85
  });
@@ -86,6 +88,7 @@ const OldHydrate = (0, mobx_react_1.observer)(function ({ theme, html, Rendering
86
88
  doHydrate();
87
89
  return () => {
88
90
  if (domNode) {
91
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
89
92
  (0, react_dom_1.unmountComponentAtNode)(domNode);
90
93
  }
91
94
  };