@jbrowse/core 1.5.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.
- package/BaseFeatureWidget/BaseFeatureDetail.js +2 -1
- package/BaseFeatureWidget/SequenceFeatureDetails.js +1 -1
- package/BaseFeatureWidget/index.js +1 -1
- package/BaseFeatureWidget/util.js +3 -3
- package/PluginLoader.d.ts +25 -2
- package/PluginLoader.js +335 -48
- package/PluginManager.d.ts +1 -0
- package/ReExports/list.js +1 -1
- package/ReExports/material-ui-colors.js +38 -38
- package/ReExports/modules.d.ts +2 -0
- package/ReExports/modules.js +3 -0
- package/TextSearch/BaseResults.js +1 -1
- package/assemblyManager/assembly.js +5 -3
- package/assemblyManager/index.js +4 -4
- package/configuration/configurationSchema.js +4 -2
- package/configuration/configurationSlot.js +3 -1
- package/configuration/index.js +4 -4
- package/configuration/util.js +2 -2
- package/data_adapters/BaseAdapter.d.ts +1 -1
- package/data_adapters/BaseAdapter.js +5 -5
- package/data_adapters/CytobandAdapter.js +4 -2
- package/data_adapters/dataAdapterCache.js +2 -2
- package/package.json +5 -4
- package/pluggableElementTypes/RpcMethodType.js +2 -2
- package/pluggableElementTypes/index.d.ts +2 -1
- package/pluggableElementTypes/index.js +37 -14
- package/pluggableElementTypes/models/BaseTrackModel.js +2 -1
- package/pluggableElementTypes/models/BaseViewModel.js +6 -2
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +2 -2
- package/pluggableElementTypes/models/index.js +14 -14
- package/pluggableElementTypes/renderers/BoxRendererType.js +3 -3
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +1 -1
- package/pluggableElementTypes/renderers/FeatureRendererType.js +1 -1
- package/pluggableElementTypes/renderers/RendererType.js +3 -1
- package/pluggableElementTypes/renderers/index.d.ts +2 -1
- package/rpc/BaseRpcDriver.js +1 -1
- package/rpc/BaseRpcDriver.test.js +3 -3
- package/rpc/MainThreadRpcDriver.js +2 -2
- package/rpc/RpcManager.d.ts +1 -1
- package/rpc/RpcManager.js +44 -16
- package/rpc/WebWorkerRpcDriver.js +5 -5
- package/rpc/coreRpcMethods.js +3 -3
- package/rpc/remoteAbortSignals.js +2 -2
- package/ui/App.js +2 -0
- package/ui/DrawerWidget.js +1 -0
- package/ui/Icons.js +4 -4
- package/ui/Logo.js +1 -1
- package/ui/PrerenderedCanvas.d.ts +1 -0
- package/ui/PrerenderedCanvas.js +4 -1
- package/ui/SanitizedHTML.js +1 -1
- package/ui/SnackbarModel.d.ts +16 -0
- package/ui/SnackbarModel.js +56 -0
- package/ui/ViewContainer.js +2 -1
- package/ui/index.js +24 -24
- package/ui/theme.js +5 -3
- package/util/aborting.js +4 -3
- package/util/blockTypes.js +1 -1
- package/util/color/cssColorsLevel4.js +1 -1
- package/util/color/index.js +5 -5
- package/util/index.d.ts +2 -1
- package/util/index.js +61 -32
- package/util/io/RemoteFileWithRangeCache.js +3 -3
- package/util/io/index.js +1 -1
- package/util/jexl.js +4 -1
- package/util/layouts/BaseLayout.d.ts +3 -0
- package/util/layouts/GranularRectLayout.d.ts +19 -10
- package/util/layouts/GranularRectLayout.js +459 -100
- package/util/layouts/GranularRectLayout.test.js +57 -10
- package/util/layouts/PrecomputedLayout.js +2 -1
- package/util/layouts/index.d.ts +7 -0
- package/util/layouts/index.js +68 -0
- package/util/mst-reflection.js +3 -3
- package/util/offscreenCanvasPonyfill.js +3 -3
- package/util/range.js +1 -1
- package/util/simpleFeature.js +1 -1
- package/util/stats.js +2 -2
- package/util/tracks.js +10 -10
- package/util/types/index.d.ts +7 -1
- package/util/types/index.js +10 -10
- package/util/types/mst.js +1 -1
package/util/aborting.js
CHANGED
|
@@ -5,11 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.checkAbortSignal = checkAbortSignal;
|
|
9
8
|
exports.abortBreakPoint = abortBreakPoint;
|
|
9
|
+
exports.checkAbortSignal = checkAbortSignal;
|
|
10
|
+
exports.isAbortException = isAbortException;
|
|
10
11
|
exports.makeAbortError = makeAbortError;
|
|
11
12
|
exports.observeAbortSignal = observeAbortSignal;
|
|
12
|
-
exports.isAbortException = isAbortException;
|
|
13
13
|
|
|
14
14
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
15
|
|
|
@@ -145,7 +145,8 @@ function observeAbortSignal(signal) {
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
function isAbortException(exception) {
|
|
148
|
-
return exception instanceof Error && (
|
|
148
|
+
return exception instanceof Error && ( // DOMException
|
|
149
|
+
exception.name === 'AbortError' || // standard-ish non-DOM abort exception
|
|
149
150
|
exception.code === 'ERR_ABORTED' || // message contains aborted for bubbling through RPC
|
|
150
151
|
// things we have seen that we want to catch here
|
|
151
152
|
// Error: aborted
|
package/util/blockTypes.js
CHANGED
|
@@ -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.InterRegionPaddingBlock = exports.ElidedBlock = exports.ContentBlock = exports.
|
|
8
|
+
exports.InterRegionPaddingBlock = exports.ElidedBlock = exports.ContentBlock = exports.BlockSet = exports.BaseBlock = void 0;
|
|
9
9
|
|
|
10
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
11
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.namedColorToHex = namedColorToHex;
|
|
7
6
|
exports.isNamedColor = isNamedColor;
|
|
7
|
+
exports.namedColorToHex = namedColorToHex;
|
|
8
8
|
// from https://www.w3.org/TR/css-color-4/#named-colors
|
|
9
9
|
var colors = {
|
|
10
10
|
aliceblue: '#F0F8FF',
|
package/util/color/index.js
CHANGED
|
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.contrastingTextColor = contrastingTextColor;
|
|
7
7
|
exports.emphasize = emphasize;
|
|
8
|
-
exports
|
|
9
|
-
Object.defineProperty(exports, "namedColorToHex", {
|
|
8
|
+
Object.defineProperty(exports, "isNamedColor", {
|
|
10
9
|
enumerable: true,
|
|
11
10
|
get: function get() {
|
|
12
|
-
return _cssColorsLevel.
|
|
11
|
+
return _cssColorsLevel.isNamedColor;
|
|
13
12
|
}
|
|
14
13
|
});
|
|
15
|
-
|
|
14
|
+
exports.makeContrasting = makeContrasting;
|
|
15
|
+
Object.defineProperty(exports, "namedColorToHex", {
|
|
16
16
|
enumerable: true,
|
|
17
17
|
get: function get() {
|
|
18
|
-
return _cssColorsLevel.
|
|
18
|
+
return _cssColorsLevel.namedColorToHex;
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
|
package/util/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { IAnyStateTreeNode } from 'mobx-state-tree';
|
|
2
2
|
import { IReactionPublic, IReactionOptions } from 'mobx';
|
|
3
|
-
import { Feature } from './simpleFeature';
|
|
3
|
+
import SimpleFeature, { Feature, isFeature } from './simpleFeature';
|
|
4
4
|
import { TypeTestedByPredicate, Region, AssemblyManager } from './types';
|
|
5
5
|
export * from './types';
|
|
6
6
|
export * from './aborting';
|
|
7
7
|
export * from './when';
|
|
8
8
|
export * from './range';
|
|
9
|
+
export { SimpleFeature, isFeature };
|
|
9
10
|
export * from './offscreenCanvasPonyfill';
|
|
10
11
|
export * from './offscreenCanvasUtils';
|
|
11
12
|
export declare const inDevelopment: boolean;
|
package/util/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -51,51 +53,68 @@ var _exportNames = {
|
|
|
51
53
|
generateCodonTable: true,
|
|
52
54
|
updateStatus: true,
|
|
53
55
|
hashCode: true,
|
|
54
|
-
objectHash: true
|
|
56
|
+
objectHash: true,
|
|
57
|
+
SimpleFeature: true,
|
|
58
|
+
isFeature: true
|
|
55
59
|
};
|
|
56
|
-
exports
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
exports.getContainingView = getContainingView;
|
|
63
|
-
exports.getContainingTrack = getContainingTrack;
|
|
64
|
-
exports.getContainingDisplay = getContainingDisplay;
|
|
60
|
+
Object.defineProperty(exports, "SimpleFeature", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _simpleFeature.default;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
65
66
|
exports.assembleLocString = assembleLocString;
|
|
66
|
-
exports.
|
|
67
|
-
exports.
|
|
68
|
-
exports.compareLocs = compareLocs;
|
|
69
|
-
exports.compareLocStrings = compareLocStrings;
|
|
70
|
-
exports.clamp = clamp;
|
|
67
|
+
exports.blobToDataURL = blobToDataURL;
|
|
68
|
+
exports.bpSpanPx = bpSpanPx;
|
|
71
69
|
exports.bpToPx = bpToPx;
|
|
72
|
-
exports.radToDeg = radToDeg;
|
|
73
|
-
exports.degToRad = degToRad;
|
|
74
|
-
exports.polarToCartesian = polarToCartesian;
|
|
75
70
|
exports.cartesianToPolar = cartesianToPolar;
|
|
71
|
+
exports.clamp = clamp;
|
|
72
|
+
exports.compareLocStrings = compareLocStrings;
|
|
73
|
+
exports.compareLocs = compareLocs;
|
|
74
|
+
exports.defaultStops = exports.defaultStarts = exports.defaultCodonTable = exports.complement = void 0;
|
|
75
|
+
exports.degToRad = degToRad;
|
|
76
76
|
exports.featureSpanPx = featureSpanPx;
|
|
77
|
-
exports.bpSpanPx = bpSpanPx;
|
|
78
|
-
exports.iterMap = iterMap;
|
|
79
|
-
exports.mergeConfigs = mergeConfigs;
|
|
80
77
|
exports.findLastIndex = findLastIndex;
|
|
78
|
+
exports.findParentThat = findParentThat;
|
|
79
|
+
exports.findParentThatIs = findParentThatIs;
|
|
80
|
+
exports.generateCodonTable = generateCodonTable;
|
|
81
|
+
exports.getContainingDisplay = getContainingDisplay;
|
|
82
|
+
exports.getContainingTrack = getContainingTrack;
|
|
83
|
+
exports.getContainingView = getContainingView;
|
|
84
|
+
exports.getSession = getSession;
|
|
85
|
+
exports.hashCode = hashCode;
|
|
86
|
+
exports.isElectron = exports.inProduction = exports.inDevelopment = void 0;
|
|
87
|
+
Object.defineProperty(exports, "isFeature", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function get() {
|
|
90
|
+
return _simpleFeature.isFeature;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
exports.iterMap = iterMap;
|
|
81
94
|
exports.makeAbortableReaction = makeAbortableReaction;
|
|
95
|
+
exports.measureText = measureText;
|
|
96
|
+
exports.mergeConfigs = mergeConfigs;
|
|
97
|
+
exports.minmax = minmax;
|
|
98
|
+
exports.objectFromEntries = void 0;
|
|
99
|
+
exports.objectHash = objectHash;
|
|
100
|
+
exports.parseLocString = parseLocString;
|
|
101
|
+
exports.parseLocStringOneBased = parseLocStringOneBased;
|
|
102
|
+
exports.polarToCartesian = polarToCartesian;
|
|
103
|
+
exports.rIC = void 0;
|
|
104
|
+
exports.radToDeg = radToDeg;
|
|
82
105
|
exports.renameRegionIfNeeded = renameRegionIfNeeded;
|
|
83
106
|
exports.renameRegionsIfNeeded = renameRegionsIfNeeded;
|
|
84
|
-
exports.minmax = minmax;
|
|
85
|
-
exports.stringify = stringify;
|
|
86
107
|
exports.revcom = revcom;
|
|
87
|
-
exports.
|
|
88
|
-
exports.
|
|
89
|
-
exports.generateCodonTable = generateCodonTable;
|
|
108
|
+
exports.springAnimate = springAnimate;
|
|
109
|
+
exports.stringify = stringify;
|
|
90
110
|
exports.updateStatus = updateStatus;
|
|
91
|
-
exports.
|
|
92
|
-
exports.
|
|
93
|
-
exports.defaultCodonTable = exports.defaultStops = exports.defaultStarts = exports.rIC = exports.complement = exports.isElectron = exports.objectFromEntries = exports.inProduction = exports.inDevelopment = void 0;
|
|
94
|
-
|
|
95
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
111
|
+
exports.useDebounce = useDebounce;
|
|
112
|
+
exports.useDebouncedCallback = useDebouncedCallback;
|
|
96
113
|
|
|
97
114
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
98
115
|
|
|
116
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
117
|
+
|
|
99
118
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
100
119
|
|
|
101
120
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
@@ -114,6 +133,8 @@ var _react = require("react");
|
|
|
114
133
|
|
|
115
134
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
|
116
135
|
|
|
136
|
+
var _simpleFeature = _interopRequireWildcard(require("./simpleFeature"));
|
|
137
|
+
|
|
117
138
|
var _types = require("./types");
|
|
118
139
|
|
|
119
140
|
Object.keys(_types).forEach(function (key) {
|
|
@@ -198,6 +219,10 @@ Object.keys(_offscreenCanvasUtils).forEach(function (key) {
|
|
|
198
219
|
});
|
|
199
220
|
});
|
|
200
221
|
|
|
222
|
+
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); }
|
|
223
|
+
|
|
224
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
|
225
|
+
|
|
201
226
|
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; }
|
|
202
227
|
|
|
203
228
|
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; }
|
|
@@ -273,7 +298,11 @@ function useDebouncedCallback(callback) {
|
|
|
273
298
|
|
|
274
299
|
|
|
275
300
|
function findParentThat(node, predicate) {
|
|
276
|
-
|
|
301
|
+
if (!(0, _mobxStateTree.hasParent)(node)) {
|
|
302
|
+
throw new Error('node does not have parent');
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
var currentNode = (0, _mobxStateTree.getParent)(node);
|
|
277
306
|
|
|
278
307
|
while (currentNode && (0, _mobxStateTree.isAlive)(currentNode)) {
|
|
279
308
|
if (predicate(currentNode)) {
|
|
@@ -5,13 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.clearCache = clearCache;
|
|
9
8
|
exports.RemoteFileWithRangeCache = void 0;
|
|
10
|
-
|
|
11
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
exports.clearCache = clearCache;
|
|
12
10
|
|
|
13
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
12
|
|
|
13
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
+
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
16
|
|
|
17
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
package/util/io/index.js
CHANGED
|
@@ -5,13 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.openLocation = openLocation;
|
|
9
8
|
Object.defineProperty(exports, "RemoteFileWithRangeCache", {
|
|
10
9
|
enumerable: true,
|
|
11
10
|
get: function get() {
|
|
12
11
|
return _RemoteFileWithRangeCache.RemoteFileWithRangeCache;
|
|
13
12
|
}
|
|
14
13
|
});
|
|
14
|
+
exports.openLocation = openLocation;
|
|
15
15
|
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
17
|
|
package/util/jexl.js
CHANGED
|
@@ -9,7 +9,9 @@ exports.default = _default;
|
|
|
9
9
|
|
|
10
10
|
var _jexl = _interopRequireDefault(require("jexl"));
|
|
11
11
|
|
|
12
|
-
function
|
|
12
|
+
function
|
|
13
|
+
/* config?: any*/
|
|
14
|
+
_default() {
|
|
13
15
|
var j = new _jexl.default.Jexl(); // someday will make sure all of configs callbacks are added in, including
|
|
14
16
|
// ones passed in
|
|
15
17
|
// below are core functions
|
|
@@ -40,6 +42,7 @@ function _default() {
|
|
|
40
42
|
j.addFunction('floor', Math.floor);
|
|
41
43
|
j.addFunction('round', Math.round);
|
|
42
44
|
j.addFunction('abs', Math.abs);
|
|
45
|
+
j.addFunction('log10', Math.log10);
|
|
43
46
|
j.addFunction('parseInt', Number.parseInt);
|
|
44
47
|
j.addFunction('parseFloat', Number.parseFloat); // string
|
|
45
48
|
|
|
@@ -10,11 +10,14 @@ export interface Rectangle<T> {
|
|
|
10
10
|
r: number;
|
|
11
11
|
top: number | null;
|
|
12
12
|
h: number;
|
|
13
|
+
originalHeight: number;
|
|
13
14
|
data?: Record<string, T>;
|
|
14
15
|
}
|
|
15
16
|
export interface BaseLayout<T> {
|
|
16
17
|
addRect(id: string, left: number, right: number, height: number, data?: Record<string, T>): number | null;
|
|
17
18
|
collides(rect: Rectangle<T>, top: number): boolean;
|
|
19
|
+
addRectToBitmap(rect: Rectangle<T>, data: Record<string, T>): void;
|
|
20
|
+
getRectangles(): Map<string, RectTuple>;
|
|
18
21
|
discardRange(left: number, right: number): void;
|
|
19
22
|
serializeRegion(region: {
|
|
20
23
|
start: number;
|
|
@@ -1,38 +1,47 @@
|
|
|
1
|
-
import { RectTuple, SerializedLayout, BaseLayout } from './BaseLayout';
|
|
1
|
+
import { RectTuple, SerializedLayout, Rectangle, BaseLayout } from './BaseLayout';
|
|
2
2
|
export default class GranularRectLayout<T> implements BaseLayout<T> {
|
|
3
|
+
private pitchX;
|
|
4
|
+
private pitchY;
|
|
5
|
+
private hardRowLimit;
|
|
6
|
+
private bitmap;
|
|
3
7
|
private rectangles;
|
|
4
8
|
maxHeightReached: boolean;
|
|
5
9
|
private maxHeight;
|
|
6
|
-
private
|
|
7
|
-
private spacing;
|
|
10
|
+
private displayMode;
|
|
8
11
|
private pTotalHeight;
|
|
9
|
-
|
|
10
|
-
constructor({ maxHeight, spacing, pitchX, }?: {
|
|
11
|
-
maxHeight?: number;
|
|
12
|
-
spacing?: number;
|
|
12
|
+
constructor({ pitchX, pitchY, maxHeight, hardRowLimit, displayMode, }?: {
|
|
13
13
|
pitchX?: number;
|
|
14
|
+
pitchY?: number;
|
|
15
|
+
maxHeight?: number;
|
|
16
|
+
displayMode?: string;
|
|
17
|
+
hardRowLimit?: number;
|
|
14
18
|
});
|
|
15
19
|
/**
|
|
16
20
|
* @returns top position for the rect, or Null if laying
|
|
17
21
|
* out the rect would exceed maxHeight
|
|
18
22
|
*/
|
|
19
23
|
addRect(id: string, left: number, right: number, height: number, data?: Record<string, T>): number | null;
|
|
20
|
-
collides(): boolean;
|
|
24
|
+
collides(rect: Rectangle<T>, top: number): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* make a subarray if it does not exist
|
|
27
|
+
*/
|
|
28
|
+
private autovivifyRow;
|
|
29
|
+
addRectToBitmap(rect: Rectangle<T>): void;
|
|
21
30
|
/**
|
|
22
31
|
* Given a range of X coordinates, deletes all data dealing with
|
|
23
32
|
* the features.
|
|
24
33
|
*/
|
|
25
|
-
discardRange(): void;
|
|
34
|
+
discardRange(left: number, right: number): void;
|
|
26
35
|
hasSeen(id: string): boolean;
|
|
27
36
|
getByCoord(x: number, y: number): Record<string, T> | string | undefined;
|
|
28
37
|
getByID(id: string): RectTuple | undefined;
|
|
29
38
|
cleanup(): void;
|
|
30
39
|
getTotalHeight(): number;
|
|
31
40
|
get totalHeight(): number;
|
|
41
|
+
getRectangles(): Map<string, RectTuple>;
|
|
32
42
|
serializeRegion(region: {
|
|
33
43
|
start: number;
|
|
34
44
|
end: number;
|
|
35
45
|
}): SerializedLayout;
|
|
36
|
-
getRectangles(): Map<string, RectTuple>;
|
|
37
46
|
toJSON(): SerializedLayout;
|
|
38
47
|
}
|