@vitessce/neuroglancer 3.6.0 → 3.6.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/dist/{index-DVtsoLdc.js → ReactNeuroglancer-DBBOgJbb.js} +287 -306
- package/dist/{index-DmHg0YSX.js → index-B3uD4mJg.js} +17445 -148
- package/dist/index.js +1 -1
- package/dist-tsc/Neuroglancer.d.ts +14 -1
- package/dist-tsc/Neuroglancer.d.ts.map +1 -1
- package/dist-tsc/Neuroglancer.js +121 -20
- package/dist-tsc/NeuroglancerSubscriber.d.ts.map +1 -1
- package/dist-tsc/NeuroglancerSubscriber.js +120 -5
- package/dist-tsc/ReactNeuroglancer.d.ts +3 -0
- package/dist-tsc/ReactNeuroglancer.d.ts.map +1 -0
- package/dist-tsc/ReactNeuroglancer.js +6 -0
- package/dist-tsc/styles.js +3 -3
- package/package.json +11 -6
- package/src/Neuroglancer.js +158 -38
- package/src/NeuroglancerSubscriber.js +201 -5
- package/src/ReactNeuroglancer.js +10 -0
- package/src/styles.js +3 -3
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace, r as requirePropTypes } from "./index-DmHg0YSX.js";
|
|
2
1
|
import React__default from "react";
|
|
3
|
-
|
|
4
|
-
for (var i = 0; i < m.length; i++) {
|
|
5
|
-
const e = m[i];
|
|
6
|
-
if (typeof e !== "string" && !Array.isArray(e)) {
|
|
7
|
-
for (const k in e) {
|
|
8
|
-
if (k !== "default" && !(k in n)) {
|
|
9
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
-
if (d) {
|
|
11
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: () => e[k]
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
|
|
21
|
-
}
|
|
2
|
+
import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace, r as requirePropTypes } from "./index-B3uD4mJg.js";
|
|
22
3
|
var lib = {};
|
|
23
4
|
var es6_object_assign = {};
|
|
24
5
|
var _global = { exports: {} };
|
|
@@ -371,9 +352,9 @@ function require_toAbsoluteIndex() {
|
|
|
371
352
|
var toInteger = require_toInteger();
|
|
372
353
|
var max = Math.max;
|
|
373
354
|
var min2 = Math.min;
|
|
374
|
-
_toAbsoluteIndex = function(
|
|
375
|
-
|
|
376
|
-
return
|
|
355
|
+
_toAbsoluteIndex = function(index, length2) {
|
|
356
|
+
index = toInteger(index);
|
|
357
|
+
return index < 0 ? max(index + length2, 0) : min2(index, length2);
|
|
377
358
|
};
|
|
378
359
|
return _toAbsoluteIndex;
|
|
379
360
|
}
|
|
@@ -389,14 +370,14 @@ function require_arrayIncludes() {
|
|
|
389
370
|
return function($this, el, fromIndex) {
|
|
390
371
|
var O = toIObject($this);
|
|
391
372
|
var length2 = toLength(O.length);
|
|
392
|
-
var
|
|
373
|
+
var index = toAbsoluteIndex(fromIndex, length2);
|
|
393
374
|
var value;
|
|
394
|
-
if (IS_INCLUDES && el != el) while (length2 >
|
|
395
|
-
value = O[
|
|
375
|
+
if (IS_INCLUDES && el != el) while (length2 > index) {
|
|
376
|
+
value = O[index++];
|
|
396
377
|
if (value != value) return true;
|
|
397
378
|
}
|
|
398
|
-
else for (; length2 >
|
|
399
|
-
if (O[
|
|
379
|
+
else for (; length2 > index; index++) if (IS_INCLUDES || index in O) {
|
|
380
|
+
if (O[index] === el) return IS_INCLUDES || index || 0;
|
|
400
381
|
}
|
|
401
382
|
return !IS_INCLUDES && -1;
|
|
402
383
|
};
|
|
@@ -547,11 +528,11 @@ function require_objectAssign() {
|
|
|
547
528
|
}) ? function assign2(target, source) {
|
|
548
529
|
var T = toObject(target);
|
|
549
530
|
var aLen = arguments.length;
|
|
550
|
-
var
|
|
531
|
+
var index = 1;
|
|
551
532
|
var getSymbols = gOPS.f;
|
|
552
533
|
var isEnum = pIE.f;
|
|
553
|
-
while (aLen >
|
|
554
|
-
var S = IObject(arguments[
|
|
534
|
+
while (aLen > index) {
|
|
535
|
+
var S = IObject(arguments[index++]);
|
|
555
536
|
var keys2 = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
|
|
556
537
|
var length2 = keys2.length;
|
|
557
538
|
var j = 0;
|
|
@@ -911,14 +892,14 @@ function requireEs6_array_iterator() {
|
|
|
911
892
|
}, function() {
|
|
912
893
|
var O = this._t;
|
|
913
894
|
var kind = this._k;
|
|
914
|
-
var
|
|
915
|
-
if (!O ||
|
|
895
|
+
var index = this._i++;
|
|
896
|
+
if (!O || index >= O.length) {
|
|
916
897
|
this._t = void 0;
|
|
917
898
|
return step(1);
|
|
918
899
|
}
|
|
919
|
-
if (kind == "keys") return step(0,
|
|
920
|
-
if (kind == "values") return step(0, O[
|
|
921
|
-
return step(0, [
|
|
900
|
+
if (kind == "keys") return step(0, index);
|
|
901
|
+
if (kind == "values") return step(0, O[index]);
|
|
902
|
+
return step(0, [index, O[index]]);
|
|
922
903
|
}, "values");
|
|
923
904
|
Iterators.Arguments = Iterators.Array;
|
|
924
905
|
addToUnscopables("keys");
|
|
@@ -976,10 +957,10 @@ function requireEs6_string_iterator() {
|
|
|
976
957
|
this._i = 0;
|
|
977
958
|
}, function() {
|
|
978
959
|
var O = this._t;
|
|
979
|
-
var
|
|
960
|
+
var index = this._i;
|
|
980
961
|
var point;
|
|
981
|
-
if (
|
|
982
|
-
point = $at(O,
|
|
962
|
+
if (index >= O.length) return { value: void 0, done: true };
|
|
963
|
+
point = $at(O, index);
|
|
983
964
|
this._i += point.length;
|
|
984
965
|
return { value: point, done: false };
|
|
985
966
|
});
|
|
@@ -1209,11 +1190,11 @@ function require_forOf() {
|
|
|
1209
1190
|
return iterable;
|
|
1210
1191
|
} : getIterFn(iterable);
|
|
1211
1192
|
var f = ctx(fn, that, entries2 ? 2 : 1);
|
|
1212
|
-
var
|
|
1193
|
+
var index = 0;
|
|
1213
1194
|
var length2, step, iterator2, result;
|
|
1214
1195
|
if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!");
|
|
1215
|
-
if (isArrayIter(iterFn)) for (length2 = toLength(iterable.length); length2 >
|
|
1216
|
-
result = entries2 ? f(anObject(step = iterable[
|
|
1196
|
+
if (isArrayIter(iterFn)) for (length2 = toLength(iterable.length); length2 > index; index++) {
|
|
1197
|
+
result = entries2 ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
|
1217
1198
|
if (result === BREAK || result === RETURN) return result;
|
|
1218
1199
|
}
|
|
1219
1200
|
else for (iterator2 = iterFn.call(iterable); !(step = iterator2.next()).done; ) {
|
|
@@ -1331,9 +1312,9 @@ function require_collectionStrong() {
|
|
|
1331
1312
|
var validate = require_validateCollection();
|
|
1332
1313
|
var SIZE = DESCRIPTORS ? "_s" : "size";
|
|
1333
1314
|
var getEntry = function(that, key) {
|
|
1334
|
-
var
|
|
1315
|
+
var index = fastKey(key);
|
|
1335
1316
|
var entry;
|
|
1336
|
-
if (
|
|
1317
|
+
if (index !== "F") return that._i[index];
|
|
1337
1318
|
for (entry = that._f; entry; entry = entry.n) {
|
|
1338
1319
|
if (entry.k == key) return entry;
|
|
1339
1320
|
}
|
|
@@ -1405,12 +1386,12 @@ function require_collectionStrong() {
|
|
|
1405
1386
|
},
|
|
1406
1387
|
def: function(that, key, value) {
|
|
1407
1388
|
var entry = getEntry(that, key);
|
|
1408
|
-
var prev,
|
|
1389
|
+
var prev, index;
|
|
1409
1390
|
if (entry) {
|
|
1410
1391
|
entry.v = value;
|
|
1411
1392
|
} else {
|
|
1412
1393
|
that._l = entry = {
|
|
1413
|
-
i:
|
|
1394
|
+
i: index = fastKey(key, true),
|
|
1414
1395
|
// <- index
|
|
1415
1396
|
k: key,
|
|
1416
1397
|
// <- key
|
|
@@ -1426,7 +1407,7 @@ function require_collectionStrong() {
|
|
|
1426
1407
|
if (!that._f) that._f = entry;
|
|
1427
1408
|
if (prev) prev.n = entry;
|
|
1428
1409
|
that[SIZE]++;
|
|
1429
|
-
if (
|
|
1410
|
+
if (index !== "F") that._i[index] = entry;
|
|
1430
1411
|
}
|
|
1431
1412
|
return that;
|
|
1432
1413
|
},
|
|
@@ -1521,14 +1502,14 @@ function require_arrayMethods() {
|
|
|
1521
1502
|
var self2 = IObject(O);
|
|
1522
1503
|
var f = ctx(callbackfn, that, 3);
|
|
1523
1504
|
var length2 = toLength(self2.length);
|
|
1524
|
-
var
|
|
1505
|
+
var index = 0;
|
|
1525
1506
|
var result = IS_MAP ? create2($this, length2) : IS_FILTER ? create2($this, 0) : void 0;
|
|
1526
1507
|
var val, res;
|
|
1527
|
-
for (; length2 >
|
|
1528
|
-
val = self2[
|
|
1529
|
-
res = f(val,
|
|
1508
|
+
for (; length2 > index; index++) if (NO_HOLES || index in self2) {
|
|
1509
|
+
val = self2[index];
|
|
1510
|
+
res = f(val, index, O);
|
|
1530
1511
|
if (TYPE) {
|
|
1531
|
-
if (IS_MAP) result[
|
|
1512
|
+
if (IS_MAP) result[index] = res;
|
|
1532
1513
|
else if (res) switch (TYPE) {
|
|
1533
1514
|
case 3:
|
|
1534
1515
|
return true;
|
|
@@ -1537,7 +1518,7 @@ function require_arrayMethods() {
|
|
|
1537
1518
|
return val;
|
|
1538
1519
|
// find
|
|
1539
1520
|
case 6:
|
|
1540
|
-
return
|
|
1521
|
+
return index;
|
|
1541
1522
|
// findIndex
|
|
1542
1523
|
case 2:
|
|
1543
1524
|
result.push(val);
|
|
@@ -1795,9 +1776,9 @@ function require_createProperty() {
|
|
|
1795
1776
|
hasRequired_createProperty = 1;
|
|
1796
1777
|
var $defineProperty = require_objectDp();
|
|
1797
1778
|
var createDesc = require_propertyDesc();
|
|
1798
|
-
_createProperty = function(object,
|
|
1799
|
-
if (
|
|
1800
|
-
else object[
|
|
1779
|
+
_createProperty = function(object, index, value) {
|
|
1780
|
+
if (index in object) $defineProperty.f(object, index, createDesc(0, value));
|
|
1781
|
+
else object[index] = value;
|
|
1801
1782
|
};
|
|
1802
1783
|
return _createProperty;
|
|
1803
1784
|
}
|
|
@@ -1859,21 +1840,21 @@ function requireEs6_array_from() {
|
|
|
1859
1840
|
var aLen = arguments.length;
|
|
1860
1841
|
var mapfn = aLen > 1 ? arguments[1] : void 0;
|
|
1861
1842
|
var mapping = mapfn !== void 0;
|
|
1862
|
-
var
|
|
1843
|
+
var index = 0;
|
|
1863
1844
|
var iterFn = getIterFn(O);
|
|
1864
1845
|
var length2, result, step, iterator2;
|
|
1865
1846
|
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : void 0, 2);
|
|
1866
1847
|
if (iterFn != void 0 && !(C == Array && isArrayIter(iterFn))) {
|
|
1867
|
-
for (iterator2 = iterFn.call(O), result = new C(); !(step = iterator2.next()).done;
|
|
1868
|
-
createProperty(result,
|
|
1848
|
+
for (iterator2 = iterFn.call(O), result = new C(); !(step = iterator2.next()).done; index++) {
|
|
1849
|
+
createProperty(result, index, mapping ? call(iterator2, mapfn, [step.value, index], true) : step.value);
|
|
1869
1850
|
}
|
|
1870
1851
|
} else {
|
|
1871
1852
|
length2 = toLength(O.length);
|
|
1872
|
-
for (result = new C(length2); length2 >
|
|
1873
|
-
createProperty(result,
|
|
1853
|
+
for (result = new C(length2); length2 > index; index++) {
|
|
1854
|
+
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
|
1874
1855
|
}
|
|
1875
1856
|
}
|
|
1876
|
-
result.length =
|
|
1857
|
+
result.length = index;
|
|
1877
1858
|
return result;
|
|
1878
1859
|
}
|
|
1879
1860
|
});
|
|
@@ -2285,10 +2266,10 @@ function require_trimmedEndIndex() {
|
|
|
2285
2266
|
hasRequired_trimmedEndIndex = 1;
|
|
2286
2267
|
var reWhitespace = /\s/;
|
|
2287
2268
|
function trimmedEndIndex(string) {
|
|
2288
|
-
var
|
|
2289
|
-
while (
|
|
2269
|
+
var index = string.length;
|
|
2270
|
+
while (index-- && reWhitespace.test(string.charAt(index))) {
|
|
2290
2271
|
}
|
|
2291
|
-
return
|
|
2272
|
+
return index;
|
|
2292
2273
|
}
|
|
2293
2274
|
_trimmedEndIndex = trimmedEndIndex;
|
|
2294
2275
|
return _trimmedEndIndex;
|
|
@@ -2594,9 +2575,9 @@ class RefCounted {
|
|
|
2594
2575
|
unregisterDisposer(f) {
|
|
2595
2576
|
let disposers = this.disposers;
|
|
2596
2577
|
if (disposers != null) {
|
|
2597
|
-
let
|
|
2598
|
-
if (
|
|
2599
|
-
disposers.splice(
|
|
2578
|
+
let index = disposers.indexOf(f);
|
|
2579
|
+
if (index !== -1) {
|
|
2580
|
+
disposers.splice(index, 1);
|
|
2600
2581
|
}
|
|
2601
2582
|
}
|
|
2602
2583
|
return f;
|
|
@@ -10054,10 +10035,10 @@ function requireEs6_promise() {
|
|
|
10054
10035
|
var reject = capability.reject;
|
|
10055
10036
|
var result = perform(function() {
|
|
10056
10037
|
var values2 = [];
|
|
10057
|
-
var
|
|
10038
|
+
var index = 0;
|
|
10058
10039
|
var remaining = 1;
|
|
10059
10040
|
forOf(iterable, false, function(promise2) {
|
|
10060
|
-
var $index =
|
|
10041
|
+
var $index = index++;
|
|
10061
10042
|
var alreadyCalled = false;
|
|
10062
10043
|
values2.push(void 0);
|
|
10063
10044
|
remaining++;
|
|
@@ -15168,9 +15149,9 @@ class RenderScaleHistogram {
|
|
|
15168
15149
|
newValue.set(value);
|
|
15169
15150
|
this.value = value = newValue;
|
|
15170
15151
|
}
|
|
15171
|
-
const
|
|
15172
|
-
value[
|
|
15173
|
-
value[
|
|
15152
|
+
const index = spatialScaleIndex * numRenderScaleHistogramBins * 2 + Math.min(Math.max(0, Math.round(getRenderScaleHistogramOffset(renderScale))), numRenderScaleHistogramBins - 1);
|
|
15153
|
+
value[index] += presentCount;
|
|
15154
|
+
value[index + numRenderScaleHistogramBins] += notPresentCount;
|
|
15174
15155
|
}
|
|
15175
15156
|
}
|
|
15176
15157
|
class SliceViewRenderLayer extends RenderLayer {
|
|
@@ -16147,10 +16128,10 @@ function updateAnnotation(chunk, annotation, propertySerializers) {
|
|
|
16147
16128
|
const idMap = serializedAnnotations.typeToIdMaps[type];
|
|
16148
16129
|
const handler = annotationTypeHandlers[type];
|
|
16149
16130
|
const numBytes = propertySerializers[type].serializedBytes;
|
|
16150
|
-
let
|
|
16151
|
-
if (
|
|
16152
|
-
|
|
16153
|
-
idMap.set(annotation.id,
|
|
16131
|
+
let index = idMap.get(annotation.id);
|
|
16132
|
+
if (index === void 0) {
|
|
16133
|
+
index = idMap.size;
|
|
16134
|
+
idMap.set(annotation.id, index);
|
|
16154
16135
|
const newData = copyOtherAnnotations(serializedAnnotations, propertySerializers, type, numBytes);
|
|
16155
16136
|
copyAnnotationSlice(
|
|
16156
16137
|
serializedAnnotations,
|
|
@@ -16160,11 +16141,11 @@ function updateAnnotation(chunk, annotation, propertySerializers) {
|
|
|
16160
16141
|
/*sourceBeginIndex=*/
|
|
16161
16142
|
0,
|
|
16162
16143
|
/*sourceEndIndex=*/
|
|
16163
|
-
|
|
16144
|
+
index,
|
|
16164
16145
|
/*destBeginIndex=*/
|
|
16165
16146
|
0,
|
|
16166
16147
|
/*destCount=*/
|
|
16167
|
-
|
|
16148
|
+
index + 1
|
|
16168
16149
|
);
|
|
16169
16150
|
ids.push(annotation.id);
|
|
16170
16151
|
serializedAnnotations.data = newData;
|
|
@@ -16173,15 +16154,15 @@ function updateAnnotation(chunk, annotation, propertySerializers) {
|
|
|
16173
16154
|
const dv = new DataView(serializedAnnotations.data.buffer, serializedAnnotations.data.byteOffset, serializedAnnotations.data.byteLength);
|
|
16174
16155
|
const isLittleEndian = ENDIANNESS === Endianness.LITTLE;
|
|
16175
16156
|
const propertySerializer = propertySerializers[type];
|
|
16176
|
-
handler.serialize(dv, bufferOffset + propertySerializer.propertyGroupBytes[0] *
|
|
16177
|
-
propertySerializer.serialize(dv, bufferOffset,
|
|
16157
|
+
handler.serialize(dv, bufferOffset + propertySerializer.propertyGroupBytes[0] * index, isLittleEndian, rank, annotation);
|
|
16158
|
+
propertySerializer.serialize(dv, bufferOffset, index, ids.length, isLittleEndian, annotation.properties);
|
|
16178
16159
|
chunk.bufferValid = false;
|
|
16179
16160
|
}
|
|
16180
16161
|
function deleteAnnotation(chunk, type, id, propertySerializers) {
|
|
16181
16162
|
const serializedAnnotations = chunk.serializedAnnotations;
|
|
16182
16163
|
const idMap = serializedAnnotations.typeToIdMaps[type];
|
|
16183
|
-
const
|
|
16184
|
-
if (
|
|
16164
|
+
const index = idMap.get(id);
|
|
16165
|
+
if (index === void 0) {
|
|
16185
16166
|
return false;
|
|
16186
16167
|
}
|
|
16187
16168
|
const ids = serializedAnnotations.typeToIds[type];
|
|
@@ -16195,7 +16176,7 @@ function deleteAnnotation(chunk, type, id, propertySerializers) {
|
|
|
16195
16176
|
/*sourceBeginIndex=*/
|
|
16196
16177
|
0,
|
|
16197
16178
|
/*sourceEndIndex=*/
|
|
16198
|
-
|
|
16179
|
+
index,
|
|
16199
16180
|
/*destBeginIndex=*/
|
|
16200
16181
|
0,
|
|
16201
16182
|
/*destCount=*/
|
|
@@ -16207,17 +16188,17 @@ function deleteAnnotation(chunk, type, id, propertySerializers) {
|
|
|
16207
16188
|
type,
|
|
16208
16189
|
newData,
|
|
16209
16190
|
/*sourceBeginIndex=*/
|
|
16210
|
-
|
|
16191
|
+
index + 1,
|
|
16211
16192
|
/*sourceEndIndex=*/
|
|
16212
16193
|
ids.length,
|
|
16213
16194
|
/*destBeginIndex=*/
|
|
16214
|
-
|
|
16195
|
+
index,
|
|
16215
16196
|
/*destCount=*/
|
|
16216
16197
|
ids.length - 1
|
|
16217
16198
|
);
|
|
16218
|
-
ids.splice(
|
|
16199
|
+
ids.splice(index, 1);
|
|
16219
16200
|
idMap.delete(id);
|
|
16220
|
-
for (let i =
|
|
16201
|
+
for (let i = index, count = ids.length; i < count; ++i) {
|
|
16221
16202
|
idMap.set(ids[i], i);
|
|
16222
16203
|
}
|
|
16223
16204
|
serializedAnnotations.data = newData;
|
|
@@ -16718,11 +16699,11 @@ function findSourceGroupBasedOnSeparator(path, separator) {
|
|
|
16718
16699
|
separator = "/";
|
|
16719
16700
|
}
|
|
16720
16701
|
}
|
|
16721
|
-
let
|
|
16722
|
-
if (
|
|
16702
|
+
let index = path.lastIndexOf(separator);
|
|
16703
|
+
if (index === -1) {
|
|
16723
16704
|
return 0;
|
|
16724
16705
|
}
|
|
16725
|
-
return
|
|
16706
|
+
return index + 1;
|
|
16726
16707
|
}
|
|
16727
16708
|
function suggestLayerNameBasedOnSeparator(path, separator) {
|
|
16728
16709
|
let groupIndex = findSourceGroupBasedOnSeparator(path, separator);
|
|
@@ -17044,11 +17025,11 @@ function require_collectionWeak() {
|
|
|
17044
17025
|
else this.a.push([key, value]);
|
|
17045
17026
|
},
|
|
17046
17027
|
"delete": function(key) {
|
|
17047
|
-
var
|
|
17028
|
+
var index = arrayFindIndex(this.a, function(it) {
|
|
17048
17029
|
return it[0] === key;
|
|
17049
17030
|
});
|
|
17050
|
-
if (~
|
|
17051
|
-
return !!~
|
|
17031
|
+
if (~index) this.a.splice(index, 1);
|
|
17032
|
+
return !!~index;
|
|
17052
17033
|
}
|
|
17053
17034
|
};
|
|
17054
17035
|
_collectionWeak = {
|
|
@@ -17371,9 +17352,9 @@ class LayerDataSource extends RefCounted {
|
|
|
17371
17352
|
this.messages.clearMessages();
|
|
17372
17353
|
if (spec.url.length === 0) {
|
|
17373
17354
|
if (layer.dataSources.length !== 1) {
|
|
17374
|
-
const
|
|
17375
|
-
if (
|
|
17376
|
-
layer.dataSources.splice(
|
|
17355
|
+
const index = layer.dataSources.indexOf(this);
|
|
17356
|
+
if (index !== -1) {
|
|
17357
|
+
layer.dataSources.splice(index, 1);
|
|
17377
17358
|
layer.dataSourcesChanged.dispatch();
|
|
17378
17359
|
this.dispose();
|
|
17379
17360
|
return;
|
|
@@ -18464,9 +18445,9 @@ class TrackableDisplayDimensions extends RefCounted {
|
|
|
18464
18445
|
const names = coordinateSpace.names;
|
|
18465
18446
|
let displayRank = 0;
|
|
18466
18447
|
for (const name2 of displayDimensionNames) {
|
|
18467
|
-
const
|
|
18468
|
-
if (
|
|
18469
|
-
displayDimensionIndices[displayRank++] =
|
|
18448
|
+
const index = names.indexOf(name2);
|
|
18449
|
+
if (index === -1) continue;
|
|
18450
|
+
displayDimensionIndices[displayRank++] = index;
|
|
18470
18451
|
}
|
|
18471
18452
|
if (displayRank === 0) {
|
|
18472
18453
|
this.reset();
|
|
@@ -19448,11 +19429,11 @@ class HashTableBase {
|
|
|
19448
19429
|
return this.indexOfPair(low, high) !== -1;
|
|
19449
19430
|
}
|
|
19450
19431
|
delete(x) {
|
|
19451
|
-
let
|
|
19452
|
-
if (
|
|
19432
|
+
let index = this.indexOf(x);
|
|
19433
|
+
if (index !== -1) {
|
|
19453
19434
|
let table = this.table;
|
|
19454
|
-
table[
|
|
19455
|
-
table[
|
|
19435
|
+
table[index] = this.emptyLow;
|
|
19436
|
+
table[index + 1] = this.emptyHigh;
|
|
19456
19437
|
++this.generation;
|
|
19457
19438
|
this.size--;
|
|
19458
19439
|
return true;
|
|
@@ -20426,13 +20407,13 @@ class HierarchicalMap {
|
|
|
20426
20407
|
*/
|
|
20427
20408
|
addParent(parent, priority) {
|
|
20428
20409
|
const parents = this.parents, parentPriorities = this.parentPriorities;
|
|
20429
|
-
let
|
|
20410
|
+
let index = 0;
|
|
20430
20411
|
const length2 = parents.length;
|
|
20431
|
-
while (
|
|
20432
|
-
++
|
|
20412
|
+
while (index < length2 && priority < parentPriorities[index]) {
|
|
20413
|
+
++index;
|
|
20433
20414
|
}
|
|
20434
|
-
parents.splice(
|
|
20435
|
-
parentPriorities.splice(
|
|
20415
|
+
parents.splice(index, 0, parent);
|
|
20416
|
+
parentPriorities.splice(index, 0, priority);
|
|
20436
20417
|
return () => {
|
|
20437
20418
|
this.removeParent(parent);
|
|
20438
20419
|
};
|
|
@@ -20441,12 +20422,12 @@ class HierarchicalMap {
|
|
|
20441
20422
|
* Unregisters `parent` as a parent.
|
|
20442
20423
|
*/
|
|
20443
20424
|
removeParent(parent) {
|
|
20444
|
-
const
|
|
20445
|
-
if (
|
|
20425
|
+
const index = this.parents.indexOf(parent);
|
|
20426
|
+
if (index === -1) {
|
|
20446
20427
|
throw new Error(`Attempt to remove non-existent parent map.`);
|
|
20447
20428
|
}
|
|
20448
|
-
this.parents.splice(
|
|
20449
|
-
this.parentPriorities.splice(
|
|
20429
|
+
this.parents.splice(index, 1);
|
|
20430
|
+
this.parentPriorities.splice(index, 1);
|
|
20450
20431
|
}
|
|
20451
20432
|
/**
|
|
20452
20433
|
* Register a direct binding.
|
|
@@ -22423,11 +22404,11 @@ class SegmentWidgetWithExtraColumnsFactory extends SegmentWidgetFactory {
|
|
|
22423
22404
|
const numericalProperties = this.numericalProperties;
|
|
22424
22405
|
const numericalPropertyIndices = this.template.numericalPropertyIndices;
|
|
22425
22406
|
if (numericalPropertyIndices.length > 0) {
|
|
22426
|
-
const
|
|
22427
|
-
if (
|
|
22407
|
+
const index = (_c = (_a = this.segmentPropertyMap) === null || _a === void 0 ? void 0 : _a.getSegmentInlineIndex((_b = normalizedId.value) !== null && _b !== void 0 ? _b : normalizedId.key)) !== null && _c !== void 0 ? _c : -1;
|
|
22408
|
+
if (index !== -1) {
|
|
22428
22409
|
const numericalPropertyWidths = this.numericalPropertyWidths;
|
|
22429
22410
|
for (let i = 0, n = numericalPropertyIndices.length; i < n; ++i) {
|
|
22430
|
-
const value = numericalProperties[i].values[
|
|
22411
|
+
const value = numericalProperties[i].values[index];
|
|
22431
22412
|
if (!isNaN(value)) {
|
|
22432
22413
|
const s = value.toString();
|
|
22433
22414
|
const w = s.length;
|
|
@@ -24552,20 +24533,20 @@ class CoordinateSpaceTransformWidget extends RefCounted {
|
|
|
24552
24533
|
const target = event.target;
|
|
24553
24534
|
if (target instanceof HTMLInputElement) {
|
|
24554
24535
|
updateInputFieldWidth(target);
|
|
24555
|
-
let
|
|
24556
|
-
if (
|
|
24557
|
-
this.inputScaleModified[
|
|
24536
|
+
let index = this.inputScaleElements.indexOf(target);
|
|
24537
|
+
if (index !== -1) {
|
|
24538
|
+
this.inputScaleModified[index] = true;
|
|
24558
24539
|
this.updateScaleValidity(target);
|
|
24559
24540
|
return;
|
|
24560
24541
|
}
|
|
24561
|
-
|
|
24562
|
-
if (
|
|
24563
|
-
this.outputScaleModified[
|
|
24542
|
+
index = this.outputScaleElements.indexOf(target);
|
|
24543
|
+
if (index !== -1) {
|
|
24544
|
+
this.outputScaleModified[index] = true;
|
|
24564
24545
|
this.updateScaleValidity(target);
|
|
24565
24546
|
return;
|
|
24566
24547
|
}
|
|
24567
|
-
|
|
24568
|
-
if (
|
|
24548
|
+
index = this.outputNameElements.indexOf(target);
|
|
24549
|
+
if (index !== -1) {
|
|
24569
24550
|
this.updateOutputNameValidity();
|
|
24570
24551
|
return;
|
|
24571
24552
|
}
|
|
@@ -25294,18 +25275,18 @@ class SizeEstimates {
|
|
|
25294
25275
|
get averageSize() {
|
|
25295
25276
|
return this.totalKnownSize / this.numItemsInTotalKnownSize;
|
|
25296
25277
|
}
|
|
25297
|
-
getEstimatedSize(
|
|
25278
|
+
getEstimatedSize(index) {
|
|
25298
25279
|
var _a;
|
|
25299
|
-
return (_a = this.itemSize[
|
|
25280
|
+
return (_a = this.itemSize[index]) !== null && _a !== void 0 ? _a : this.averageSize;
|
|
25300
25281
|
}
|
|
25301
25282
|
getEstimatedTotalSize() {
|
|
25302
25283
|
return this.totalKnownSize / this.numItemsInTotalKnownSize * this.itemSize.length;
|
|
25303
25284
|
}
|
|
25304
|
-
getEstimatedOffset(
|
|
25305
|
-
for (; hintIndex <
|
|
25285
|
+
getEstimatedOffset(index, hintIndex = 0, hintOffset = 0) {
|
|
25286
|
+
for (; hintIndex < index; ++hintIndex) {
|
|
25306
25287
|
hintOffset += this.getEstimatedSize(hintIndex);
|
|
25307
25288
|
}
|
|
25308
|
-
for (; hintIndex >
|
|
25289
|
+
for (; hintIndex > index; --hintIndex) {
|
|
25309
25290
|
hintOffset -= this.getEstimatedSize(hintIndex - 1);
|
|
25310
25291
|
}
|
|
25311
25292
|
return hintOffset;
|
|
@@ -25554,8 +25535,8 @@ class VirtualList extends RefCounted {
|
|
|
25554
25535
|
bottomItems.style.top = `${renderParams.anchorOffset}px`;
|
|
25555
25536
|
element.scrollTop = renderParams.scrollOffset;
|
|
25556
25537
|
}
|
|
25557
|
-
getItemElement(
|
|
25558
|
-
return this.renderedItems[
|
|
25538
|
+
getItemElement(index) {
|
|
25539
|
+
return this.renderedItems[index];
|
|
25559
25540
|
}
|
|
25560
25541
|
forEachRenderedItem(callback) {
|
|
25561
25542
|
var _renderParams2 = this.renderParams;
|
|
@@ -25572,15 +25553,15 @@ class VirtualList extends RefCounted {
|
|
|
25572
25553
|
this.state.anchorClientOffset = 0;
|
|
25573
25554
|
this.debouncedUpdateView();
|
|
25574
25555
|
}
|
|
25575
|
-
scrollItemIntoView(
|
|
25576
|
-
const itemStartOffset = this.sizes.getEstimatedOffset(
|
|
25577
|
-
const itemEndOffset = itemStartOffset + this.sizes.getEstimatedSize(
|
|
25556
|
+
scrollItemIntoView(index) {
|
|
25557
|
+
const itemStartOffset = this.sizes.getEstimatedOffset(index);
|
|
25558
|
+
const itemEndOffset = itemStartOffset + this.sizes.getEstimatedSize(index);
|
|
25578
25559
|
const startOffset = this.element.scrollTop;
|
|
25579
25560
|
if (itemStartOffset < startOffset) {
|
|
25580
|
-
this.state.anchorIndex =
|
|
25561
|
+
this.state.anchorIndex = index;
|
|
25581
25562
|
this.state.anchorClientOffset = 0;
|
|
25582
25563
|
} else if (itemStartOffset > startOffset && itemEndOffset > startOffset + this.element.offsetHeight) {
|
|
25583
|
-
this.state.anchorIndex =
|
|
25564
|
+
this.state.anchorIndex = index + 1;
|
|
25584
25565
|
this.state.anchorClientOffset = this.element.offsetHeight;
|
|
25585
25566
|
} else {
|
|
25586
25567
|
return;
|
|
@@ -25964,12 +25945,12 @@ class AutocompleteTextInput extends RefCounted {
|
|
|
25964
25945
|
completionsVirtualList = this.completionsVirtualList = new VirtualList({
|
|
25965
25946
|
source: {
|
|
25966
25947
|
length: completionResult.completions.length,
|
|
25967
|
-
render: (
|
|
25968
|
-
const completion = completionResult.completions[
|
|
25948
|
+
render: (index) => {
|
|
25949
|
+
const completion = completionResult.completions[index];
|
|
25969
25950
|
const completionElement = makeElement.call(completionResult, completion);
|
|
25970
25951
|
completionElement.classList.add("neuroglancer-multiline-autocomplete-completion");
|
|
25971
|
-
completionElement.dataset.completionIndex = `${
|
|
25972
|
-
if (this.activeIndex ===
|
|
25952
|
+
completionElement.dataset.completionIndex = `${index}`;
|
|
25953
|
+
if (this.activeIndex === index) {
|
|
25973
25954
|
completionElement.classList.add(ACTIVE_COMPLETION_CLASS_NAME);
|
|
25974
25955
|
}
|
|
25975
25956
|
return completionElement;
|
|
@@ -26068,7 +26049,7 @@ class AutocompleteTextInput extends RefCounted {
|
|
|
26068
26049
|
* This sets the active completion, which causes it to be highlighted and displayed as the hint.
|
|
26069
26050
|
* Additionally, if the user hits tab then it is chosen.
|
|
26070
26051
|
*/
|
|
26071
|
-
setActiveIndex(
|
|
26052
|
+
setActiveIndex(index) {
|
|
26072
26053
|
if (!this.dropdownContentsStale) {
|
|
26073
26054
|
let activeIndex = this.activeIndex;
|
|
26074
26055
|
const completionsVirtualList = this.completionsVirtualList;
|
|
@@ -26079,22 +26060,22 @@ class AutocompleteTextInput extends RefCounted {
|
|
|
26079
26060
|
prevElement.classList.remove(ACTIVE_COMPLETION_CLASS_NAME);
|
|
26080
26061
|
}
|
|
26081
26062
|
}
|
|
26082
|
-
if (
|
|
26083
|
-
let completionElement = completionsVirtualList.getItemElement(
|
|
26063
|
+
if (index !== -1) {
|
|
26064
|
+
let completionElement = completionsVirtualList.getItemElement(index);
|
|
26084
26065
|
if (completionElement !== void 0) {
|
|
26085
26066
|
completionElement.classList.add(ACTIVE_COMPLETION_CLASS_NAME);
|
|
26086
26067
|
}
|
|
26087
|
-
completionsVirtualList.scrollItemIntoView(
|
|
26068
|
+
completionsVirtualList.scrollItemIntoView(index);
|
|
26088
26069
|
}
|
|
26089
26070
|
}
|
|
26090
26071
|
}
|
|
26091
|
-
if (
|
|
26092
|
-
this.setHintValue(this.getCompletedValueByIndex(
|
|
26072
|
+
if (index !== -1) {
|
|
26073
|
+
this.setHintValue(this.getCompletedValueByIndex(index));
|
|
26093
26074
|
}
|
|
26094
|
-
this.activeIndex =
|
|
26075
|
+
this.activeIndex = index;
|
|
26095
26076
|
}
|
|
26096
|
-
getCompletedValueByIndex(
|
|
26097
|
-
return this.getCompletedValue(this.completionResult.completions[
|
|
26077
|
+
getCompletedValueByIndex(index) {
|
|
26078
|
+
return this.getCompletedValue(this.completionResult.completions[index].value);
|
|
26098
26079
|
}
|
|
26099
26080
|
getCompletedValue(completionValue) {
|
|
26100
26081
|
let completionResult = this.completionResult;
|
|
@@ -26160,8 +26141,8 @@ class AutocompleteTextInput extends RefCounted {
|
|
|
26160
26141
|
this.moveCaretToEndOfInput();
|
|
26161
26142
|
return true;
|
|
26162
26143
|
}
|
|
26163
|
-
selectCompletion(
|
|
26164
|
-
this.value = this.getCompletedValueByIndex(
|
|
26144
|
+
selectCompletion(index) {
|
|
26145
|
+
this.value = this.getCompletedValueByIndex(index);
|
|
26165
26146
|
this.moveCaretToEndOfInput();
|
|
26166
26147
|
}
|
|
26167
26148
|
/**
|
|
@@ -27855,13 +27836,13 @@ class PickIDManager {
|
|
|
27855
27836
|
let renderLayers = this.renderLayers, values2 = this.values;
|
|
27856
27837
|
let pickID = this.nextPickID;
|
|
27857
27838
|
this.nextPickID += count;
|
|
27858
|
-
let
|
|
27859
|
-
renderLayers[
|
|
27860
|
-
let valuesOffset =
|
|
27839
|
+
let index = renderLayers.length;
|
|
27840
|
+
renderLayers[index] = renderLayer;
|
|
27841
|
+
let valuesOffset = index * 3;
|
|
27861
27842
|
values2[valuesOffset] = pickID;
|
|
27862
27843
|
values2[valuesOffset + 1] = low;
|
|
27863
27844
|
values2[valuesOffset + 2] = high;
|
|
27864
|
-
this.pickData[
|
|
27845
|
+
this.pickData[index] = data;
|
|
27865
27846
|
return pickID;
|
|
27866
27847
|
}
|
|
27867
27848
|
/**
|
|
@@ -30182,9 +30163,9 @@ class DisplayDimensionsWidget extends RefCounted {
|
|
|
30182
30163
|
const names = coordinateSpace.names;
|
|
30183
30164
|
const rank = displayDimensionNames.length;
|
|
30184
30165
|
for (let i = 0; i < rank; ++i) {
|
|
30185
|
-
const
|
|
30186
|
-
if (
|
|
30187
|
-
dimensionIndices[i] =
|
|
30166
|
+
const index = names.indexOf(displayDimensionNames[i]);
|
|
30167
|
+
if (index === -1) return false;
|
|
30168
|
+
dimensionIndices[i] = index;
|
|
30188
30169
|
}
|
|
30189
30170
|
if (arraysEqual(dimensionIndices, displayDimensions.value.displayDimensionIndices)) {
|
|
30190
30171
|
return true;
|
|
@@ -31428,8 +31409,8 @@ class DropLayers {
|
|
|
31428
31409
|
for (const _ref of this.layers) {
|
|
31429
31410
|
var _ref2 = _slicedToArray(_ref, 2);
|
|
31430
31411
|
const layer = _ref2[0];
|
|
31431
|
-
const
|
|
31432
|
-
initializeLayerFromSpecShowErrorStatus(layer, spec[
|
|
31412
|
+
const index = _ref2[1];
|
|
31413
|
+
initializeLayerFromSpecShowErrorStatus(layer, spec[index]);
|
|
31433
31414
|
}
|
|
31434
31415
|
} catch (_a) {
|
|
31435
31416
|
return false;
|
|
@@ -31560,13 +31541,13 @@ function getDropLayers(event, manager, options) {
|
|
|
31560
31541
|
result.forceCopy = false;
|
|
31561
31542
|
result.layoutSpec = source.layoutSpec;
|
|
31562
31543
|
if (moveSupported) {
|
|
31563
|
-
source.layers.forEach((layer,
|
|
31564
|
-
result.layers.set(layer,
|
|
31544
|
+
source.layers.forEach((layer, index) => {
|
|
31545
|
+
result.layers.set(layer, index);
|
|
31565
31546
|
});
|
|
31566
31547
|
} else {
|
|
31567
|
-
source.layers.forEach((layer,
|
|
31548
|
+
source.layers.forEach((layer, index) => {
|
|
31568
31549
|
if (newTarget || !manager.layerManager.has(layer)) {
|
|
31569
|
-
result.layers.set(layer.addRef(),
|
|
31550
|
+
result.layers.set(layer.addRef(), index);
|
|
31570
31551
|
}
|
|
31571
31552
|
});
|
|
31572
31553
|
}
|
|
@@ -31575,14 +31556,14 @@ function getDropLayers(event, manager, options) {
|
|
|
31575
31556
|
const info = getLayerDragInfo(event);
|
|
31576
31557
|
if (info !== void 0) {
|
|
31577
31558
|
try {
|
|
31578
|
-
const layers = parseArray(info.parameters, (layerInfo,
|
|
31559
|
+
const layers = parseArray(info.parameters, (layerInfo, index) => {
|
|
31579
31560
|
const name2 = verifyObjectProperty(layerInfo, "name", verifyString);
|
|
31580
31561
|
let visible = verifyObjectProperty(layerInfo, "visible", verifyBoolean);
|
|
31581
31562
|
const newLayer = new ManagedUserLayer(name2, manager);
|
|
31582
31563
|
if (isLayerListPanel) visible = false;
|
|
31583
31564
|
newLayer.visible = visible;
|
|
31584
31565
|
newLayer.archived = isLayerListPanel;
|
|
31585
|
-
return [newLayer,
|
|
31566
|
+
return [newLayer, index];
|
|
31586
31567
|
});
|
|
31587
31568
|
const result = new DropLayers();
|
|
31588
31569
|
result.numSourceLayers = layers.length;
|
|
@@ -31651,10 +31632,10 @@ function registerLayerBarDropHandlers(panel, target, targetLayer, isLayerListPan
|
|
|
31651
31632
|
const layerManager = panel.manager.layerManager;
|
|
31652
31633
|
const existingLayers = new _Set();
|
|
31653
31634
|
let firstRemovalIndex = Number.POSITIVE_INFINITY;
|
|
31654
|
-
const managedLayers = layerManager.managedLayers = layerManager.managedLayers.filter((x,
|
|
31635
|
+
const managedLayers = layerManager.managedLayers = layerManager.managedLayers.filter((x, index) => {
|
|
31655
31636
|
if (dropLayers.layers.has(x)) {
|
|
31656
31637
|
if (firstRemovalIndex === Number.POSITIVE_INFINITY) {
|
|
31657
|
-
firstRemovalIndex =
|
|
31638
|
+
firstRemovalIndex = index;
|
|
31658
31639
|
}
|
|
31659
31640
|
existingLayers.add(x);
|
|
31660
31641
|
return false;
|
|
@@ -31776,7 +31757,9 @@ const svg_bin = '<svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
|
|
|
31776
31757
|
function makeDeleteButton(options = {}) {
|
|
31777
31758
|
const icon = makeIcon(_Object$assign({ svg: svg_bin }, options));
|
|
31778
31759
|
const svg = icon.firstElementChild;
|
|
31779
|
-
svg
|
|
31760
|
+
if (svg) {
|
|
31761
|
+
svg.style.fill = "white";
|
|
31762
|
+
}
|
|
31780
31763
|
return icon;
|
|
31781
31764
|
}
|
|
31782
31765
|
var es6_string_raw = {};
|
|
@@ -32640,9 +32623,9 @@ class PositionWidget extends RefCounted {
|
|
|
32640
32623
|
let label = "";
|
|
32641
32624
|
if (coordinateArray != null) {
|
|
32642
32625
|
const coordinates = coordinateArray.coordinates;
|
|
32643
|
-
const
|
|
32644
|
-
if (
|
|
32645
|
-
label = coordinateArray.labels[
|
|
32626
|
+
const index = binarySearch(coordinates, newCoord, (a, b) => a - b);
|
|
32627
|
+
if (index !== coordinates.length) {
|
|
32628
|
+
label = coordinateArray.labels[index];
|
|
32646
32629
|
}
|
|
32647
32630
|
}
|
|
32648
32631
|
const labelElement = widget.coordinateLabel;
|
|
@@ -33053,14 +33036,14 @@ class EnumSelectWidget extends RefCounted {
|
|
|
33053
33036
|
this.element = document.createElement("select");
|
|
33054
33037
|
this.valueIndexMap = new _Map();
|
|
33055
33038
|
const element = this.element, valueIndexMap = this.valueIndexMap;
|
|
33056
|
-
let
|
|
33039
|
+
let index = 0;
|
|
33057
33040
|
for (const key of _Object$keys(model.enumType)) {
|
|
33058
33041
|
if (isNaN(Number(key))) {
|
|
33059
33042
|
const option = document.createElement("option");
|
|
33060
33043
|
option.textContent = option.value = key.toLowerCase();
|
|
33061
33044
|
element.appendChild(option);
|
|
33062
|
-
valueIndexMap.set(model.enumType[key],
|
|
33063
|
-
++
|
|
33045
|
+
valueIndexMap.set(model.enumType[key], index);
|
|
33046
|
+
++index;
|
|
33064
33047
|
}
|
|
33065
33048
|
}
|
|
33066
33049
|
this.registerDisposer(model.changed.add(() => this.updateView()));
|
|
@@ -33772,8 +33755,8 @@ class StackLayoutComponent extends RefCounted {
|
|
|
33772
33755
|
get viewer() {
|
|
33773
33756
|
return this.container.viewer;
|
|
33774
33757
|
}
|
|
33775
|
-
get(
|
|
33776
|
-
return LayoutComponentContainer.getFromElement(this.element.children[
|
|
33758
|
+
get(index) {
|
|
33759
|
+
return LayoutComponentContainer.getFromElement(this.element.children[index * 2 + 1]);
|
|
33777
33760
|
}
|
|
33778
33761
|
insertChild(spec, before) {
|
|
33779
33762
|
const child = new LayoutComponentContainer(this.viewer, spec, this);
|
|
@@ -35094,9 +35077,9 @@ function requireCodemirror() {
|
|
|
35094
35077
|
} else {
|
|
35095
35078
|
var map3 = emitter._handlers, arr = map3 && map3[type];
|
|
35096
35079
|
if (arr) {
|
|
35097
|
-
var
|
|
35098
|
-
if (
|
|
35099
|
-
map3[type] = arr.slice(0,
|
|
35080
|
+
var index = indexOf(arr, f);
|
|
35081
|
+
if (index > -1) {
|
|
35082
|
+
map3[type] = arr.slice(0, index).concat(arr.slice(index + 1));
|
|
35100
35083
|
}
|
|
35101
35084
|
}
|
|
35102
35085
|
}
|
|
@@ -37538,7 +37521,7 @@ function requireCodemirror() {
|
|
|
37538
37521
|
return PosWithInfo(lineNo2, ch, sticky, outside, x - baseX);
|
|
37539
37522
|
}
|
|
37540
37523
|
function coordsBidiPart(cm, lineObj, lineNo2, preparedMeasure, order, x, y) {
|
|
37541
|
-
var
|
|
37524
|
+
var index = findFirst(function(i2) {
|
|
37542
37525
|
var part2 = order[i2], ltr2 = part2.level != 1;
|
|
37543
37526
|
return boxIsAfter(cursorCoords(
|
|
37544
37527
|
cm,
|
|
@@ -37548,8 +37531,8 @@ function requireCodemirror() {
|
|
|
37548
37531
|
preparedMeasure
|
|
37549
37532
|
), x, y, true);
|
|
37550
37533
|
}, 0, order.length - 1);
|
|
37551
|
-
var part = order[
|
|
37552
|
-
if (
|
|
37534
|
+
var part = order[index];
|
|
37535
|
+
if (index > 0) {
|
|
37553
37536
|
var ltr = part.level != 1;
|
|
37554
37537
|
var start = cursorCoords(
|
|
37555
37538
|
cm,
|
|
@@ -37559,7 +37542,7 @@ function requireCodemirror() {
|
|
|
37559
37542
|
preparedMeasure
|
|
37560
37543
|
);
|
|
37561
37544
|
if (boxIsAfter(start, x, y, true) && start.top > y) {
|
|
37562
|
-
part = order[
|
|
37545
|
+
part = order[index - 1];
|
|
37563
37546
|
}
|
|
37564
37547
|
}
|
|
37565
37548
|
return part;
|
|
@@ -37803,21 +37786,21 @@ function requireCodemirror() {
|
|
|
37803
37786
|
cm.display.viewOffset = 0;
|
|
37804
37787
|
}
|
|
37805
37788
|
function viewCuttingPoint(cm, oldN, newN, dir) {
|
|
37806
|
-
var
|
|
37789
|
+
var index = findViewIndex(cm, oldN), diff, view = cm.display.view;
|
|
37807
37790
|
if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) {
|
|
37808
|
-
return { index
|
|
37791
|
+
return { index, lineN: newN };
|
|
37809
37792
|
}
|
|
37810
37793
|
var n = cm.display.viewFrom;
|
|
37811
|
-
for (var i2 = 0; i2 <
|
|
37794
|
+
for (var i2 = 0; i2 < index; i2++) {
|
|
37812
37795
|
n += view[i2].size;
|
|
37813
37796
|
}
|
|
37814
37797
|
if (n != oldN) {
|
|
37815
37798
|
if (dir > 0) {
|
|
37816
|
-
if (
|
|
37799
|
+
if (index == view.length - 1) {
|
|
37817
37800
|
return null;
|
|
37818
37801
|
}
|
|
37819
|
-
diff = n + view[
|
|
37820
|
-
|
|
37802
|
+
diff = n + view[index].size - oldN;
|
|
37803
|
+
index++;
|
|
37821
37804
|
} else {
|
|
37822
37805
|
diff = n - oldN;
|
|
37823
37806
|
}
|
|
@@ -37825,13 +37808,13 @@ function requireCodemirror() {
|
|
|
37825
37808
|
newN += diff;
|
|
37826
37809
|
}
|
|
37827
37810
|
while (visualLineNo(cm.doc, newN) != newN) {
|
|
37828
|
-
if (
|
|
37811
|
+
if (index == (dir < 0 ? 0 : view.length - 1)) {
|
|
37829
37812
|
return null;
|
|
37830
37813
|
}
|
|
37831
|
-
newN += dir * view[
|
|
37832
|
-
|
|
37814
|
+
newN += dir * view[index - (dir < 0 ? 1 : 0)].size;
|
|
37815
|
+
index += dir;
|
|
37833
37816
|
}
|
|
37834
|
-
return { index
|
|
37817
|
+
return { index, lineN: newN };
|
|
37835
37818
|
}
|
|
37836
37819
|
function adjustView(cm, from2, to) {
|
|
37837
37820
|
var display = cm.display, view = display.view;
|
|
@@ -41285,15 +41268,15 @@ function requireCodemirror() {
|
|
|
41285
41268
|
},
|
|
41286
41269
|
indexFromPos: function(coords) {
|
|
41287
41270
|
coords = clipPos(this, coords);
|
|
41288
|
-
var
|
|
41271
|
+
var index = coords.ch;
|
|
41289
41272
|
if (coords.line < this.first || coords.ch < 0) {
|
|
41290
41273
|
return 0;
|
|
41291
41274
|
}
|
|
41292
41275
|
var sepSize = this.lineSeparator().length;
|
|
41293
41276
|
this.iter(this.first, coords.line, function(line) {
|
|
41294
|
-
|
|
41277
|
+
index += line.text.length + sepSize;
|
|
41295
41278
|
});
|
|
41296
|
-
return
|
|
41279
|
+
return index;
|
|
41297
41280
|
},
|
|
41298
41281
|
copy: function(copyHistory) {
|
|
41299
41282
|
var doc2 = new Doc(
|
|
@@ -42806,11 +42789,11 @@ function requireCodemirror() {
|
|
|
42806
42789
|
if (!order) {
|
|
42807
42790
|
return range2;
|
|
42808
42791
|
}
|
|
42809
|
-
var
|
|
42792
|
+
var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index];
|
|
42810
42793
|
if (part.from != anchor.ch && part.to != anchor.ch) {
|
|
42811
42794
|
return range2;
|
|
42812
42795
|
}
|
|
42813
|
-
var boundary =
|
|
42796
|
+
var boundary = index + (part.from == anchor.ch == (part.level != 1) ? 0 : 1);
|
|
42814
42797
|
if (boundary == 0 || boundary == order.length) {
|
|
42815
42798
|
return range2;
|
|
42816
42799
|
}
|
|
@@ -42819,7 +42802,7 @@ function requireCodemirror() {
|
|
|
42819
42802
|
leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0;
|
|
42820
42803
|
} else {
|
|
42821
42804
|
var headIndex = getBidiPartAt(order, head.ch, head.sticky);
|
|
42822
|
-
var dir = headIndex -
|
|
42805
|
+
var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1);
|
|
42823
42806
|
if (headIndex == boundary - 1 || headIndex == boundary) {
|
|
42824
42807
|
leftSide = dir < 0;
|
|
42825
42808
|
} else {
|
|
@@ -47385,8 +47368,8 @@ class AnnotationToolStatusWidget extends RefCounted {
|
|
|
47385
47368
|
layerNumberElement.className = "neuroglancer-annotation-tool-status-widget-layer-number";
|
|
47386
47369
|
const managedLayer = tool.layer.managedLayer;
|
|
47387
47370
|
managedLayer.manager.rootLayers.updateNonArchivedLayerIndices();
|
|
47388
|
-
const
|
|
47389
|
-
layerNumberElement.textContent = (
|
|
47371
|
+
const index = managedLayer.nonArchivedLayerIndex;
|
|
47372
|
+
layerNumberElement.textContent = (index + 1).toString();
|
|
47390
47373
|
const descriptionElement = document.createElement("div");
|
|
47391
47374
|
descriptionElement.className = "neuroglancer-annotation-tool-status-widget-description";
|
|
47392
47375
|
descriptionElement.textContent = tool.description;
|
|
@@ -48338,11 +48321,11 @@ class UserLayer extends RefCounted {
|
|
|
48338
48321
|
}
|
|
48339
48322
|
removeRenderLayer(layer) {
|
|
48340
48323
|
const renderLayers = this.renderLayers, layersChanged = this.layersChanged;
|
|
48341
|
-
const
|
|
48342
|
-
if (
|
|
48324
|
+
const index = renderLayers.indexOf(layer);
|
|
48325
|
+
if (index === -1) {
|
|
48343
48326
|
throw new Error("Attempted to remove invalid RenderLayer");
|
|
48344
48327
|
}
|
|
48345
|
-
renderLayers.splice(
|
|
48328
|
+
renderLayers.splice(index, 1);
|
|
48346
48329
|
layer.layerChanged.remove(layersChanged.dispatch);
|
|
48347
48330
|
layer.userLayer = void 0;
|
|
48348
48331
|
layer.dispose();
|
|
@@ -48549,23 +48532,23 @@ class LayerManager extends RefCounted {
|
|
|
48549
48532
|
const generation = this.layersChanged.count;
|
|
48550
48533
|
if (generation === this.nonArchivedLayerIndexGeneration) return;
|
|
48551
48534
|
this.nonArchivedLayerIndexGeneration = generation;
|
|
48552
|
-
let
|
|
48535
|
+
let index = 0;
|
|
48553
48536
|
for (const layer of this.managedLayers) {
|
|
48554
48537
|
if (!layer.archived) {
|
|
48555
|
-
layer.nonArchivedLayerIndex =
|
|
48538
|
+
layer.nonArchivedLayerIndex = index++;
|
|
48556
48539
|
}
|
|
48557
48540
|
}
|
|
48558
48541
|
for (const layer of this.managedLayers) {
|
|
48559
48542
|
if (layer.archived) {
|
|
48560
|
-
layer.nonArchivedLayerIndex =
|
|
48543
|
+
layer.nonArchivedLayerIndex = index++;
|
|
48561
48544
|
}
|
|
48562
48545
|
}
|
|
48563
48546
|
}
|
|
48564
|
-
getLayerByNonArchivedIndex(
|
|
48547
|
+
getLayerByNonArchivedIndex(index) {
|
|
48565
48548
|
let i = 0;
|
|
48566
48549
|
for (const layer of this.managedLayers) {
|
|
48567
48550
|
if (!layer.archived) {
|
|
48568
|
-
if (i ===
|
|
48551
|
+
if (i === index) return layer;
|
|
48569
48552
|
++i;
|
|
48570
48553
|
}
|
|
48571
48554
|
}
|
|
@@ -48628,14 +48611,14 @@ class LayerManager extends RefCounted {
|
|
|
48628
48611
|
/**
|
|
48629
48612
|
* Assumes ownership of an existing reference to managedLayer.
|
|
48630
48613
|
*/
|
|
48631
|
-
addManagedLayer(managedLayer,
|
|
48614
|
+
addManagedLayer(managedLayer, index) {
|
|
48632
48615
|
this.updateSignalBindings(managedLayer, addSignalBinding);
|
|
48633
48616
|
this.layerSet.add(managedLayer);
|
|
48634
48617
|
managedLayer.containers.add(this);
|
|
48635
|
-
if (
|
|
48636
|
-
|
|
48618
|
+
if (index === void 0) {
|
|
48619
|
+
index = this.managedLayers.length;
|
|
48637
48620
|
}
|
|
48638
|
-
this.managedLayers.splice(
|
|
48621
|
+
this.managedLayers.splice(index, 0, managedLayer);
|
|
48639
48622
|
this.layersChanged.dispatch();
|
|
48640
48623
|
this.readyStateChanged.dispatch();
|
|
48641
48624
|
return managedLayer;
|
|
@@ -48662,19 +48645,19 @@ class LayerManager extends RefCounted {
|
|
|
48662
48645
|
this.layerSet.clear();
|
|
48663
48646
|
this.layersChanged.dispatch();
|
|
48664
48647
|
}
|
|
48665
|
-
remove(
|
|
48666
|
-
const layer = this.managedLayers[
|
|
48648
|
+
remove(index) {
|
|
48649
|
+
const layer = this.managedLayers[index];
|
|
48667
48650
|
this.unbindManagedLayer(layer);
|
|
48668
|
-
this.managedLayers.splice(
|
|
48651
|
+
this.managedLayers.splice(index, 1);
|
|
48669
48652
|
this.layerSet.delete(layer);
|
|
48670
48653
|
this.layersChanged.dispatch();
|
|
48671
48654
|
}
|
|
48672
48655
|
removeManagedLayer(managedLayer) {
|
|
48673
|
-
let
|
|
48674
|
-
if (
|
|
48656
|
+
let index = this.managedLayers.indexOf(managedLayer);
|
|
48657
|
+
if (index === -1) {
|
|
48675
48658
|
throw new Error(`Internal error: invalid managed layer.`);
|
|
48676
48659
|
}
|
|
48677
|
-
this.remove(
|
|
48660
|
+
this.remove(index);
|
|
48678
48661
|
}
|
|
48679
48662
|
reorderManagedLayer(oldIndex, newIndex) {
|
|
48680
48663
|
const numLayers = this.managedLayers.length;
|
|
@@ -49577,11 +49560,11 @@ class TopLevelLayerListSpecification extends LayerListSpecification {
|
|
|
49577
49560
|
}
|
|
49578
49561
|
}
|
|
49579
49562
|
}
|
|
49580
|
-
add(layer,
|
|
49563
|
+
add(layer, index) {
|
|
49581
49564
|
if (this.layerManager.managedLayers.indexOf(layer) === -1) {
|
|
49582
49565
|
layer.name = this.layerManager.getUniqueLayerName(layer.name);
|
|
49583
49566
|
}
|
|
49584
|
-
this.layerManager.addManagedLayer(layer,
|
|
49567
|
+
this.layerManager.addManagedLayer(layer, index);
|
|
49585
49568
|
}
|
|
49586
49569
|
toJSON() {
|
|
49587
49570
|
const result = [];
|
|
@@ -49655,12 +49638,12 @@ class LayerSubsetSpecification extends LayerListSpecification {
|
|
|
49655
49638
|
toJSON() {
|
|
49656
49639
|
return this.layerManager.managedLayers.map((x) => x.name);
|
|
49657
49640
|
}
|
|
49658
|
-
add(layer,
|
|
49641
|
+
add(layer, index) {
|
|
49659
49642
|
if (this.master.layerManager.managedLayers.indexOf(layer) === -1) {
|
|
49660
49643
|
layer.name = this.master.layerManager.getUniqueLayerName(layer.name);
|
|
49661
49644
|
this.master.layerManager.addManagedLayer(layer.addRef());
|
|
49662
49645
|
}
|
|
49663
|
-
this.layerManager.addManagedLayer(layer,
|
|
49646
|
+
this.layerManager.addManagedLayer(layer, index);
|
|
49664
49647
|
}
|
|
49665
49648
|
get rootLayers() {
|
|
49666
49649
|
return this.master.rootLayers;
|
|
@@ -49843,11 +49826,11 @@ function queryUint64PermutationHashMap(table, values2, low, high) {
|
|
|
49843
49826
|
const mask = table.length - 1;
|
|
49844
49827
|
while (true) {
|
|
49845
49828
|
hashCode = hashCode & mask;
|
|
49846
|
-
let
|
|
49847
|
-
if (
|
|
49848
|
-
--
|
|
49849
|
-
if (values2[2 *
|
|
49850
|
-
return
|
|
49829
|
+
let index = table[hashCode];
|
|
49830
|
+
if (index === 0) return -1;
|
|
49831
|
+
--index;
|
|
49832
|
+
if (values2[2 * index] === low && values2[2 * index + 1] === high) {
|
|
49833
|
+
return index;
|
|
49851
49834
|
}
|
|
49852
49835
|
++hashCode;
|
|
49853
49836
|
}
|
|
@@ -49875,16 +49858,16 @@ class PreprocessedSegmentPropertyMap {
|
|
|
49875
49858
|
return queryUint64PermutationHashMap(inlineIdToIndex, this.segmentPropertyMap.inlineProperties.ids, id.low, id.high);
|
|
49876
49859
|
}
|
|
49877
49860
|
getSegmentLabel(id) {
|
|
49878
|
-
const
|
|
49879
|
-
if (
|
|
49861
|
+
const index = this.getSegmentInlineIndex(id);
|
|
49862
|
+
if (index === -1) return void 0;
|
|
49880
49863
|
const labels = this.labels, tagsProperty = this.tags;
|
|
49881
49864
|
let label = "";
|
|
49882
49865
|
if (labels !== void 0) {
|
|
49883
|
-
label = labels.values[
|
|
49866
|
+
label = labels.values[index];
|
|
49884
49867
|
}
|
|
49885
49868
|
if (tagsProperty !== void 0) {
|
|
49886
49869
|
const tags = tagsProperty.tags, values2 = tagsProperty.values;
|
|
49887
|
-
let tagIndices = values2[
|
|
49870
|
+
let tagIndices = values2[index];
|
|
49888
49871
|
for (let i = 0, length2 = tagIndices.length; i < length2; ++i) {
|
|
49889
49872
|
const tag = tags[tagIndices.charCodeAt(i)];
|
|
49890
49873
|
if (label.length > 0) {
|
|
@@ -50298,9 +50281,9 @@ function executeSegmentQuery(db, query) {
|
|
|
50298
50281
|
let length2 = indices.length;
|
|
50299
50282
|
let outIndex = 0;
|
|
50300
50283
|
for (let i = 0; i < length2; ++i) {
|
|
50301
|
-
const
|
|
50302
|
-
if (predicate(
|
|
50303
|
-
indices[outIndex] =
|
|
50284
|
+
const index = indices[i];
|
|
50285
|
+
if (predicate(index)) {
|
|
50286
|
+
indices[outIndex] = index;
|
|
50304
50287
|
++outIndex;
|
|
50305
50288
|
}
|
|
50306
50289
|
}
|
|
@@ -50310,10 +50293,10 @@ function executeSegmentQuery(db, query) {
|
|
|
50310
50293
|
const values2 = db.labels.values;
|
|
50311
50294
|
const regexp = query.regexp, prefix = query.prefix;
|
|
50312
50295
|
if (regexp !== void 0) {
|
|
50313
|
-
filterIndices((
|
|
50296
|
+
filterIndices((index) => values2[index].match(regexp) !== null);
|
|
50314
50297
|
}
|
|
50315
50298
|
if (prefix !== void 0) {
|
|
50316
|
-
filterIndices((
|
|
50299
|
+
filterIndices((index) => values2[index].startsWith(prefix));
|
|
50317
50300
|
}
|
|
50318
50301
|
}
|
|
50319
50302
|
const includeTags = query.includeTags, excludeTags = query.excludeTags;
|
|
@@ -50347,7 +50330,7 @@ function executeSegmentQuery(db, query) {
|
|
|
50347
50330
|
addSkipPattern(65535);
|
|
50348
50331
|
pattern += "$";
|
|
50349
50332
|
const regexp = new RegExp(pattern);
|
|
50350
|
-
filterIndices((
|
|
50333
|
+
filterIndices((index) => values2[index].match(regexp) !== null);
|
|
50351
50334
|
}
|
|
50352
50335
|
let intermediateIndicesMask;
|
|
50353
50336
|
let intermediateIndices;
|
|
@@ -50944,9 +50927,9 @@ let SharedDisjointUint64Sets = SharedDisjointUint64Sets_1 = class SharedDisjoint
|
|
|
50944
50927
|
if (obj !== void 0) {
|
|
50945
50928
|
let ids = [new Uint64(), new Uint64()];
|
|
50946
50929
|
parseArray(obj, (z) => {
|
|
50947
|
-
parseArray(z, (s,
|
|
50948
|
-
ids[
|
|
50949
|
-
if (
|
|
50930
|
+
parseArray(z, (s, index) => {
|
|
50931
|
+
ids[index % 2].parseString(String(s), 10);
|
|
50932
|
+
if (index !== 0) {
|
|
50950
50933
|
this.link(ids[0], ids[1]);
|
|
50951
50934
|
}
|
|
50952
50935
|
});
|
|
@@ -51079,9 +51062,9 @@ class LocalSegmentationGraphSource extends SegmentationGraphSource {
|
|
|
51079
51062
|
}
|
|
51080
51063
|
const ids = [new Uint64(), new Uint64()];
|
|
51081
51064
|
parseArray(obj, (groupObj) => {
|
|
51082
|
-
parseArray(groupObj, (s,
|
|
51083
|
-
ids[
|
|
51084
|
-
if (
|
|
51065
|
+
parseArray(groupObj, (s, index) => {
|
|
51066
|
+
ids[index % 2].parseString(String(s), 10);
|
|
51067
|
+
if (index !== 0) {
|
|
51085
51068
|
if (equivalences.link(ids[0], ids[1])) {
|
|
51086
51069
|
this.addSpanningTreeEdge(ids[0], ids[1]);
|
|
51087
51070
|
}
|
|
@@ -53945,9 +53928,9 @@ function AnnotationRenderLayer(Base2, renderHelperType) {
|
|
|
53945
53928
|
const handler = getAnnotationTypeRenderHandler(annotationType);
|
|
53946
53929
|
let selectedIndex = 4294967295;
|
|
53947
53930
|
if (hoverValue !== void 0) {
|
|
53948
|
-
const
|
|
53949
|
-
if (
|
|
53950
|
-
selectedIndex =
|
|
53931
|
+
const index = idMap.get(hoverValue.id);
|
|
53932
|
+
if (index !== void 0) {
|
|
53933
|
+
selectedIndex = index * handler.pickIdsPerInstance;
|
|
53951
53934
|
}
|
|
53952
53935
|
}
|
|
53953
53936
|
count = Math.round(count * drawFraction);
|
|
@@ -54166,7 +54149,7 @@ const SpatiallyIndexedAnnotationLayer = (Base2) => {
|
|
|
54166
54149
|
wireFrameShader = shader;
|
|
54167
54150
|
}
|
|
54168
54151
|
forEachVisibleAnnotationChunk(projectionParameters, this.base.state.localPosition.value, this.renderScaleTarget.value, transformedSources[0], () => {
|
|
54169
|
-
}, (tsource,
|
|
54152
|
+
}, (tsource, index, drawFraction, physicalSpacing, pixelSpacing) => {
|
|
54170
54153
|
const chunk = tsource.source.chunks.get(tsource.curPositionInChunks.join());
|
|
54171
54154
|
let present;
|
|
54172
54155
|
if (chunk === void 0 || chunk.state !== ChunkState.GPU_MEMORY) {
|
|
@@ -54237,8 +54220,8 @@ class MergedAnnotationStates extends RefCounted {
|
|
|
54237
54220
|
this.updateRelationships();
|
|
54238
54221
|
this.changed.dispatch();
|
|
54239
54222
|
return () => {
|
|
54240
|
-
const
|
|
54241
|
-
this.states.splice(
|
|
54223
|
+
const index = this.states.indexOf(state);
|
|
54224
|
+
this.states.splice(index, 1);
|
|
54242
54225
|
this.updateRelationships();
|
|
54243
54226
|
this.changed.dispatch();
|
|
54244
54227
|
};
|
|
@@ -54284,7 +54267,7 @@ class AnnotationLayerView extends Tab {
|
|
|
54284
54267
|
this.previousHoverAnnotationLayerState = void 0;
|
|
54285
54268
|
this.virtualListSource = {
|
|
54286
54269
|
length: 0,
|
|
54287
|
-
render: (
|
|
54270
|
+
render: (index) => this.render(index),
|
|
54288
54271
|
changed: new Signal()
|
|
54289
54272
|
};
|
|
54290
54273
|
this.virtualList = new VirtualList({ source: this.virtualListSource });
|
|
@@ -54463,11 +54446,11 @@ class AnnotationLayerView extends Tab {
|
|
|
54463
54446
|
getRenderedAnnotationListElement(state, id, scrollIntoView = false) {
|
|
54464
54447
|
const attached = this.attachedAnnotationStates.get(state);
|
|
54465
54448
|
if (attached == void 0) return void 0;
|
|
54466
|
-
const
|
|
54467
|
-
if (
|
|
54468
|
-
const listIndex = attached.listOffset +
|
|
54449
|
+
const index = attached.idToIndex.get(id);
|
|
54450
|
+
if (index === void 0) return void 0;
|
|
54451
|
+
const listIndex = attached.listOffset + index;
|
|
54469
54452
|
if (scrollIntoView) {
|
|
54470
|
-
this.virtualList.scrollItemIntoView(
|
|
54453
|
+
this.virtualList.scrollItemIntoView(index);
|
|
54471
54454
|
}
|
|
54472
54455
|
return this.virtualList.getItemElement(listIndex);
|
|
54473
54456
|
}
|
|
@@ -54530,8 +54513,8 @@ class AnnotationLayerView extends Tab {
|
|
|
54530
54513
|
if (element === void 0) return;
|
|
54531
54514
|
element.classList.add("neuroglancer-annotation-hover");
|
|
54532
54515
|
}
|
|
54533
|
-
render(
|
|
54534
|
-
var _listElements$index = this.listElements[
|
|
54516
|
+
render(index) {
|
|
54517
|
+
var _listElements$index = this.listElements[index];
|
|
54535
54518
|
const annotation = _listElements$index.annotation, state = _listElements$index.state;
|
|
54536
54519
|
return this.makeAnnotationListElement(annotation, state);
|
|
54537
54520
|
}
|
|
@@ -54641,12 +54624,12 @@ class AnnotationLayerView extends Tab {
|
|
|
54641
54624
|
}
|
|
54642
54625
|
const info = this.attachedAnnotationStates.get(state);
|
|
54643
54626
|
if (info !== void 0) {
|
|
54644
|
-
const
|
|
54627
|
+
const index = info.annotations.length;
|
|
54645
54628
|
info.annotations = [];
|
|
54646
54629
|
info.idToIndex.clear();
|
|
54647
54630
|
this.listElements = [];
|
|
54648
54631
|
this.updateListLength();
|
|
54649
|
-
this.virtualListSource.changed.dispatch([{ retainCount: 0, deleteCount:
|
|
54632
|
+
this.virtualListSource.changed.dispatch([{ retainCount: 0, deleteCount: index, insertCount: 0 }]);
|
|
54650
54633
|
}
|
|
54651
54634
|
this.resetOnUpdate();
|
|
54652
54635
|
}
|
|
@@ -54661,10 +54644,10 @@ class AnnotationLayerView extends Tab {
|
|
|
54661
54644
|
}
|
|
54662
54645
|
const info = this.attachedAnnotationStates.get(state);
|
|
54663
54646
|
if (info !== void 0) {
|
|
54664
|
-
const
|
|
54647
|
+
const index = info.annotations.length;
|
|
54665
54648
|
info.annotations.push(annotation);
|
|
54666
|
-
info.idToIndex.set(annotation.id,
|
|
54667
|
-
const spliceStart = info.listOffset +
|
|
54649
|
+
info.idToIndex.set(annotation.id, index);
|
|
54650
|
+
const spliceStart = info.listOffset + index;
|
|
54668
54651
|
this.listElements.splice(spliceStart, 0, { state, annotation });
|
|
54669
54652
|
this.updateListLength();
|
|
54670
54653
|
this.virtualListSource.changed.dispatch([{ retainCount: spliceStart, deleteCount: 0, insertCount: 1 }]);
|
|
@@ -54682,10 +54665,10 @@ class AnnotationLayerView extends Tab {
|
|
|
54682
54665
|
}
|
|
54683
54666
|
const info = this.attachedAnnotationStates.get(state);
|
|
54684
54667
|
if (info !== void 0) {
|
|
54685
|
-
const
|
|
54686
|
-
if (
|
|
54687
|
-
const updateStart = info.listOffset +
|
|
54688
|
-
info.annotations[
|
|
54668
|
+
const index = info.idToIndex.get(annotation.id);
|
|
54669
|
+
if (index !== void 0) {
|
|
54670
|
+
const updateStart = info.listOffset + index;
|
|
54671
|
+
info.annotations[index] = annotation;
|
|
54689
54672
|
this.listElements[updateStart].annotation = annotation;
|
|
54690
54673
|
this.virtualListSource.changed.dispatch([{ retainCount: updateStart, deleteCount: 1, insertCount: 1 }]);
|
|
54691
54674
|
}
|
|
@@ -54704,13 +54687,13 @@ class AnnotationLayerView extends Tab {
|
|
|
54704
54687
|
const info = this.attachedAnnotationStates.get(state);
|
|
54705
54688
|
if (info !== void 0) {
|
|
54706
54689
|
const idToIndex = info.idToIndex;
|
|
54707
|
-
const
|
|
54708
|
-
if (
|
|
54709
|
-
const spliceStart = info.listOffset +
|
|
54690
|
+
const index = idToIndex.get(annotationId);
|
|
54691
|
+
if (index !== void 0) {
|
|
54692
|
+
const spliceStart = info.listOffset + index;
|
|
54710
54693
|
const annotations = info.annotations;
|
|
54711
|
-
annotations.splice(
|
|
54694
|
+
annotations.splice(index, 1);
|
|
54712
54695
|
idToIndex.delete(annotationId);
|
|
54713
|
-
for (let i =
|
|
54696
|
+
for (let i = index, length2 = annotations.length; i < length2; ++i) {
|
|
54714
54697
|
idToIndex.set(annotations[i].id, i);
|
|
54715
54698
|
}
|
|
54716
54699
|
this.listElements.splice(spliceStart, 1);
|
|
@@ -56570,19 +56553,19 @@ class SegmentListSource extends RefCounted {
|
|
|
56570
56553
|
this.selectedMatches = 0;
|
|
56571
56554
|
this.matchStatusTextPrefix = "";
|
|
56572
56555
|
this.debouncedUpdate = debounce(() => this.update(), 0);
|
|
56573
|
-
this.render = (
|
|
56556
|
+
this.render = (index) => {
|
|
56574
56557
|
const explicitSegments = this.explicitSegments;
|
|
56575
56558
|
let id;
|
|
56576
56559
|
let visibleList = false;
|
|
56577
|
-
if (explicitSegments !== void 0 &&
|
|
56578
|
-
id = explicitSegments[
|
|
56560
|
+
if (explicitSegments !== void 0 && index < explicitSegments.length) {
|
|
56561
|
+
id = explicitSegments[index];
|
|
56579
56562
|
visibleList = this.explicitSegmentsVisible;
|
|
56580
56563
|
} else {
|
|
56581
56564
|
if (explicitSegments !== void 0) {
|
|
56582
|
-
|
|
56565
|
+
index -= explicitSegments.length;
|
|
56583
56566
|
}
|
|
56584
56567
|
id = tempUint64;
|
|
56585
|
-
const propIndex = this.queryResult.value.indices[
|
|
56568
|
+
const propIndex = this.queryResult.value.indices[index];
|
|
56586
56569
|
const ids = this.segmentPropertyMap.segmentPropertyMap.inlineProperties.ids;
|
|
56587
56570
|
id.low = ids[propIndex * 2];
|
|
56588
56571
|
id.high = ids[propIndex * 2 + 1];
|
|
@@ -59057,9 +59040,9 @@ class RenderScaleWidget extends RefCounted {
|
|
|
59057
59040
|
for (let bin = 0; bin < numRenderScaleHistogramBins; ++bin) {
|
|
59058
59041
|
let count = 0;
|
|
59059
59042
|
for (let row = 0; row < numRows; ++row) {
|
|
59060
|
-
const
|
|
59061
|
-
const presentCount = histogramData[
|
|
59062
|
-
const notPresentCount = histogramData[
|
|
59043
|
+
const index = row * numRenderScaleHistogramBins * 2 + bin;
|
|
59044
|
+
const presentCount = histogramData[index];
|
|
59045
|
+
const notPresentCount = histogramData[index + numRenderScaleHistogramBins];
|
|
59063
59046
|
totalPresent += presentCount;
|
|
59064
59047
|
totalNotPresent += notPresentCount;
|
|
59065
59048
|
count += presentCount + notPresentCount;
|
|
@@ -59080,8 +59063,8 @@ class RenderScaleWidget extends RefCounted {
|
|
|
59080
59063
|
for (let spatialScaleIndex = numRows - 1; spatialScaleIndex >= 0; --spatialScaleIndex) {
|
|
59081
59064
|
const spatialScale = sortedSpatialScales[spatialScaleIndex];
|
|
59082
59065
|
const row = spatialScales.get(spatialScale);
|
|
59083
|
-
const
|
|
59084
|
-
const count = histogramData[
|
|
59066
|
+
const index = 2 * row * numRenderScaleHistogramBins + i;
|
|
59067
|
+
const count = histogramData[index] + histogramData[index + numRenderScaleHistogramBins];
|
|
59085
59068
|
if (count === 0) continue;
|
|
59086
59069
|
const yStart = Math.round(countToCanvasY(sum));
|
|
59087
59070
|
sum += count;
|
|
@@ -59099,9 +59082,9 @@ class RenderScaleWidget extends RefCounted {
|
|
|
59099
59082
|
const row = spatialScales.get(hoverSpatialScale);
|
|
59100
59083
|
const baseIndex = 2 * row * numRenderScaleHistogramBins;
|
|
59101
59084
|
for (let bin = 0; bin < numRenderScaleHistogramBins; ++bin) {
|
|
59102
|
-
const
|
|
59103
|
-
totalPresent += histogramData[
|
|
59104
|
-
totalNotPresent += histogramData[
|
|
59085
|
+
const index = baseIndex + bin;
|
|
59086
|
+
totalPresent += histogramData[index];
|
|
59087
|
+
totalNotPresent += histogramData[index + numRenderScaleHistogramBins];
|
|
59105
59088
|
}
|
|
59106
59089
|
if (_Number$isFinite(hoverSpatialScale)) {
|
|
59107
59090
|
this.legendSpatialScale.textContent = formatScaleWithUnitAsString(hoverSpatialScale, "m", { precision: 2, elide1: false });
|
|
@@ -59131,9 +59114,9 @@ class RenderScaleWidget extends RefCounted {
|
|
|
59131
59114
|
for (let spatialScaleIndex = numRows - 1; spatialScaleIndex >= 0; --spatialScaleIndex) {
|
|
59132
59115
|
const spatialScale = sortedSpatialScales[spatialScaleIndex];
|
|
59133
59116
|
const row = spatialScales.get(spatialScale);
|
|
59134
|
-
const
|
|
59135
|
-
const presentCount = histogramData[
|
|
59136
|
-
const notPresentCount = histogramData[
|
|
59117
|
+
const index = row * numRenderScaleHistogramBins * 2 + i;
|
|
59118
|
+
const presentCount = histogramData[index];
|
|
59119
|
+
const notPresentCount = histogramData[index + numRenderScaleHistogramBins];
|
|
59137
59120
|
const count = presentCount + notPresentCount;
|
|
59138
59121
|
if (count === 0) continue;
|
|
59139
59122
|
const xStart = Math.round(binToCanvasX(i));
|
|
@@ -59814,19 +59797,19 @@ class SegmentationUserLayer extends Base$2 {
|
|
|
59814
59797
|
if (segmentPropertyMap !== void 0) {
|
|
59815
59798
|
const inlineProperties = segmentPropertyMap.segmentPropertyMap.inlineProperties;
|
|
59816
59799
|
if (inlineProperties !== void 0) {
|
|
59817
|
-
const
|
|
59818
|
-
if (
|
|
59800
|
+
const index = segmentPropertyMap.getSegmentInlineIndex(mapped);
|
|
59801
|
+
if (index !== -1) {
|
|
59819
59802
|
for (const property of inlineProperties.properties) {
|
|
59820
59803
|
if (property.type === "label") continue;
|
|
59821
59804
|
if (property.type === "description") {
|
|
59822
|
-
const value2 = property.values[
|
|
59805
|
+
const value2 = property.values[index];
|
|
59823
59806
|
if (!value2) continue;
|
|
59824
59807
|
const descriptionElement = document.createElement("div");
|
|
59825
59808
|
descriptionElement.classList.add("neuroglancer-selection-details-segment-description");
|
|
59826
59809
|
descriptionElement.textContent = value2;
|
|
59827
59810
|
parent.appendChild(descriptionElement);
|
|
59828
59811
|
} else if (property.type === "number" || property.type === "string") {
|
|
59829
|
-
const value2 = property.values[
|
|
59812
|
+
const value2 = property.values[index];
|
|
59830
59813
|
if (property.type === "number" ? isNaN(value2) : !value2) continue;
|
|
59831
59814
|
const propertyElement = document.createElement("div");
|
|
59832
59815
|
propertyElement.classList.add("neuroglancer-selection-details-segment-property");
|
|
@@ -60773,11 +60756,11 @@ class UncompressedVolumeChunk extends SingleTextureVolumeChunk {
|
|
|
60773
60756
|
getValueAt(dataPosition) {
|
|
60774
60757
|
let chunkFormat = this.chunkFormat;
|
|
60775
60758
|
const chunkDataSize = this.chunkDataSize;
|
|
60776
|
-
let
|
|
60759
|
+
let index = 0;
|
|
60777
60760
|
let stride = 1;
|
|
60778
60761
|
const rank = dataPosition.length;
|
|
60779
60762
|
for (let i = 0; i < rank; ++i) {
|
|
60780
|
-
|
|
60763
|
+
index += stride * dataPosition[i];
|
|
60781
60764
|
stride *= chunkDataSize[i];
|
|
60782
60765
|
}
|
|
60783
60766
|
let dataType = chunkFormat.dataType;
|
|
@@ -60790,10 +60773,10 @@ class UncompressedVolumeChunk extends SingleTextureVolumeChunk {
|
|
|
60790
60773
|
case DataType.INT16:
|
|
60791
60774
|
case DataType.UINT32:
|
|
60792
60775
|
case DataType.INT32:
|
|
60793
|
-
return data[
|
|
60776
|
+
return data[index];
|
|
60794
60777
|
case DataType.UINT64: {
|
|
60795
|
-
let
|
|
60796
|
-
return new Uint64(data[
|
|
60778
|
+
let index2 = index * 2;
|
|
60779
|
+
return new Uint64(data[index2], data[index2 + 1]);
|
|
60797
60780
|
}
|
|
60798
60781
|
}
|
|
60799
60782
|
}
|
|
@@ -65458,9 +65441,9 @@ function getAttributesJsonUrls(url) {
|
|
|
65458
65441
|
const urls = [];
|
|
65459
65442
|
while (true) {
|
|
65460
65443
|
urls.push(`${protocol}://${host}${path}/attributes.json`);
|
|
65461
|
-
const
|
|
65462
|
-
if (
|
|
65463
|
-
path = path.substring(0,
|
|
65444
|
+
const index = path.lastIndexOf("/");
|
|
65445
|
+
if (index === -1) break;
|
|
65446
|
+
path = path.substring(0, index);
|
|
65464
65447
|
}
|
|
65465
65448
|
return urls;
|
|
65466
65449
|
}
|
|
@@ -67748,11 +67731,9 @@ function requireLib() {
|
|
|
67748
67731
|
return lib;
|
|
67749
67732
|
}
|
|
67750
67733
|
var libExports = requireLib();
|
|
67751
|
-
const
|
|
67752
|
-
const
|
|
67753
|
-
|
|
67754
|
-
default: index
|
|
67755
|
-
}, [libExports]);
|
|
67734
|
+
const ReactNeuroglancer = /* @__PURE__ */ getDefaultExportFromCjs(libExports);
|
|
67735
|
+
const Component = typeof ReactNeuroglancer.default === "function" ? ReactNeuroglancer.default : ReactNeuroglancer;
|
|
67736
|
+
const ReactNeuroglancerWrapper = React__default.forwardRef((props, ref) => /* @__PURE__ */ React__default.createElement(Component, { ref, ...props }));
|
|
67756
67737
|
export {
|
|
67757
|
-
|
|
67738
|
+
ReactNeuroglancerWrapper as default
|
|
67758
67739
|
};
|