@jbrowse/core 1.7.11 → 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.
- package/BaseFeatureWidget/BaseFeatureDetail.d.ts +20 -4
- package/BaseFeatureWidget/BaseFeatureDetail.js +313 -558
- package/BaseFeatureWidget/SequenceFeatureDetails.js +213 -473
- package/BaseFeatureWidget/index.d.ts +2 -2
- package/BaseFeatureWidget/index.js +88 -124
- package/BaseFeatureWidget/types.d.ts +1 -0
- package/BaseFeatureWidget/types.js +1 -4
- package/BaseFeatureWidget/util.js +40 -75
- package/CorePlugin.js +55 -94
- package/Plugin.js +9 -34
- package/PluginLoader.js +153 -422
- package/PluginManager.d.ts +84 -117
- package/PluginManager.js +377 -666
- package/ReExports/Attributes.d.ts +2 -0
- package/ReExports/Attributes.js +5 -0
- package/ReExports/BaseCard.d.ts +2 -0
- package/ReExports/BaseCard.js +5 -0
- package/ReExports/DataGrid.d.ts +2 -0
- package/ReExports/DataGrid.js +6 -0
- package/ReExports/FeatureDetails.d.ts +2 -0
- package/ReExports/FeatureDetails.js +5 -0
- package/ReExports/index.js +6 -12
- package/ReExports/list.d.ts +5 -0
- package/ReExports/list.js +271 -7
- package/ReExports/material-ui-colors.d.ts +1 -19
- package/ReExports/material-ui-colors.js +16 -158
- package/ReExports/modules.d.ts +68 -109
- package/ReExports/modules.js +455 -244
- package/TextSearch/BaseResults.js +51 -123
- package/TextSearch/TextSearchManager.d.ts +3 -1
- package/TextSearch/TextSearchManager.js +66 -144
- package/assemblyManager/assembly.js +280 -554
- package/assemblyManager/assemblyConfigSchema.js +47 -64
- package/assemblyManager/assemblyManager.d.ts +12 -10
- package/assemblyManager/assemblyManager.js +126 -270
- package/assemblyManager/index.js +9 -22
- package/configuration/configurationSchema.js +167 -203
- package/configuration/configurationSlot.js +248 -326
- package/configuration/index.js +19 -35
- package/configuration/util.d.ts +1 -1
- package/configuration/util.js +131 -173
- package/data_adapters/BaseAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter.js +132 -521
- package/data_adapters/CytobandAdapter.js +40 -126
- package/data_adapters/dataAdapterCache.js +77 -158
- package/package.json +16 -18
- package/pluggableElementTypes/AdapterType.js +24 -79
- package/pluggableElementTypes/AddTrackWorkflowType.d.ts +17 -0
- package/pluggableElementTypes/AddTrackWorkflowType.js +20 -0
- package/pluggableElementTypes/ConnectionType.js +22 -65
- package/pluggableElementTypes/DisplayType.js +35 -82
- package/pluggableElementTypes/InternetAccountType.js +23 -64
- package/pluggableElementTypes/PluggableElementBase.js +8 -20
- package/pluggableElementTypes/RpcMethodType.js +85 -427
- package/pluggableElementTypes/TextSearchAdapterType.js +16 -55
- package/pluggableElementTypes/TrackType.js +26 -70
- package/pluggableElementTypes/ViewType.js +21 -63
- package/pluggableElementTypes/WidgetType.js +21 -64
- package/pluggableElementTypes/index.d.ts +4 -3
- package/pluggableElementTypes/index.js +42 -125
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +28 -43
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
- package/pluggableElementTypes/models/BaseDisplayModel.js +58 -95
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
- package/pluggableElementTypes/models/BaseTrackModel.js +139 -200
- package/pluggableElementTypes/models/BaseViewModel.js +24 -40
- package/pluggableElementTypes/models/InternetAccountModel.js +116 -263
- package/pluggableElementTypes/models/baseConnectionConfig.js +14 -25
- package/pluggableElementTypes/models/baseInternetAccountConfig.js +29 -38
- package/pluggableElementTypes/models/baseTrackConfig.js +106 -133
- package/pluggableElementTypes/models/index.js +21 -70
- package/pluggableElementTypes/renderers/BoxRendererType.js +132 -291
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -38
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +60 -192
- package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -2
- package/pluggableElementTypes/renderers/FeatureRendererType.js +89 -255
- package/pluggableElementTypes/renderers/RendererType.js +31 -105
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +61 -72
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +112 -265
- package/pluggableElementTypes/renderers/index.js +19 -62
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +27 -65
- package/rpc/BaseRpcDriver.js +169 -405
- package/rpc/MainThreadRpcDriver.js +27 -150
- package/rpc/RpcManager.js +58 -159
- package/rpc/WebWorkerRpcDriver.js +54 -171
- package/rpc/configSchema.js +25 -49
- package/rpc/coreRpcMethods.d.ts +1 -3
- package/rpc/coreRpcMethods.js +221 -959
- package/rpc/remoteAbortSignals.js +46 -70
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.js +107 -158
- package/ui/App.js +157 -261
- package/ui/AssemblySelector.d.ts +1 -1
- package/ui/AssemblySelector.js +59 -115
- package/ui/CascadingMenu.js +100 -199
- package/ui/ColorPicker.d.ts +16 -0
- package/ui/ColorPicker.js +97 -0
- package/ui/Drawer.js +28 -58
- package/ui/DrawerWidget.js +109 -209
- package/ui/DropDownMenu.d.ts +0 -8
- package/ui/DropDownMenu.js +60 -97
- package/ui/EditableTypography.d.ts +1 -1
- package/ui/EditableTypography.js +87 -155
- package/ui/ErrorMessage.js +41 -66
- package/ui/FactoryResetDialog.js +24 -57
- package/ui/FatalErrorDialog.js +59 -91
- package/ui/FileSelector/FileSelector.js +123 -189
- package/ui/FileSelector/LocalFileChooser.js +44 -71
- package/ui/FileSelector/UrlChooser.js +17 -38
- package/ui/FileSelector/index.js +6 -12
- package/ui/Icons.d.ts +1 -1
- package/ui/Icons.js +45 -69
- package/ui/Logo.js +57 -110
- package/ui/Menu.d.ts +1 -1
- package/ui/Menu.js +232 -355
- package/ui/PrerenderedCanvas.js +63 -78
- package/ui/ResizeHandle.js +87 -114
- package/ui/ReturnToImportFormDialog.js +32 -59
- package/ui/SanitizedHTML.js +63 -52
- package/ui/Snackbar.js +74 -99
- package/ui/SnackbarModel.js +37 -51
- package/ui/Tooltip.d.ts +3 -1
- package/ui/Tooltip.js +49 -74
- package/ui/ViewContainer.js +113 -183
- package/ui/colors.d.ts +10 -0
- package/ui/colors.js +78 -0
- package/ui/index.js +51 -181
- package/ui/react-colorful.d.ts +17 -0
- package/ui/react-colorful.js +455 -0
- package/ui/theme.d.ts +279 -131
- package/ui/theme.js +197 -225
- package/util/Base1DUtils.d.ts +32 -0
- package/util/Base1DUtils.js +174 -0
- package/util/Base1DViewModel.d.ts +16 -37
- package/util/Base1DViewModel.js +116 -295
- package/util/QuickLRU.js +84 -332
- package/util/TimeTraveller.d.ts +19 -0
- package/util/TimeTraveller.js +86 -0
- package/util/aborting.js +49 -127
- package/util/analytics.js +91 -154
- package/util/blockTypes.js +106 -240
- package/util/calculateDynamicBlocks.js +98 -128
- package/util/calculateStaticBlocks.js +105 -125
- package/util/color/cssColorsLevel4.js +156 -160
- package/util/color/index.js +33 -55
- package/util/compositeMap.js +49 -333
- package/util/formatFastaStrings.js +9 -14
- package/util/idMaker.js +18 -31
- package/util/index.d.ts +18 -39
- package/util/index.js +743 -1236
- package/util/io/RemoteFileWithRangeCache.js +88 -257
- package/util/io/index.js +95 -169
- package/util/jexl.js +60 -115
- package/util/jexlStrings.js +24 -29
- package/util/layouts/BaseLayout.js +1 -4
- package/util/layouts/GranularRectLayout.js +388 -557
- package/util/layouts/MultiLayout.js +41 -109
- package/util/layouts/PrecomputedLayout.js +56 -114
- package/util/layouts/PrecomputedMultiLayout.js +22 -59
- package/util/layouts/SceneGraph.js +127 -197
- package/util/layouts/index.js +29 -66
- package/util/mst-reflection.js +55 -71
- package/util/offscreenCanvasPonyfill.js +66 -134
- package/util/offscreenCanvasUtils.d.ts +2 -7
- package/util/offscreenCanvasUtils.js +49 -146
- package/util/range.js +29 -40
- package/util/rxjs.js +20 -27
- package/util/simpleFeature.js +88 -152
- package/util/stats.js +91 -151
- package/util/tracks.js +130 -171
- package/util/types/index.d.ts +3 -3
- package/util/types/index.js +110 -179
- package/util/types/mst.d.ts +3 -3
- package/util/types/mst.js +91 -142
- package/util/types/util.js +1 -4
- package/util/when.js +54 -101
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +0 -122
- package/BaseFeatureWidget/index.test.js +0 -51
- package/TextSearch/BaseResults.test.js +0 -42
- package/configuration/configurationSchema.test.js +0 -266
- package/configuration/configurationSlot.test.js +0 -69
- package/configuration/util.test.js +0 -39
- package/data_adapters/BaseAdapter.test.js +0 -200
- package/declare.d.js +0 -1
- package/pluggableElementTypes/RpcMethodType.test.js +0 -118
- package/pluggableElementTypes/renderers/declare.d.js +0 -1
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +0 -20
- package/rpc/BaseRpcDriver.test.js +0 -540
- package/rpc/declaration.d.js +0 -1
- package/ui/FatalErrorDialog.test.js +0 -82
- package/ui/SanitizedHTML.test.js +0 -36
- package/ui/theme.test.js +0 -111
- package/util/Base1DViewModel.test.js +0 -130
- package/util/calculateDynamicBlocks.test.js +0 -74
- package/util/calculateStaticBlocks.test.js +0 -297
- package/util/declare.d.js +0 -1
- package/util/formatFastaStrings.test.js +0 -40
- package/util/index.test.js +0 -213
- package/util/jexlStrings.test.js +0 -48
- package/util/layouts/GranularRectLayout.test.js +0 -99
- package/util/range.test.js +0 -64
- package/util/simpleFeature.test.js +0 -34
- package/util/stats.test.js +0 -172
|
@@ -1,118 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
25
|
-
var MultiLayout = /*#__PURE__*/function () {
|
|
26
|
-
/**
|
|
27
|
-
* layout class that just keeps a number of named sub-layouts.
|
|
28
|
-
* basically just a fancier
|
|
29
|
-
* `{ layout1: new GranularRectLayout(), layout2: new GranularRectLayout() ...}`
|
|
30
|
-
*/
|
|
31
|
-
function MultiLayout(SubLayoutClass) {
|
|
32
|
-
var layoutArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
33
|
-
(0, _classCallCheck2.default)(this, MultiLayout);
|
|
34
|
-
this.SubLayoutClass = SubLayoutClass;
|
|
35
|
-
(0, _defineProperty2.default)(this, "subLayouts", new Map());
|
|
36
|
-
(0, _defineProperty2.default)(this, "subLayoutConstructorArgs", {});
|
|
37
|
-
this.subLayouts = new Map();
|
|
38
|
-
this.subLayoutConstructorArgs = layoutArgs;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
(0, _createClass2.default)(MultiLayout, [{
|
|
42
|
-
key: "getDataByID",
|
|
43
|
-
value: function getDataByID(id) {
|
|
44
|
-
var _iterator = _createForOfIteratorHelper(this.subLayouts.values()),
|
|
45
|
-
_step;
|
|
46
|
-
|
|
47
|
-
try {
|
|
48
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
49
|
-
var layout = _step.value;
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
var r = layout.getDataByID(id);
|
|
52
|
-
|
|
53
|
-
if (r) {
|
|
54
|
-
return r;
|
|
55
|
-
}
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class MultiLayout {
|
|
4
|
+
/**
|
|
5
|
+
* layout class that just keeps a number of named sub-layouts.
|
|
6
|
+
* basically just a fancier
|
|
7
|
+
* `{ layout1: new GranularRectLayout(), layout2: new GranularRectLayout() ...}`
|
|
8
|
+
*/
|
|
9
|
+
constructor(SubLayoutClass, layoutArgs = {}) {
|
|
10
|
+
this.SubLayoutClass = SubLayoutClass;
|
|
11
|
+
this.subLayouts = new Map();
|
|
12
|
+
this.subLayoutConstructorArgs = {};
|
|
13
|
+
this.subLayouts = new Map();
|
|
14
|
+
this.subLayoutConstructorArgs = layoutArgs;
|
|
15
|
+
}
|
|
16
|
+
getDataByID(id) {
|
|
17
|
+
for (const layout of this.subLayouts.values()) {
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
const r = layout.getDataByID(id);
|
|
20
|
+
if (r) {
|
|
21
|
+
return r;
|
|
22
|
+
}
|
|
56
23
|
}
|
|
57
|
-
|
|
58
|
-
_iterator.e(err);
|
|
59
|
-
} finally {
|
|
60
|
-
_iterator.f();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return undefined;
|
|
24
|
+
return undefined;
|
|
64
25
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.subLayouts.set(layoutName, subLayout);
|
|
26
|
+
getSublayout(layoutName) {
|
|
27
|
+
let subLayout = this.subLayouts.get(layoutName);
|
|
28
|
+
if (subLayout === undefined) {
|
|
29
|
+
subLayout = new this.SubLayoutClass(this.subLayoutConstructorArgs);
|
|
30
|
+
this.subLayouts.set(layoutName, subLayout);
|
|
31
|
+
return subLayout;
|
|
32
|
+
}
|
|
73
33
|
return subLayout;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return subLayout;
|
|
77
34
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
value: function addRect(layoutName, id, left, right, height) {
|
|
81
|
-
var data = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
|
|
82
|
-
return this.getSublayout(layoutName).addRect(id, left, right, height, data);
|
|
35
|
+
addRect(layoutName, id, left, right, height, data = {}) {
|
|
36
|
+
return this.getSublayout(layoutName).addRect(id, left, right, height, data);
|
|
83
37
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var layout = this.subLayouts.get(layoutName);
|
|
88
|
-
return layout && layout.discardRange(left, right);
|
|
38
|
+
discardRange(layoutName, left, right) {
|
|
39
|
+
const layout = this.subLayouts.get(layoutName);
|
|
40
|
+
return layout && layout.discardRange(left, right);
|
|
89
41
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var _iterator2 = _createForOfIteratorHelper(this.subLayouts.entries()),
|
|
96
|
-
_step2;
|
|
97
|
-
|
|
98
|
-
try {
|
|
99
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
100
|
-
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
|
|
101
|
-
layoutName = _step2$value[0],
|
|
102
|
-
sublayout = _step2$value[1];
|
|
103
|
-
|
|
104
|
-
data[layoutName] = sublayout.toJSON();
|
|
42
|
+
toJSON() {
|
|
43
|
+
const data = {};
|
|
44
|
+
for (const [layoutName, sublayout] of this.subLayouts.entries()) {
|
|
45
|
+
data[layoutName] = sublayout.toJSON();
|
|
105
46
|
}
|
|
106
|
-
|
|
107
|
-
_iterator2.e(err);
|
|
108
|
-
} finally {
|
|
109
|
-
_iterator2.f();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return data;
|
|
47
|
+
return data;
|
|
113
48
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}();
|
|
117
|
-
|
|
118
|
-
exports.default = MultiLayout;
|
|
49
|
+
}
|
|
50
|
+
exports.default = MultiLayout;
|
|
@@ -1,129 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function PrecomputedLayout(_ref) {
|
|
24
|
-
var rectangles = _ref.rectangles,
|
|
25
|
-
totalHeight = _ref.totalHeight,
|
|
26
|
-
maxHeightReached = _ref.maxHeightReached;
|
|
27
|
-
(0, _classCallCheck2.default)(this, PrecomputedLayout);
|
|
28
|
-
(0, _defineProperty2.default)(this, "rectangles", void 0);
|
|
29
|
-
(0, _defineProperty2.default)(this, "totalHeight", void 0);
|
|
30
|
-
(0, _defineProperty2.default)(this, "maxHeightReached", void 0);
|
|
31
|
-
(0, _defineProperty2.default)(this, "rbush", void 0);
|
|
32
|
-
this.rectangles = new Map(Object.entries(rectangles)); // rectangles is of the form "featureId": [leftPx, topPx, rightPx, bottomPx]
|
|
33
|
-
|
|
34
|
-
this.totalHeight = totalHeight;
|
|
35
|
-
this.maxHeightReached = maxHeightReached;
|
|
36
|
-
this.rbush = new _rbush.default();
|
|
37
|
-
|
|
38
|
-
for (var _i = 0, _Object$entries = Object.entries(rectangles); _i < _Object$entries.length; _i++) {
|
|
39
|
-
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
40
|
-
key = _Object$entries$_i[0],
|
|
41
|
-
layout = _Object$entries$_i[1];
|
|
42
|
-
|
|
43
|
-
this.rbush.insert({
|
|
44
|
-
minX: layout[0],
|
|
45
|
-
minY: layout[1],
|
|
46
|
-
maxX: layout[2],
|
|
47
|
-
maxY: layout[3],
|
|
48
|
-
name: key
|
|
49
|
-
});
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const rbush_1 = __importDefault(require("rbush"));
|
|
7
|
+
class PrecomputedLayout {
|
|
8
|
+
constructor({ rectangles, totalHeight, maxHeightReached }) {
|
|
9
|
+
this.rectangles = new Map(Object.entries(rectangles));
|
|
10
|
+
// rectangles is of the form "featureId": [leftPx, topPx, rightPx, bottomPx]
|
|
11
|
+
this.totalHeight = totalHeight;
|
|
12
|
+
this.maxHeightReached = maxHeightReached;
|
|
13
|
+
this.rbush = new rbush_1.default();
|
|
14
|
+
for (const [key, layout] of Object.entries(rectangles)) {
|
|
15
|
+
this.rbush.insert({
|
|
16
|
+
minX: layout[0],
|
|
17
|
+
minY: layout[1],
|
|
18
|
+
maxX: layout[2],
|
|
19
|
+
maxY: layout[3],
|
|
20
|
+
name: key,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
50
23
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (!rect) {
|
|
59
|
-
throw new Error("id ".concat(id, " not found in precomputed feature layout"));
|
|
60
|
-
} // left, top, right, bottom
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return rect[1];
|
|
24
|
+
addRect(id) {
|
|
25
|
+
const rect = this.rectangles.get(id);
|
|
26
|
+
if (!rect) {
|
|
27
|
+
throw new Error(`id ${id} not found in precomputed feature layout`);
|
|
28
|
+
}
|
|
29
|
+
// left, top, right, bottom
|
|
30
|
+
return rect[1];
|
|
64
31
|
}
|
|
65
32
|
/**
|
|
66
33
|
* returns a Map of `feature id -> rectangle`
|
|
67
34
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
key: "getRectangles",
|
|
71
|
-
value: function getRectangles() {
|
|
72
|
-
return this.rectangles;
|
|
35
|
+
getRectangles() {
|
|
36
|
+
return this.rectangles;
|
|
73
37
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
value: function getTotalHeight() {
|
|
77
|
-
return this.totalHeight;
|
|
38
|
+
getTotalHeight() {
|
|
39
|
+
return this.totalHeight;
|
|
78
40
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
value: function collides(_rect, _top) {
|
|
82
|
-
throw new Error('Method not implemented.');
|
|
41
|
+
collides(_rect, _top) {
|
|
42
|
+
throw new Error('Method not implemented.');
|
|
83
43
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
minY: y,
|
|
90
|
-
maxX: x + 1,
|
|
91
|
-
maxY: y + 1
|
|
92
|
-
};
|
|
93
|
-
return this.rbush.collides(rect) ? this.rbush.search(rect)[0].name : undefined;
|
|
44
|
+
getByCoord(x, y) {
|
|
45
|
+
const rect = { minX: x, minY: y, maxX: x + 1, maxY: y + 1 };
|
|
46
|
+
return this.rbush.collides(rect)
|
|
47
|
+
? this.rbush.search(rect)[0].name
|
|
48
|
+
: undefined;
|
|
94
49
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
value: function getByID(id) {
|
|
98
|
-
return this.rectangles.get(id);
|
|
50
|
+
getByID(id) {
|
|
51
|
+
return this.rectangles.get(id);
|
|
99
52
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
value: function addRectToBitmap(_rect, _data) {
|
|
103
|
-
throw new Error('Method not implemented.');
|
|
53
|
+
addRectToBitmap(_rect, _data) {
|
|
54
|
+
throw new Error('Method not implemented.');
|
|
104
55
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
value: function discardRange(_left, _right) {
|
|
108
|
-
throw new Error('Method not implemented.');
|
|
56
|
+
discardRange(_left, _right) {
|
|
57
|
+
throw new Error('Method not implemented.');
|
|
109
58
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
value: function serializeRegion(_region) {
|
|
113
|
-
throw new Error('Method not implemented.');
|
|
59
|
+
serializeRegion(_region) {
|
|
60
|
+
throw new Error('Method not implemented.');
|
|
114
61
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
containsNoTransferables: true
|
|
123
|
-
};
|
|
62
|
+
toJSON() {
|
|
63
|
+
return {
|
|
64
|
+
rectangles: Object.fromEntries(this.rectangles),
|
|
65
|
+
totalHeight: this.totalHeight,
|
|
66
|
+
maxHeightReached: false,
|
|
67
|
+
containsNoTransferables: true,
|
|
68
|
+
};
|
|
124
69
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}();
|
|
128
|
-
|
|
129
|
-
exports.default = PrecomputedLayout;
|
|
70
|
+
}
|
|
71
|
+
exports.default = PrecomputedLayout;
|
|
@@ -1,60 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var _PrecomputedLayout = _interopRequireDefault(require("./PrecomputedLayout"));
|
|
25
|
-
|
|
26
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
27
|
-
|
|
28
|
-
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; } }
|
|
29
|
-
|
|
30
|
-
var ThrowingLayout = /*#__PURE__*/(0, _createClass2.default)(function ThrowingLayout() {
|
|
31
|
-
(0, _classCallCheck2.default)(this, ThrowingLayout);
|
|
32
|
-
throw new Error('invalid layout name');
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
var PrecomputedMultiLayout = /*#__PURE__*/function (_MultiLayout) {
|
|
36
|
-
(0, _inherits2.default)(PrecomputedMultiLayout, _MultiLayout);
|
|
37
|
-
|
|
38
|
-
var _super = _createSuper(PrecomputedMultiLayout);
|
|
39
|
-
|
|
40
|
-
function PrecomputedMultiLayout(json) {
|
|
41
|
-
var _this;
|
|
42
|
-
|
|
43
|
-
(0, _classCallCheck2.default)(this, PrecomputedMultiLayout);
|
|
44
|
-
// use ThrowingLayout because there is not supposed to be any creation
|
|
45
|
-
// of new layouts in a precomputed layout
|
|
46
|
-
_this = _super.call(this, ThrowingLayout);
|
|
47
|
-
Object.entries(json).forEach(function (_ref) {
|
|
48
|
-
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
49
|
-
layoutName = _ref2[0],
|
|
50
|
-
sublayoutJson = _ref2[1];
|
|
51
|
-
|
|
52
|
-
_this.subLayouts.set(layoutName, new _PrecomputedLayout.default(sublayoutJson));
|
|
53
|
-
});
|
|
54
|
-
return _this;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return (0, _createClass2.default)(PrecomputedMultiLayout);
|
|
58
|
-
}(_MultiLayout2.default);
|
|
59
|
-
|
|
60
|
-
exports.default = PrecomputedMultiLayout;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const MultiLayout_1 = __importDefault(require("./MultiLayout"));
|
|
7
|
+
const PrecomputedLayout_1 = __importDefault(require("./PrecomputedLayout"));
|
|
8
|
+
class ThrowingLayout {
|
|
9
|
+
constructor() {
|
|
10
|
+
throw new Error('invalid layout name');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
class PrecomputedMultiLayout extends MultiLayout_1.default {
|
|
14
|
+
constructor(json) {
|
|
15
|
+
// use ThrowingLayout because there is not supposed to be any creation
|
|
16
|
+
// of new layouts in a precomputed layout
|
|
17
|
+
super(ThrowingLayout);
|
|
18
|
+
Object.entries(json).forEach(([layoutName, sublayoutJson]) => {
|
|
19
|
+
this.subLayouts.set(layoutName, new PrecomputedLayout_1.default(sublayoutJson));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.default = PrecomputedMultiLayout;
|