@jbrowse/core 1.5.0 → 1.5.4

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 (127) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +4 -2
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +43 -16
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +5 -4
  4. package/BaseFeatureWidget/index.js +1 -1
  5. package/BaseFeatureWidget/util.js +5 -5
  6. package/CorePlugin.d.ts +0 -1
  7. package/CorePlugin.js +13 -1
  8. package/PluginLoader.d.ts +25 -2
  9. package/PluginLoader.js +334 -47
  10. package/PluginManager.d.ts +9 -7
  11. package/PluginManager.js +1 -5
  12. package/ReExports/list.js +1 -1
  13. package/ReExports/material-ui-colors.js +38 -38
  14. package/ReExports/modules.d.ts +11 -13
  15. package/ReExports/modules.js +8 -2
  16. package/TextSearch/BaseResults.js +1 -1
  17. package/TextSearch/TextSearchManager.d.ts +2 -2
  18. package/TextSearch/TextSearchManager.js +0 -2
  19. package/assemblyManager/assembly.d.ts +21 -8
  20. package/assemblyManager/assembly.js +165 -122
  21. package/assemblyManager/assemblyConfigSchema.d.ts +3 -0
  22. package/assemblyManager/{assemblyConfigSchemas.js → assemblyConfigSchema.js} +35 -27
  23. package/assemblyManager/assemblyManager.d.ts +126 -45
  24. package/assemblyManager/index.d.ts +1 -1
  25. package/assemblyManager/index.js +5 -5
  26. package/configuration/configurationSchema.js +7 -7
  27. package/configuration/configurationSlot.js +3 -1
  28. package/configuration/index.js +4 -4
  29. package/configuration/util.js +2 -2
  30. package/data_adapters/BaseAdapter.d.ts +5 -5
  31. package/data_adapters/BaseAdapter.js +9 -18
  32. package/data_adapters/CytobandAdapter.d.ts +8 -0
  33. package/data_adapters/CytobandAdapter.js +128 -0
  34. package/data_adapters/dataAdapterCache.js +2 -2
  35. package/package.json +9 -8
  36. package/pluggableElementTypes/AdapterType.d.ts +9 -1
  37. package/pluggableElementTypes/AdapterType.js +23 -1
  38. package/pluggableElementTypes/ConnectionType.js +3 -1
  39. package/pluggableElementTypes/DisplayType.js +3 -1
  40. package/pluggableElementTypes/InternetAccountType.js +3 -1
  41. package/pluggableElementTypes/PluggableElementBase.js +4 -3
  42. package/pluggableElementTypes/RpcMethodType.js +2 -4
  43. package/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  44. package/pluggableElementTypes/WidgetType.js +3 -1
  45. package/pluggableElementTypes/index.d.ts +6 -3
  46. package/pluggableElementTypes/index.js +127 -1
  47. package/pluggableElementTypes/models/BaseDisplayModel.js +2 -2
  48. package/pluggableElementTypes/models/BaseTrackModel.js +4 -3
  49. package/pluggableElementTypes/models/BaseViewModel.js +6 -2
  50. package/pluggableElementTypes/models/InternetAccountModel.d.ts +2 -2
  51. package/pluggableElementTypes/models/baseTrackConfig.js +2 -2
  52. package/pluggableElementTypes/models/index.js +14 -14
  53. package/pluggableElementTypes/renderers/BoxRendererType.js +3 -3
  54. package/pluggableElementTypes/renderers/CircularChordRendererType.js +3 -1
  55. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +2 -2
  56. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +1 -1
  57. package/pluggableElementTypes/renderers/FeatureRendererType.js +4 -4
  58. package/pluggableElementTypes/renderers/RendererType.js +3 -1
  59. package/pluggableElementTypes/renderers/ServerSideRendererType.js +2 -2
  60. package/pluggableElementTypes/renderers/index.d.ts +9 -0
  61. package/pluggableElementTypes/renderers/index.js +63 -0
  62. package/rpc/BaseRpcDriver.d.ts +1 -1
  63. package/rpc/BaseRpcDriver.js +3 -5
  64. package/rpc/BaseRpcDriver.test.js +1 -1
  65. package/rpc/RpcManager.d.ts +3 -3
  66. package/rpc/RpcManager.js +44 -22
  67. package/rpc/WebWorkerRpcDriver.d.ts +2 -2
  68. package/rpc/WebWorkerRpcDriver.js +5 -7
  69. package/rpc/coreRpcMethods.js +3 -3
  70. package/rpc/remoteAbortSignals.js +2 -2
  71. package/ui/App.js +13 -12
  72. package/ui/DrawerWidget.js +10 -3
  73. package/ui/EditableTypography.js +2 -2
  74. package/ui/ErrorMessage.d.ts +5 -0
  75. package/ui/ErrorMessage.js +54 -0
  76. package/ui/FileSelector/FileSelector.js +75 -100
  77. package/ui/Icons.js +4 -4
  78. package/ui/Logo.js +1 -1
  79. package/ui/Menu.js +2 -2
  80. package/ui/NewSessionCards.js +2 -2
  81. package/ui/PrerenderedCanvas.d.ts +1 -0
  82. package/ui/PrerenderedCanvas.js +6 -3
  83. package/ui/SanitizedHTML.js +1 -1
  84. package/ui/SnackbarModel.d.ts +16 -0
  85. package/ui/SnackbarModel.js +56 -0
  86. package/ui/ViewContainer.js +4 -3
  87. package/ui/index.js +24 -24
  88. package/ui/theme.js +7 -5
  89. package/util/Base1DViewModel.js +2 -2
  90. package/util/aborting.js +7 -4
  91. package/util/blockTypes.js +8 -11
  92. package/util/calculateDynamicBlocks.test.js +2 -2
  93. package/util/color/cssColorsLevel4.js +1 -1
  94. package/util/color/index.js +5 -5
  95. package/util/compositeMap.js +3 -11
  96. package/util/index.d.ts +3 -1
  97. package/util/index.js +75 -32
  98. package/util/index.test.js +2 -2
  99. package/util/io/RemoteFileWithRangeCache.js +3 -3
  100. package/util/io/index.js +1 -1
  101. package/util/jexl.js +4 -1
  102. package/util/layouts/BaseLayout.d.ts +3 -0
  103. package/util/layouts/GranularRectLayout.d.ts +19 -10
  104. package/util/layouts/GranularRectLayout.js +459 -100
  105. package/util/layouts/GranularRectLayout.test.js +57 -10
  106. package/util/layouts/MultiLayout.d.ts +1 -1
  107. package/util/layouts/MultiLayout.js +0 -2
  108. package/util/layouts/PrecomputedLayout.js +2 -1
  109. package/util/layouts/PrecomputedMultiLayout.js +5 -3
  110. package/util/layouts/SceneGraph.d.ts +3 -3
  111. package/util/layouts/SceneGraph.js +0 -14
  112. package/util/layouts/index.d.ts +7 -0
  113. package/util/layouts/index.js +68 -0
  114. package/util/mst-reflection.d.ts +3 -3
  115. package/util/mst-reflection.js +3 -3
  116. package/util/offscreenCanvasPonyfill.js +1 -1
  117. package/util/range.js +1 -1
  118. package/util/simpleFeature.js +3 -3
  119. package/util/stats.js +4 -4
  120. package/util/tracks.d.ts +30 -433
  121. package/util/tracks.js +72 -192
  122. package/util/types/index.d.ts +14 -2
  123. package/util/types/index.js +21 -18
  124. package/util/types/mst.js +6 -6
  125. package/assemblyManager/assemblyConfigSchemas.d.ts +0 -7
  126. package/value.d.ts +0 -1
  127. package/value.js +0 -10
@@ -4,19 +4,21 @@ import { BaseCardProps, BaseProps } from './types';
4
4
  import { SimpleFeatureSerialized } from '../util/simpleFeature';
5
5
  export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"expandIcon" | "expansionPanelDetails" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue">;
6
6
  export declare function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): JSX.Element;
7
- export declare const FieldName: ({ description, name, prefix, }: {
7
+ export declare const FieldName: ({ description, name, prefix, width, }: {
8
8
  description?: React.ReactNode;
9
9
  name: string;
10
10
  prefix?: string[] | undefined;
11
+ width?: number | undefined;
11
12
  }) => JSX.Element;
12
13
  export declare const BasicValue: ({ value }: {
13
14
  value: string | React.ReactNode;
14
15
  }) => JSX.Element;
15
- export declare const SimpleValue: ({ name, value, description, prefix, }: {
16
+ export declare const SimpleValue: ({ name, value, description, prefix, width, }: {
16
17
  description?: React.ReactNode;
17
18
  name: string;
18
19
  value: any;
19
20
  prefix?: string[] | undefined;
21
+ width?: number | undefined;
20
22
  }) => JSX.Element | null;
21
23
  export declare const BaseCoreDetails: (props: BaseProps) => JSX.Element;
22
24
  interface AttributeProps {
@@ -7,8 +7,9 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
+ exports.BaseAttributes = exports.Attributes = void 0;
10
11
  exports.BaseCard = BaseCard;
11
- exports.default = exports.FeatureDetails = exports.BaseAttributes = exports.Attributes = exports.BaseCoreDetails = exports.SimpleValue = exports.BasicValue = exports.FieldName = exports.useStyles = void 0;
12
+ exports.useStyles = exports.default = exports.SimpleValue = exports.FieldName = exports.FeatureDetails = exports.BasicValue = exports.BaseCoreDetails = void 0;
12
13
 
13
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
15
 
@@ -54,11 +55,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
54
55
 
55
56
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
56
57
 
57
- 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; }
58
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
58
59
 
59
- 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; }
60
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
61
+
62
+ var MAX_FIELD_NAME_WIDTH = 170; // these are always omitted as too detailed
60
63
 
61
- // these are always omitted as too detailed
62
64
  var globalOmit = ['length', 'position', 'subfeatures', 'uniqueId', 'exonFrames', 'parentId', 'thickStart', 'thickEnd']; // coreDetails are omitted in some circumstances
63
65
 
64
66
  var coreDetails = ['name', 'start', 'end', 'strand', 'refName', 'description', 'type'];
@@ -83,7 +85,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
83
85
  fieldName: {
84
86
  wordBreak: 'break-all',
85
87
  minWidth: '90px',
86
- maxWidth: '150px',
87
88
  borderBottom: '1px solid #0003',
88
89
  background: theme.palette.grey[200],
89
90
  marginRight: theme.spacing(1),
@@ -145,7 +146,8 @@ var FieldName = function FieldName(_ref2) {
145
146
  var description = _ref2.description,
146
147
  name = _ref2.name,
147
148
  _ref2$prefix = _ref2.prefix,
148
- prefix = _ref2$prefix === void 0 ? [] : _ref2$prefix;
149
+ prefix = _ref2$prefix === void 0 ? [] : _ref2$prefix,
150
+ width = _ref2.width;
149
151
  var classes = useStyles();
150
152
  var val = [].concat((0, _toConsumableArray2.default)(prefix), [name]).join('.');
151
153
  return description ? /*#__PURE__*/_react.default.createElement(_core.Tooltip, {
@@ -154,7 +156,10 @@ var FieldName = function FieldName(_ref2) {
154
156
  }, /*#__PURE__*/_react.default.createElement("div", {
155
157
  className: (0, _clsx.default)(classes.fieldDescription, classes.fieldName)
156
158
  }, val)) : /*#__PURE__*/_react.default.createElement("div", {
157
- className: classes.fieldName
159
+ className: classes.fieldName,
160
+ style: {
161
+ width: width
162
+ }
158
163
  }, val);
159
164
  };
160
165
 
@@ -176,14 +181,16 @@ var SimpleValue = function SimpleValue(_ref4) {
176
181
  var name = _ref4.name,
177
182
  value = _ref4.value,
178
183
  description = _ref4.description,
179
- prefix = _ref4.prefix;
184
+ prefix = _ref4.prefix,
185
+ width = _ref4.width;
180
186
  var classes = useStyles();
181
187
  return value !== null && value !== undefined ? /*#__PURE__*/_react.default.createElement("div", {
182
188
  className: classes.field
183
189
  }, /*#__PURE__*/_react.default.createElement(FieldName, {
184
190
  prefix: prefix,
185
191
  description: description,
186
- name: name
192
+ name: name,
193
+ width: width
187
194
  }), /*#__PURE__*/_react.default.createElement(BasicValue, {
188
195
  value: value
189
196
  })) : null;
@@ -370,6 +377,17 @@ function accessNested(arr) {
370
377
  return typeof obj === 'string' ? obj : typeof ((_obj = obj) === null || _obj === void 0 ? void 0 : _obj.Description) === 'string' ? obj.Description : undefined;
371
378
  }
372
379
 
380
+ function generateMaxWidth(array, prefix) {
381
+ // @ts-ignore
382
+ var arr = [];
383
+ array.forEach(function (key, value) {
384
+ var val = [].concat((0, _toConsumableArray2.default)(prefix), [key[0]]).join('.');
385
+ arr.push((0, _util.measureText)(val, 12));
386
+ }); // @ts-ignore
387
+
388
+ return Math.ceil(Math.max.apply(Math, arr)) + 10;
389
+ }
390
+
373
391
  var Attributes = function Attributes(props) {
374
392
  var attributes = props.attributes,
375
393
  _props$omit = props.omit,
@@ -382,16 +400,24 @@ var Attributes = function Attributes(props) {
382
400
  _props$prefix = props.prefix,
383
401
  prefix = _props$prefix === void 0 ? [] : _props$prefix;
384
402
  var omits = [].concat((0, _toConsumableArray2.default)(omit), globalOmit);
385
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(attributes).filter(function (_ref14) {
403
+ var maxLabelWidth = generateMaxWidth(Object.entries(attributes).filter(function (_ref14) {
386
404
  var _ref15 = (0, _slicedToArray2.default)(_ref14, 2),
387
405
  k = _ref15[0],
388
406
  v = _ref15[1];
389
407
 
390
408
  return v !== undefined && !omits.includes(k);
391
- }).map(function (_ref16) {
409
+ }), prefix);
410
+ var labelWidth = maxLabelWidth <= MAX_FIELD_NAME_WIDTH ? maxLabelWidth : MAX_FIELD_NAME_WIDTH;
411
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(attributes).filter(function (_ref16) {
392
412
  var _ref17 = (0, _slicedToArray2.default)(_ref16, 2),
393
- key = _ref17[0],
394
- value = _ref17[1];
413
+ k = _ref17[0],
414
+ v = _ref17[1];
415
+
416
+ return v !== undefined && !omits.includes(k);
417
+ }).map(function (_ref18) {
418
+ var _ref19 = (0, _slicedToArray2.default)(_ref18, 2),
419
+ key = _ref19[0],
420
+ value = _ref19[1];
395
421
 
396
422
  if (Array.isArray(value) && value.length > 2 && value.every(function (val) {
397
423
  return (0, _isObject.default)(val);
@@ -431,7 +457,8 @@ var Attributes = function Attributes(props) {
431
457
  name: key,
432
458
  value: formatter(value, key),
433
459
  description: description,
434
- prefix: prefix
460
+ prefix: prefix,
461
+ width: labelWidth
435
462
  });
436
463
  }));
437
464
  };
@@ -479,8 +506,8 @@ var FeatureDetails = function FeatureDetails(props) {
479
506
  }, props, {
480
507
  omit: [].concat((0, _toConsumableArray2.default)(omit), coreDetails)
481
508
  })), sequenceTypes.includes(feature.type) ? /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
482
- FallbackComponent: function FallbackComponent(_ref18) {
483
- var error = _ref18.error;
509
+ FallbackComponent: function FallbackComponent(_ref20) {
510
+ var error = _ref20.error;
484
511
  return /*#__PURE__*/_react.default.createElement(_core.Typography, {
485
512
  color: "error"
486
513
  }, "Failed to fetch sequence for feature: ", "".concat(error));
@@ -7,8 +7,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = SequenceFeatureDetails;
11
10
  exports.SequencePanel = void 0;
11
+ exports.default = SequenceFeatureDetails;
12
12
 
13
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
14
 
@@ -38,9 +38,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
38
38
 
39
39
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
40
 
41
- 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; }
41
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
42
42
 
43
- 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; }
43
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
44
44
 
45
45
  var useStyles = (0, _core.makeStyles)(function (theme) {
46
46
  return {
@@ -192,7 +192,8 @@ var SequencePanel = /*#__PURE__*/_react.default.forwardRef(function (_ref4, ref)
192
192
  }, /*#__PURE__*/_react.default.createElement("div", {
193
193
  style: {
194
194
  fontFamily: 'monospace',
195
- wordWrap: 'break-word'
195
+ wordWrap: 'break-word',
196
+ maxWidth: 600
196
197
  }
197
198
  }, ">".concat(feature.name || feature.id || 'unknown', "-").concat(mode, "\n"), mode === 'cds' ? /*#__PURE__*/_react.default.createElement(GeneCDS, {
198
199
  cds: cds,
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.stateModelFactory = exports.default = stateModelFactory;
7
6
  exports.configSchema = void 0;
7
+ exports.stateModelFactory = exports.default = stateModelFactory;
8
8
 
9
9
  var _mobxStateTree = require("mobx-state-tree");
10
10
 
@@ -5,19 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.stitch = stitch;
9
- exports.dedupe = dedupe;
10
- exports.revlist = revlist;
11
8
  exports.calculateUTRs = calculateUTRs;
9
+ exports.dedupe = dedupe;
12
10
  exports.ellipses = ellipses;
11
+ exports.revlist = revlist;
12
+ exports.stitch = stitch;
13
13
 
14
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- 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; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
19
 
20
- 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; }
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
21
 
22
22
  function stitch(subfeats, sequence) {
23
23
  return subfeats.map(function (sub) {
package/CorePlugin.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import Plugin from './Plugin';
2
2
  import PluginManager from './PluginManager';
3
- /** the core plugin, which registers types that ALL JBrowse applications are expected to need. */
4
3
  export default class CorePlugin extends Plugin {
5
4
  name: string;
6
5
  install(pluginManager: PluginManager): void;
package/CorePlugin.js CHANGED
@@ -29,10 +29,14 @@ var _BaseFeatureWidget = require("./BaseFeatureWidget");
29
29
 
30
30
  var _Plugin2 = _interopRequireDefault(require("./Plugin"));
31
31
 
32
+ var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
33
+
32
34
  var coreRpcMethods = _interopRequireWildcard(require("./rpc/coreRpcMethods"));
33
35
 
34
36
  var _WidgetType = _interopRequireDefault(require("./pluggableElementTypes/WidgetType"));
35
37
 
38
+ var _CytobandAdapter = require("./data_adapters/CytobandAdapter");
39
+
36
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
41
 
38
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -41,7 +45,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
41
45
 
42
46
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
47
 
44
- /** the core plugin, which registers types that ALL JBrowse applications are expected to need. */
48
+ // the core plugin, which registers types that ALL JBrowse applications are
49
+ // expected to need.
45
50
  var CorePlugin = /*#__PURE__*/function (_Plugin) {
46
51
  (0, _inherits2.default)(CorePlugin, _Plugin);
47
52
 
@@ -70,6 +75,13 @@ var CorePlugin = /*#__PURE__*/function (_Plugin) {
70
75
  return new RpcMethod(pluginManager);
71
76
  });
72
77
  });
78
+ pluginManager.addAdapterType(function () {
79
+ return new _AdapterType.default({
80
+ name: 'CytobandAdapter',
81
+ configSchema: _CytobandAdapter.configSchema,
82
+ AdapterClass: _CytobandAdapter.DataAdapter
83
+ });
84
+ });
73
85
  pluginManager.addWidgetType(function () {
74
86
  return new _WidgetType.default({
75
87
  name: 'BaseFeatureWidget',
package/PluginLoader.d.ts CHANGED
@@ -1,17 +1,40 @@
1
1
  import { PluginConstructor } from './Plugin';
2
2
  export declare const PluginSourceConfigurationSchema: import("./configuration/configurationSchema").AnyConfigurationSchemaType;
3
- export interface PluginDefinition {
4
- name?: string;
3
+ export interface UMDPluginDefinition {
4
+ umdUrl: string;
5
+ name: string;
6
+ }
7
+ export interface LegacyUMDPluginDefinition {
5
8
  url: string;
9
+ name: string;
10
+ }
11
+ export declare function isUMDPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is UMDPluginDefinition | LegacyUMDPluginDefinition;
12
+ export interface ESMPluginDefinition {
13
+ esmUrl: string;
14
+ }
15
+ export declare function isESMPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is ESMPluginDefinition;
16
+ export interface CJSPluginDefinition {
17
+ cjsUrl: string;
18
+ }
19
+ export declare function isCJSPluginDefinition(pluginDefinition: PluginDefinition): pluginDefinition is CJSPluginDefinition;
20
+ export interface PluginDefinition extends Partial<UMDPluginDefinition>, Partial<LegacyUMDPluginDefinition>, Partial<ESMPluginDefinition>, Partial<CJSPluginDefinition> {
6
21
  }
7
22
  export interface PluginRecord {
8
23
  plugin: PluginConstructor;
9
24
  definition: PluginDefinition;
10
25
  }
26
+ export interface LoadedPlugin {
27
+ default: PluginConstructor;
28
+ }
11
29
  export default class PluginLoader {
12
30
  definitions: PluginDefinition[];
13
31
  constructor(pluginDefinitions?: PluginDefinition[]);
14
32
  loadScript(scriptUrl: string): Promise<void>;
33
+ loadCJSPlugin(pluginDefinition: CJSPluginDefinition): Promise<LoadedPlugin>;
34
+ loadESMPlugin(pluginDefinition: ESMPluginDefinition): Promise<LoadedPlugin>;
35
+ loadUMDPlugin(pluginDefinition: UMDPluginDefinition | LegacyUMDPluginDefinition): Promise<{
36
+ default: PluginConstructor;
37
+ }>;
15
38
  loadPlugin(definition: PluginDefinition): Promise<PluginConstructor>;
16
39
  installGlobalReExports(target: WindowOrWorkerGlobalScope): void;
17
40
  load(): Promise<PluginRecord[]>;