@jbrowse/core 1.4.1 → 1.5.2

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 (159) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +4 -4
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +27 -8
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +10 -10
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/types.d.ts +1 -1
  6. package/BaseFeatureWidget/util.js +3 -3
  7. package/CorePlugin.d.ts +0 -1
  8. package/CorePlugin.js +13 -1
  9. package/PluginLoader.d.ts +26 -4
  10. package/PluginLoader.js +337 -51
  11. package/PluginManager.d.ts +18 -11
  12. package/PluginManager.js +53 -31
  13. package/ReExports/list.js +1 -1
  14. package/ReExports/material-ui-colors.js +38 -38
  15. package/ReExports/modules.d.ts +19 -20
  16. package/ReExports/modules.js +10 -3
  17. package/TextSearch/BaseResults.d.ts +5 -14
  18. package/TextSearch/BaseResults.js +16 -58
  19. package/TextSearch/BaseResults.test.js +1 -11
  20. package/TextSearch/TextSearchManager.d.ts +3 -3
  21. package/TextSearch/TextSearchManager.js +1 -1
  22. package/assemblyManager/assembly.d.ts +21 -8
  23. package/assemblyManager/assembly.js +163 -120
  24. package/assemblyManager/assemblyConfigSchema.d.ts +3 -0
  25. package/assemblyManager/{assemblyConfigSchemas.js → assemblyConfigSchema.js} +35 -27
  26. package/assemblyManager/assemblyManager.d.ts +169 -60
  27. package/assemblyManager/index.d.ts +1 -1
  28. package/assemblyManager/index.js +5 -5
  29. package/configuration/configurationSchema.d.ts +3 -2
  30. package/configuration/configurationSchema.js +7 -10
  31. package/configuration/configurationSchema.test.js +4 -2
  32. package/configuration/configurationSlot.js +5 -4
  33. package/configuration/index.js +4 -4
  34. package/configuration/util.js +5 -5
  35. package/data_adapters/BaseAdapter.d.ts +5 -3
  36. package/data_adapters/BaseAdapter.js +7 -4
  37. package/data_adapters/BaseAdapter.test.js +4 -2
  38. package/data_adapters/CytobandAdapter.d.ts +8 -0
  39. package/data_adapters/CytobandAdapter.js +128 -0
  40. package/data_adapters/dataAdapterCache.js +3 -3
  41. package/package.json +7 -6
  42. package/pluggableElementTypes/AdapterType.d.ts +9 -1
  43. package/pluggableElementTypes/AdapterType.js +20 -0
  44. package/pluggableElementTypes/InternetAccountType.d.ts +12 -0
  45. package/pluggableElementTypes/InternetAccountType.js +64 -0
  46. package/pluggableElementTypes/PluggableElementBase.d.ts +1 -2
  47. package/pluggableElementTypes/PluggableElementBase.js +2 -3
  48. package/pluggableElementTypes/RpcMethodType.d.ts +3 -0
  49. package/pluggableElementTypes/RpcMethodType.js +269 -26
  50. package/pluggableElementTypes/RpcMethodType.test.d.ts +4 -0
  51. package/pluggableElementTypes/RpcMethodType.test.js +118 -0
  52. package/pluggableElementTypes/ViewType.d.ts +1 -1
  53. package/pluggableElementTypes/WidgetType.d.ts +1 -0
  54. package/pluggableElementTypes/index.d.ts +7 -3
  55. package/pluggableElementTypes/index.js +127 -1
  56. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +6 -6
  57. package/pluggableElementTypes/models/BaseDisplayModel.js +1 -3
  58. package/pluggableElementTypes/models/BaseViewModel.js +13 -15
  59. package/pluggableElementTypes/models/InternetAccountModel.d.ts +24 -0
  60. package/pluggableElementTypes/models/InternetAccountModel.js +85 -0
  61. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +4 -0
  62. package/pluggableElementTypes/models/baseInternetAccountConfig.js +25 -0
  63. package/pluggableElementTypes/models/index.d.ts +3 -0
  64. package/pluggableElementTypes/models/index.js +24 -8
  65. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -1
  66. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +1 -1
  67. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +15 -6
  68. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +3 -3
  69. package/pluggableElementTypes/renderers/FeatureRendererType.js +17 -8
  70. package/pluggableElementTypes/renderers/RendererType.d.ts +1 -0
  71. package/pluggableElementTypes/renderers/RendererType.js +4 -1
  72. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +1 -1
  73. package/pluggableElementTypes/renderers/index.d.ts +9 -0
  74. package/pluggableElementTypes/renderers/index.js +63 -0
  75. package/rpc/BaseRpcDriver.js +5 -9
  76. package/rpc/BaseRpcDriver.test.js +6 -6
  77. package/rpc/RpcManager.d.ts +1 -1
  78. package/rpc/RpcManager.js +44 -16
  79. package/rpc/WebWorkerRpcDriver.js +3 -3
  80. package/rpc/coreRpcMethods.d.ts +2 -1
  81. package/rpc/coreRpcMethods.js +109 -75
  82. package/rpc/remoteAbortSignals.js +2 -2
  83. package/ui/App.d.ts +17 -4
  84. package/ui/App.js +55 -41
  85. package/ui/Drawer.d.ts +6 -14
  86. package/ui/Drawer.js +11 -12
  87. package/ui/DrawerWidget.d.ts +5 -3
  88. package/ui/DrawerWidget.js +100 -61
  89. package/ui/ErrorMessage.d.ts +5 -0
  90. package/ui/ErrorMessage.js +54 -0
  91. package/ui/FileSelector/FileSelector.d.ts +11 -0
  92. package/ui/FileSelector/FileSelector.js +198 -0
  93. package/ui/FileSelector/LocalFileChooser.d.ts +7 -0
  94. package/ui/FileSelector/LocalFileChooser.js +79 -0
  95. package/ui/FileSelector/UrlChooser.d.ts +9 -0
  96. package/ui/FileSelector/UrlChooser.js +41 -0
  97. package/ui/FileSelector/index.d.ts +2 -0
  98. package/ui/FileSelector/index.js +13 -0
  99. package/ui/Icons.d.ts +4 -0
  100. package/ui/Icons.js +34 -0
  101. package/ui/Logo.js +1 -1
  102. package/ui/PrerenderedCanvas.d.ts +1 -0
  103. package/ui/PrerenderedCanvas.js +4 -1
  104. package/ui/ResizeHandle.d.ts +2 -3
  105. package/ui/ResizeHandle.js +6 -7
  106. package/ui/SanitizedHTML.js +1 -1
  107. package/ui/Snackbar.js +4 -6
  108. package/ui/SnackbarModel.d.ts +16 -0
  109. package/ui/SnackbarModel.js +56 -0
  110. package/ui/Tooltip.d.ts +1 -1
  111. package/ui/index.js +24 -24
  112. package/ui/theme.js +5 -5
  113. package/util/QuickLRU.d.ts +1 -1
  114. package/util/QuickLRU.js +3 -3
  115. package/util/aborting.d.ts +1 -1
  116. package/util/aborting.js +10 -11
  117. package/util/analytics.d.ts +2 -2
  118. package/util/analytics.js +20 -7
  119. package/util/blockTypes.d.ts +11 -6
  120. package/util/blockTypes.js +7 -1
  121. package/util/color/cssColorsLevel4.js +1 -1
  122. package/util/color/index.js +5 -5
  123. package/util/compositeMap.js +3 -3
  124. package/util/index.d.ts +6 -16
  125. package/util/index.js +76 -100
  126. package/util/io/RemoteFileWithRangeCache.d.ts +17 -0
  127. package/util/io/RemoteFileWithRangeCache.js +266 -0
  128. package/util/io/index.d.ts +4 -2
  129. package/util/io/index.js +134 -25
  130. package/util/jexl.js +4 -1
  131. package/util/layouts/BaseLayout.d.ts +3 -0
  132. package/util/layouts/GranularRectLayout.d.ts +19 -10
  133. package/util/layouts/GranularRectLayout.js +459 -100
  134. package/util/layouts/GranularRectLayout.test.js +57 -10
  135. package/util/layouts/PrecomputedLayout.js +2 -1
  136. package/util/layouts/index.d.ts +7 -0
  137. package/util/layouts/index.js +68 -0
  138. package/util/mst-reflection.js +3 -3
  139. package/util/offscreenCanvasPonyfill.js +1 -1
  140. package/util/range.js +1 -1
  141. package/util/simpleFeature.js +1 -1
  142. package/util/stats.js +2 -2
  143. package/util/tracks.d.ts +31 -362
  144. package/util/tracks.js +74 -190
  145. package/util/types/index.d.ts +54 -10
  146. package/util/types/index.js +110 -8
  147. package/util/types/mst.d.ts +46 -2
  148. package/util/types/mst.js +56 -8
  149. package/util/types/util.d.ts +1 -1
  150. package/util/when.js +1 -1
  151. package/assemblyManager/assemblyConfigSchemas.d.ts +0 -7
  152. package/ui/FileSelector.d.ts +0 -9
  153. package/ui/FileSelector.js +0 -150
  154. package/util/io/LocalFile.d.ts +0 -18
  155. package/util/io/LocalFile.js +0 -220
  156. package/util/io/rangeFetcher.d.ts +0 -3
  157. package/util/io/rangeFetcher.js +0 -236
  158. package/value.d.ts +0 -1
  159. package/value.js +0 -10
@@ -7,7 +7,7 @@ export declare const BaseDisplay: import("mobx-state-tree").IModelType<{
7
7
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
8
8
  }, {
9
9
  rendererTypeName: string;
10
- error: Error | undefined;
10
+ error: unknown;
11
11
  } & {
12
12
  readonly RenderingComponent: React.FC<{
13
13
  model: import("mobx-state-tree").ModelInstanceTypeProps<{
@@ -16,14 +16,14 @@ export declare const BaseDisplay: import("mobx-state-tree").IModelType<{
16
16
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
17
17
  }> & {
18
18
  rendererTypeName: string;
19
- error: Error | undefined;
19
+ error: unknown;
20
20
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
21
21
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
22
22
  type: import("mobx-state-tree").ISimpleType<string>;
23
23
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
24
24
  }, {
25
25
  rendererTypeName: string;
26
- error: Error | undefined;
26
+ error: unknown;
27
27
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
28
28
  onHorizontalScroll?: Function | undefined;
29
29
  blockState?: Record<string, any> | undefined;
@@ -35,14 +35,14 @@ export declare const BaseDisplay: import("mobx-state-tree").IModelType<{
35
35
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
36
36
  }> & {
37
37
  rendererTypeName: string;
38
- error: Error | undefined;
38
+ error: unknown;
39
39
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
40
40
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
41
41
  type: import("mobx-state-tree").ISimpleType<string>;
42
42
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
43
43
  }, {
44
44
  rendererTypeName: string;
45
- error: Error | undefined;
45
+ error: unknown;
46
46
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
47
47
  }> | null;
48
48
  readonly adapterConfig: any;
@@ -73,7 +73,7 @@ export declare const BaseDisplay: import("mobx-state-tree").IModelType<{
73
73
  */
74
74
  regionCannotBeRendered(): undefined;
75
75
  } & {
76
- setError(error?: Error | undefined): void;
76
+ setError(error?: unknown): void;
77
77
  setRpcDriverName(rpcDriverName: string): void;
78
78
  reload(): void;
79
79
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -117,9 +117,7 @@ var BaseDisplay = _mobxStateTree.types.model('BaseDisplay', {
117
117
  * string of text describes why it cannot be rendered
118
118
  * react node allows user to force load at current setting
119
119
  */
120
- regionCannotBeRendered: function regionCannotBeRendered()
121
- /* region */
122
- {
120
+ regionCannotBeRendered: function regionCannotBeRendered() {
123
121
  return undefined;
124
122
  }
125
123
  };
@@ -12,22 +12,20 @@ var _mst = require("../../util/types/mst");
12
12
  var BaseViewModel = _mobxStateTree.types.model('BaseView', {
13
13
  id: _mst.ElementId,
14
14
  displayName: _mobxStateTree.types.maybe(_mobxStateTree.types.string)
15
- }).volatile(function () {
16
- return (
17
- /* self */
18
- {
19
- width: 800
20
- }
21
- );
22
- }).views(function () {
23
- return (
24
- /* self */
25
- {
26
- menuItems: function menuItems() {
27
- return [];
28
- }
15
+ }).volatile(function
16
+ /* self */
17
+ () {
18
+ return {
19
+ width: 800
20
+ };
21
+ }).views(function
22
+ /* self */
23
+ () {
24
+ return {
25
+ menuItems: function menuItems() {
26
+ return [];
29
27
  }
30
- );
28
+ };
31
29
  }).actions(function (self) {
32
30
  return {
33
31
  setDisplayName: function setDisplayName(name) {
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Instance } from 'mobx-state-tree';
3
+ import { RemoteFileWithRangeCache } from '../../util/io';
4
+ import { FileLocation, UriLocation, AnyReactComponentType } from '@jbrowse/core/util/types';
5
+ export declare const InternetAccount: import("mobx-state-tree").IModelType<{
6
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
7
+ type: import("mobx-state-tree").ISimpleType<string>;
8
+ }, {
9
+ readonly name: any;
10
+ readonly internetAccountId: any;
11
+ readonly tokenType: any;
12
+ readonly accountConfig: any;
13
+ readonly toggleContents: React.ReactNode;
14
+ readonly SelectorComponent: AnyReactComponentType | undefined;
15
+ readonly selectorLabel: string | undefined;
16
+ handlesLocation(location: FileLocation): boolean;
17
+ } & {
18
+ openLocation(location: UriLocation): RemoteFileWithRangeCache;
19
+ getPreAuthorizationInformation(location: UriLocation): Promise<{
20
+ internetAccountType: string;
21
+ }>;
22
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
23
+ export declare type BaseInternetAccountStateModel = typeof InternetAccount;
24
+ export declare type BaseInternetAccountModel = Instance<BaseInternetAccountStateModel>;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.InternetAccount = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _mobxStateTree = require("mobx-state-tree");
15
+
16
+ var _configuration = require("../../configuration");
17
+
18
+ var _io = require("../../util/io");
19
+
20
+ var _mst = require("../../util/types/mst");
21
+
22
+ var InternetAccount = _mobxStateTree.types.model('InternetAccount', {
23
+ id: _mst.ElementId,
24
+ type: _mobxStateTree.types.string
25
+ }).views(function (self) {
26
+ return {
27
+ get name() {
28
+ return (0, _configuration.getConf)(self, 'name');
29
+ },
30
+
31
+ get internetAccountId() {
32
+ return (0, _configuration.getConf)(self, 'internetAccountId');
33
+ },
34
+
35
+ get tokenType() {
36
+ return (0, _configuration.getConf)(self, 'tokenType');
37
+ },
38
+
39
+ get accountConfig() {
40
+ return (0, _configuration.getConf)(self);
41
+ },
42
+
43
+ get toggleContents() {
44
+ return null;
45
+ },
46
+
47
+ get SelectorComponent() {
48
+ return undefined;
49
+ },
50
+
51
+ get selectorLabel() {
52
+ return undefined;
53
+ },
54
+
55
+ handlesLocation: function handlesLocation(location) {
56
+ return false;
57
+ }
58
+ };
59
+ }).actions(function (self) {
60
+ return {
61
+ openLocation: function openLocation(location) {
62
+ return new _io.RemoteFileWithRangeCache(String(location.uri));
63
+ },
64
+ getPreAuthorizationInformation: function getPreAuthorizationInformation(location) {
65
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
66
+ return _regenerator.default.wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ return _context.abrupt("return", {
71
+ internetAccountType: self.type
72
+ });
73
+
74
+ case 1:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }
79
+ }, _callee);
80
+ }))();
81
+ }
82
+ };
83
+ });
84
+
85
+ exports.InternetAccount = InternetAccount;
@@ -0,0 +1,4 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ export declare const BaseInternetAccountConfig: import("../../configuration/configurationSchema").AnyConfigurationSchemaType;
3
+ export declare type BaseInternetAccountConfigModel = typeof BaseInternetAccountConfig;
4
+ export declare type BaseInternetAccountConfig = Instance<BaseInternetAccountConfigModel>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BaseInternetAccountConfig = void 0;
7
+
8
+ var _configuration = require("../../configuration");
9
+
10
+ var BaseInternetAccountConfig = (0, _configuration.ConfigurationSchema)('InternetAccount', {
11
+ name: {
12
+ description: 'descriptive name of the internet acount',
13
+ type: 'string',
14
+ defaultValue: ''
15
+ },
16
+ description: {
17
+ description: 'a description of the internet account',
18
+ type: 'string',
19
+ defaultValue: ''
20
+ }
21
+ }, {
22
+ explicitIdentifier: 'internetAccountId',
23
+ explicitlyTyped: true
24
+ });
25
+ exports.BaseInternetAccountConfig = BaseInternetAccountConfig;
@@ -4,6 +4,9 @@ export { default as BaseViewModel } from './BaseViewModel';
4
4
  export type { IBaseViewModel } from './BaseViewModel';
5
5
  export { BaseDisplay } from './BaseDisplayModel';
6
6
  export type { BaseDisplayModel, BaseDisplayStateModel, } from './BaseDisplayModel';
7
+ export { InternetAccount } from './InternetAccountModel';
8
+ export type { BaseInternetAccountModel, BaseInternetAccountStateModel, } from './InternetAccountModel';
9
+ export { BaseInternetAccountConfig } from './baseInternetAccountConfig';
7
10
  export { createBaseTrackModel } from './BaseTrackModel';
8
11
  export type { BaseTrackModel, BaseTrackStateModel } from './BaseTrackModel';
9
12
  export { createBaseTrackConfig } from './baseTrackConfig';
@@ -5,16 +5,22 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "baseConnectionConfig", {
8
+ Object.defineProperty(exports, "BaseConnectionModelFactory", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _baseConnectionConfig.default;
11
+ return _BaseConnectionModelFactory.default;
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "BaseConnectionModelFactory", {
14
+ Object.defineProperty(exports, "BaseDisplay", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _BaseConnectionModelFactory.default;
17
+ return _BaseDisplayModel.BaseDisplay;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "BaseInternetAccountConfig", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _baseInternetAccountConfig.BaseInternetAccountConfig;
18
24
  }
19
25
  });
20
26
  Object.defineProperty(exports, "BaseViewModel", {
@@ -23,16 +29,16 @@ Object.defineProperty(exports, "BaseViewModel", {
23
29
  return _BaseViewModel.default;
24
30
  }
25
31
  });
26
- Object.defineProperty(exports, "BaseDisplay", {
32
+ Object.defineProperty(exports, "InternetAccount", {
27
33
  enumerable: true,
28
34
  get: function get() {
29
- return _BaseDisplayModel.BaseDisplay;
35
+ return _InternetAccountModel.InternetAccount;
30
36
  }
31
37
  });
32
- Object.defineProperty(exports, "createBaseTrackModel", {
38
+ Object.defineProperty(exports, "baseConnectionConfig", {
33
39
  enumerable: true,
34
40
  get: function get() {
35
- return _BaseTrackModel.createBaseTrackModel;
41
+ return _baseConnectionConfig.default;
36
42
  }
37
43
  });
38
44
  Object.defineProperty(exports, "createBaseTrackConfig", {
@@ -41,6 +47,12 @@ Object.defineProperty(exports, "createBaseTrackConfig", {
41
47
  return _baseTrackConfig.createBaseTrackConfig;
42
48
  }
43
49
  });
50
+ Object.defineProperty(exports, "createBaseTrackModel", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _BaseTrackModel.createBaseTrackModel;
54
+ }
55
+ });
44
56
 
45
57
  var _baseConnectionConfig = _interopRequireDefault(require("./baseConnectionConfig"));
46
58
 
@@ -50,6 +62,10 @@ var _BaseViewModel = _interopRequireDefault(require("./BaseViewModel"));
50
62
 
51
63
  var _BaseDisplayModel = require("./BaseDisplayModel");
52
64
 
65
+ var _InternetAccountModel = require("./InternetAccountModel");
66
+
67
+ var _baseInternetAccountConfig = require("./baseInternetAccountConfig");
68
+
53
69
  var _BaseTrackModel = require("./BaseTrackModel");
54
70
 
55
71
  var _baseTrackConfig = require("./baseTrackConfig");
@@ -79,7 +79,7 @@ var LayoutSession = /*#__PURE__*/function () {
79
79
  maxHeight: (0, _configuration.readConfObject)(this.config, 'maxHeight'),
80
80
  displayMode: (0, _configuration.readConfObject)(this.config, 'displayMode'),
81
81
  pitchX: this.bpPerPx,
82
- spacing: (0, _configuration.readConfObject)(this.config, 'noSpacing') ? 0 : 2
82
+ pitchY: (0, _configuration.readConfObject)(this.config, 'noSpacing') ? 1 : 3
83
83
  });
84
84
  }
85
85
  /**
@@ -45,5 +45,5 @@ export default class ComparativeServerSideRenderer extends ServerSideRenderer {
45
45
  * @returns true if this feature passes all configured filters
46
46
  */
47
47
  featurePassesFilters(renderArgs: RenderArgsDeserialized, feature: Feature): boolean;
48
- getFeatures(renderArgs: any): Promise<any>;
48
+ getFeatures(renderArgs: any): Promise<Feature[]>;
49
49
  }
@@ -29,6 +29,8 @@ var _operators = require("rxjs/operators");
29
29
 
30
30
  var _ServerSideRendererType = _interopRequireDefault(require("./ServerSideRendererType"));
31
31
 
32
+ var _dataAdapterCache = require("../../data_adapters/dataAdapterCache");
33
+
32
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
33
35
 
34
36
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -129,25 +131,32 @@ var ComparativeServerSideRenderer = /*#__PURE__*/function (_ServerSideRenderer)
129
131
  var _getFeatures = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(renderArgs) {
130
132
  var _this = this;
131
133
 
132
- var dataAdapter, signal, regions, requestRegions, featureObservable;
134
+ var signal, sessionId, adapterConfig, _yield$getAdapter, dataAdapter, regions, requestRegions, featureObservable;
135
+
133
136
  return _regenerator.default.wrap(function _callee2$(_context2) {
134
137
  while (1) {
135
138
  switch (_context2.prev = _context2.next) {
136
139
  case 0:
137
- dataAdapter = renderArgs.dataAdapter, signal = renderArgs.signal;
140
+ signal = renderArgs.signal, sessionId = renderArgs.sessionId, adapterConfig = renderArgs.adapterConfig;
141
+ _context2.next = 3;
142
+ return (0, _dataAdapterCache.getAdapter)(this.pluginManager, sessionId, adapterConfig);
143
+
144
+ case 3:
145
+ _yield$getAdapter = _context2.sent;
146
+ dataAdapter = _yield$getAdapter.dataAdapter;
138
147
  regions = []; // @ts-ignore this is instantiated by the getFeatures call
139
148
 
140
149
  regions = renderArgs.regions;
141
150
 
142
151
  if (!(!regions || regions.length === 0)) {
143
- _context2.next = 6;
152
+ _context2.next = 10;
144
153
  break;
145
154
  }
146
155
 
147
156
  console.warn('no regions supplied to comparative renderer');
148
157
  return _context2.abrupt("return", []);
149
158
 
150
- case 6:
159
+ case 10:
151
160
  requestRegions = regions.map(function (r) {
152
161
  // make sure the requested region's start and end are integers, if
153
162
  // there is a region specification.
@@ -172,12 +181,12 @@ var ComparativeServerSideRenderer = /*#__PURE__*/function (_ServerSideRenderer)
172
181
  return _this.featurePassesFilters(renderArgs, feature);
173
182
  }), (0, _operators.toArray)()).toPromise());
174
183
 
175
- case 9:
184
+ case 13:
176
185
  case "end":
177
186
  return _context2.stop();
178
187
  }
179
188
  }
180
- }, _callee2);
189
+ }, _callee2, this);
181
190
  }));
182
191
 
183
192
  function getFeatures(_x3) {
@@ -1,7 +1,7 @@
1
- import { BaseFeatureDataAdapter } from '../../data_adapters/BaseAdapter';
2
1
  import { Feature, SimpleFeatureSerialized } from '../../util/simpleFeature';
3
- import { Region } from '../../util/types';
2
+ import { AugmentedRegion as Region } from '../../util/types';
4
3
  import ServerSideRendererType, { RenderArgs as ServerSideRenderArgs, RenderArgsSerialized as ServerSideRenderArgsSerialized, RenderArgsDeserialized as ServerSideRenderArgsDeserialized, RenderResults as ServerSideRenderResults, ResultsDeserialized as ServerSideResultsDeserialized, ResultsSerialized as ServerSideResultsSerialized } from './ServerSideRendererType';
4
+ import { AnyConfigurationModel } from '../../configuration/configurationSchema';
5
5
  export interface RenderArgs extends ServerSideRenderArgs {
6
6
  displayModel: {
7
7
  id: string;
@@ -19,13 +19,13 @@ export interface RenderArgsSerialized extends ServerSideRenderArgsSerialized {
19
19
  blockKey: string;
20
20
  }
21
21
  export interface RenderArgsDeserialized extends ServerSideRenderArgsDeserialized {
22
- dataAdapter: BaseFeatureDataAdapter;
23
22
  displayModel: {
24
23
  id: string;
25
24
  selectedFeatureId?: string;
26
25
  };
27
26
  regions: Region[];
28
27
  blockKey: string;
28
+ adapterConfig: AnyConfigurationModel;
29
29
  }
30
30
  export interface RenderResults extends ServerSideRenderResults {
31
31
  features: Map<string, Feature>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.NewFeatureRendererType = exports.default = void 0;
8
+ exports.default = exports.NewFeatureRendererType = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
@@ -31,6 +31,8 @@ var _util = require("../../util");
31
31
 
32
32
  var _simpleFeature = _interopRequireDefault(require("../../util/simpleFeature"));
33
33
 
34
+ var _dataAdapterCache = require("../../data_adapters/dataAdapterCache");
35
+
34
36
  var _ServerSideRendererType = _interopRequireDefault(require("./ServerSideRendererType"));
35
37
 
36
38
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -143,22 +145,29 @@ var FeatureRendererType = /*#__PURE__*/function (_ServerSideRendererTy) {
143
145
  var _getFeatures = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(renderArgs) {
144
146
  var _this = this;
145
147
 
146
- var dataAdapter, signal, regions, features, requestRegions, region, featureObservable;
148
+ var signal, regions, sessionId, adapterConfig, _yield$getAdapter, dataAdapter, features, requestRegions, region, featureObservable;
149
+
147
150
  return _regenerator.default.wrap(function _callee$(_context) {
148
151
  while (1) {
149
152
  switch (_context.prev = _context.next) {
150
153
  case 0:
151
- dataAdapter = renderArgs.dataAdapter, signal = renderArgs.signal, regions = renderArgs.regions;
154
+ signal = renderArgs.signal, regions = renderArgs.regions, sessionId = renderArgs.sessionId, adapterConfig = renderArgs.adapterConfig;
155
+ _context.next = 3;
156
+ return (0, _dataAdapterCache.getAdapter)(this.pluginManager, sessionId, adapterConfig);
157
+
158
+ case 3:
159
+ _yield$getAdapter = _context.sent;
160
+ dataAdapter = _yield$getAdapter.dataAdapter;
152
161
  features = new Map();
153
162
 
154
163
  if (!(!regions || regions.length === 0)) {
155
- _context.next = 4;
164
+ _context.next = 8;
156
165
  break;
157
166
  }
158
167
 
159
168
  return _context.abrupt("return", features);
160
169
 
161
- case 4:
170
+ case 8:
162
171
  requestRegions = regions.map(function (r) {
163
172
  // make sure the requested region's start and end are integers, if
164
173
  // there is a region specification.
@@ -178,7 +187,7 @@ var FeatureRendererType = /*#__PURE__*/function (_ServerSideRendererTy) {
178
187
  featureObservable = requestRegions.length === 1 ? dataAdapter.getFeatures(this.getExpandedRegion(region, renderArgs), // @ts-ignore
179
188
  renderArgs) : // @ts-ignore
180
189
  dataAdapter.getFeaturesInMultipleRegions(requestRegions, renderArgs);
181
- _context.next = 9;
190
+ _context.next = 13;
182
191
  return featureObservable.pipe((0, _operators.tap)(function () {
183
192
  return (0, _util.checkAbortSignal)(signal);
184
193
  }), (0, _operators.filter)(function (feature) {
@@ -193,10 +202,10 @@ var FeatureRendererType = /*#__PURE__*/function (_ServerSideRendererTy) {
193
202
  features.set(id, feature);
194
203
  }), (0, _operators.ignoreElements)()).toPromise();
195
204
 
196
- case 9:
205
+ case 13:
197
206
  return _context.abrupt("return", features);
198
207
 
199
- case 10:
208
+ case 14:
200
209
  case "end":
201
210
  return _context.stop();
202
211
  }
@@ -10,6 +10,7 @@ export interface RenderResults {
10
10
  }
11
11
  export default class RendererType extends PluggableElementBase {
12
12
  ReactComponent: AnyReactComponentType;
13
+ supportsSVG: boolean;
13
14
  configSchema: AnyConfigurationSchemaType;
14
15
  pluginManager: PluginManager;
15
16
  constructor(stuff: {
@@ -46,6 +46,7 @@ var RendererType = /*#__PURE__*/function (_PluggableElementBase) {
46
46
  (0, _classCallCheck2.default)(this, RendererType);
47
47
  _this = _super.call(this, stuff);
48
48
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ReactComponent", void 0);
49
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "supportsSVG", false);
49
50
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "configSchema", void 0);
50
51
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "pluginManager", void 0);
51
52
  _this.ReactComponent = stuff.ReactComponent;
@@ -100,7 +101,9 @@ var RendererType = /*#__PURE__*/function (_PluggableElementBase) {
100
101
 
101
102
  }, {
102
103
  key: "freeResources",
103
- value: function freeResources() {
104
+ value: function
105
+ /* specification: {} */
106
+ freeResources() {
104
107
  return 0;
105
108
  }
106
109
  }]);
@@ -67,7 +67,7 @@ function ServerSideRenderedContent(props) {
67
67
  (0, _reactDom.unmountComponentAtNode)(domNode);
68
68
  }
69
69
  };
70
- }, [html, jbrowseTheme, rest]);
70
+ }, [html, jbrowseTheme, rest, RenderingComponent]);
71
71
  return /*#__PURE__*/_react.default.createElement("div", {
72
72
  ref: ssrContainerNode,
73
73
  "data-html-size": html.length,
@@ -0,0 +1,9 @@
1
+ import BoxRendererType from './BoxRendererType';
2
+ import CircularChordRendererType from './CircularChordRendererType';
3
+ import ComparativeServerSideRendererType from './ComparativeServerSideRendererType';
4
+ import FeatureRendererType from './FeatureRendererType';
5
+ import RendererType, { RenderProps } from './RendererType';
6
+ import ServerSideRenderedContent from './ServerSideRenderedContent';
7
+ import ServerSideRendererType from './ServerSideRendererType';
8
+ export { BoxRendererType, CircularChordRendererType, ComparativeServerSideRendererType, FeatureRendererType, RendererType, ServerSideRenderedContent, ServerSideRendererType, };
9
+ export type { RenderProps };
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "BoxRendererType", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _BoxRendererType.default;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "CircularChordRendererType", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _CircularChordRendererType.default;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "ComparativeServerSideRendererType", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _ComparativeServerSideRendererType.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "FeatureRendererType", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _FeatureRendererType.default;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "RendererType", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _RendererType.default;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "ServerSideRenderedContent", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _ServerSideRenderedContent.default;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "ServerSideRendererType", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _ServerSideRendererType.default;
48
+ }
49
+ });
50
+
51
+ var _BoxRendererType = _interopRequireDefault(require("./BoxRendererType"));
52
+
53
+ var _CircularChordRendererType = _interopRequireDefault(require("./CircularChordRendererType"));
54
+
55
+ var _ComparativeServerSideRendererType = _interopRequireDefault(require("./ComparativeServerSideRendererType"));
56
+
57
+ var _FeatureRendererType = _interopRequireDefault(require("./FeatureRendererType"));
58
+
59
+ var _RendererType = _interopRequireDefault(require("./RendererType"));
60
+
61
+ var _ServerSideRenderedContent = _interopRequireDefault(require("./ServerSideRenderedContent"));
62
+
63
+ var _ServerSideRendererType = _interopRequireDefault(require("./ServerSideRendererType"));