@genome-spy/app 0.86.0 → 0.87.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/dist/{agentApi-DgopQbMV.js → agentApi-BZ1JCo1N.js} +6994 -6499
- package/dist/agentApi.es.js +3057 -3225
- package/dist/agentShared.es.js +7 -7
- package/dist/{canvas2d-8uxuN_vx.js → canvas2d-B_PnIof-.js} +108 -107
- package/dist/{canvas2d-BtQC7Xr8.js → canvas2d-Cafq5v-N.js} +128 -127
- package/dist/{clipOptions-taFzEljc.js → clipOptions-D6eh9T-_.js} +1508 -1166
- package/dist/{clipOptions-BQfNhxgP.js → clipOptions-H68pJyEZ.js} +1496 -1114
- package/dist/{debug-D_VtWQ6l.js → debug-BGzgZmyk.js} +2 -2
- package/dist/{debug-Bzc3SoRg.js → debug-UYKZLNh4.js} +2 -2
- package/dist/index.es.js +96 -106
- package/dist/index.js +399 -392
- package/dist/{indexer-qy_dq5l5.js → indexer-Di57GyxX.js} +1 -1
- package/dist/{indexer-qiFctgR3.js → indexer-o6Hpg4nN.js} +1 -1
- package/dist/nativeText-D9SoxpaD.js +934 -0
- package/dist/nativeText-DAjvkrzc.js +934 -0
- package/dist/{rasterExport-B8pVoOsj.js → rasterExport-DzldLv6E.js} +1 -1
- package/dist/{rasterExport-C4r4xjQT.js → rasterExport-IAbJwi8F.js} +1 -1
- package/dist/{renderCanvas2D-BQrRWp2Z.js → renderCanvas2D-BJ93Ptqj.js} +102 -96
- package/dist/{renderCanvas2D-CHVNfIUz.js → renderCanvas2D-yJ1IrDcX.js} +103 -97
- package/dist/schema.json +10169 -2852
- package/dist/{svg-C-Sw6E6G.js → svg-BRpl2Xub.js} +338 -384
- package/dist/{svg-CKHwwKRt.js → svg-DJuqHIyc.js} +353 -399
- package/dist/{svgRasterizer-BgD72AmG.js → svgRasterizer-CGZQ5njV.js} +1 -1
- package/dist/{svgRasterizer-BgSNqI3L.js → svgRasterizer-PAoqLn1j.js} +1 -1
- package/dist/{vega-scale-D46-iCaL.js → vega-scale-BGC53c22.js} +887 -1184
- package/dist/{vega-scale-CK0_al6O.js → vega-scale-DdW2NzQ3.js} +898 -1195
- package/dist/{viewIdentityRegistry-CDtVktJD.js → viewIdentityRegistry-D4p067HU.js} +1 -1
- package/dist/{viewIdentityRegistry-B-VGlez1.js → viewIdentityRegistry-Dc2hXYsO.js} +1 -1
- package/dist/{viewSelectors-CKfxF_LM.js → viewSelectors-DNXnGwEW.js} +519 -321
- package/dist/{viewSelectors-D_imtq5Z.js → viewSelectors-DYYlOt91.js} +584 -386
- package/dist/{viewUtils-nCJ7AoaI.js → viewUtils-EdhZTPrJ.js} +2930 -2264
- package/dist/{webgl-BaA3jSa2.js → webgl-C53DwzVT.js} +427 -428
- package/dist/{webgl-FP-4EsBL.js → webgl-CdgNFlJk.js} +639 -640
- package/package.json +5 -5
- package/dist/nativeText-DFV5XIx8.js +0 -860
- package/dist/nativeText-vT3AWE14.js +0 -860
package/dist/index.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as e, t } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
-
import { $ as n, $t as r, A as i, An as a, At as o, B as s, Bt as c, C as l, Cn as u, Ct as d, D as f, Dn as p, Dt as m, E as h, En as g, Et as _, F as v, Fn as y, Ft as b, G as x, Gt as S, H as C, Ht as w, I as T, In as E, It as D, J as O, Jt as k, K as A, Kt as ee, L as j, Ln as M, Lt as te, M as N, Mn as P, Mt as ne, N as re, Nn as ie, Nt as ae, O as oe, On as se, Ot as ce, P as le, Pn as ue, Pt as de, Q as fe, Qt as pe, R as me, Rn as he, Rt as ge, S as _e, Sn as ve, St as ye, T as be, Tn as xe, Tt as Se, U as Ce, Ut as we, V as Te, Vt as Ee, W as De, Wt as Oe, X as ke, Xt as Ae, Y as je, Yt as Me, Z as Ne, Zt as Pe, _ as Fe, _n as Ie, _t as Le, a as Re, an as ze, at as Be, b as Ve, bn as He, bt as Ue, c as We, cn as Ge, ct as Ke, d as qe, dn as Je, dt as Ye, en as Xe, et as Ze, f as Qe, fn as $e, ft as et, g as tt, gn as nt, gt as rt, h as it, hn as at, ht as ot, i as st, in as ct, it as lt, j as ut, jn as dt, jt as ft, k as pt, kn as F, kt as mt, l as ht, ln as gt, lt as _t, m as vt, mn as yt, mt as bt, n as xt, nn as St, nt as Ct, o as wt, on as Tt, ot as Et, p as Dt, pn as Ot, pt as kt, q as At, qt as jt, r as Mt, rn as Nt, rt as Pt, s as Ft, sn as It, st as Lt, tn as Rt, tt as zt, u as Bt, un as Vt, ut as Ht, v as Ut, vn as Wt, vt as Gt, w as Kt, wn as I, wt as qt, x as Jt, xn as Yt, xt as Xt, y as Zt, yn as Qt, yt as $t, z as en, zt as tn } from "./agentApi-
|
|
3
|
-
import { A as nn,
|
|
4
|
-
import { D as An, T as jn, b as Mn,
|
|
5
|
-
import { h as Rn } from "./indexer-
|
|
6
|
-
import { A as zn, E as Bn, G as Vn, I as Hn, O as Un, T as Wn, W as Gn, a as Kn, c as qn, f as Jn, h as Yn, i as Xn, m as Zn, n as Qn, p as $n, r as er, s as tr, t as nr, v as rr, w as ir } from "./viewSelectors-
|
|
7
|
-
import { n as ar, r as or } from "./viewIdentityRegistry-
|
|
2
|
+
import { $ as n, $t as r, A as i, An as a, At as o, B as s, Bt as c, C as l, Cn as u, Ct as d, D as f, Dn as p, Dt as m, E as h, En as g, Et as _, F as v, Fn as y, Ft as b, G as x, Gt as S, H as C, Ht as w, I as T, In as E, It as D, J as O, Jt as k, K as A, Kt as ee, L as j, Ln as M, Lt as te, M as N, Mn as P, Mt as ne, N as re, Nn as ie, Nt as ae, O as oe, On as se, Ot as ce, P as le, Pn as ue, Pt as de, Q as fe, Qt as pe, R as me, Rn as he, Rt as ge, S as _e, Sn as ve, St as ye, T as be, Tn as xe, Tt as Se, U as Ce, Ut as we, V as Te, Vt as Ee, W as De, Wt as Oe, X as ke, Xt as Ae, Y as je, Yt as Me, Z as Ne, Zt as Pe, _ as Fe, _n as Ie, _t as Le, a as Re, an as ze, at as Be, b as Ve, bn as He, bt as Ue, c as We, cn as Ge, ct as Ke, d as qe, dn as Je, dt as Ye, en as Xe, et as Ze, f as Qe, fn as $e, ft as et, g as tt, gn as nt, gt as rt, h as it, hn as at, ht as ot, i as st, in as ct, it as lt, j as ut, jn as dt, jt as ft, k as pt, kn as F, kt as mt, l as ht, ln as gt, lt as _t, m as vt, mn as yt, mt as bt, n as xt, nn as St, nt as Ct, o as wt, on as Tt, ot as Et, p as Dt, pn as Ot, pt as kt, q as At, qt as jt, r as Mt, rn as Nt, rt as Pt, s as Ft, sn as It, st as Lt, tn as Rt, tt as zt, u as Bt, un as Vt, ut as Ht, v as Ut, vn as Wt, vt as Gt, w as Kt, wn as I, wt as qt, x as Jt, xn as Yt, xt as Xt, y as Zt, yn as Qt, yt as $t, z as en, zt as tn } from "./agentApi-BZ1JCo1N.js";
|
|
3
|
+
import { A as nn, At as rn, C as an, Et as on, F as sn, H as cn, I as ln, L as un, N as dn, P as fn, R as pn, S as mn, V as hn, X as gn, Z as _n, an as vn, ct as yn, dn as bn, i as xn, j as Sn, k as Cn, mt as wn, o as Tn, rn as En, sn as Dn, y as On, z as kn } from "./clipOptions-H68pJyEZ.js";
|
|
4
|
+
import { D as An, T as jn, b as Mn, et as Nn, nt as Pn, ot as Fn, v as In, y as Ln } from "./vega-scale-BGC53c22.js";
|
|
5
|
+
import { h as Rn } from "./indexer-o6Hpg4nN.js";
|
|
6
|
+
import { A as zn, E as Bn, G as Vn, I as Hn, O as Un, T as Wn, W as Gn, a as Kn, c as qn, f as Jn, h as Yn, i as Xn, m as Zn, n as Qn, p as $n, r as er, s as tr, t as nr, v as rr, w as ir } from "./viewSelectors-DYYlOt91.js";
|
|
7
|
+
import { n as ar, r as or } from "./viewIdentityRegistry-D4p067HU.js";
|
|
8
8
|
import { t as sr } from "./rectangle-DKnrAmKs.js";
|
|
9
9
|
import { r as cr, t as lr } from "./performanceProfiler-CPLEjApa.js";
|
|
10
10
|
//#region ../../node_modules/d3-array/src/array.js
|
|
@@ -20,7 +20,7 @@ function fr(e) {
|
|
|
20
20
|
function pr(e, t, n) {
|
|
21
21
|
let r;
|
|
22
22
|
for (;;) {
|
|
23
|
-
let i =
|
|
23
|
+
let i = Nn(e, t, n);
|
|
24
24
|
if (i === r || i === 0 || !isFinite(i)) return [e, t];
|
|
25
25
|
i > 0 ? (e = Math.floor(e / i) * i, t = Math.ceil(t / i) * i) : i < 0 && (e = Math.ceil(e * i) / i, t = Math.floor(t * i) / i), r = i;
|
|
26
26
|
}
|
|
@@ -41,8 +41,8 @@ function hr() {
|
|
|
41
41
|
var l = t(c), u = l[0], d = l[1], f = n(c, u, d);
|
|
42
42
|
if (!Array.isArray(f)) {
|
|
43
43
|
let e = d, n = +f;
|
|
44
|
-
if (t === ue && ([u, d] = pr(u, d, n)), f =
|
|
45
|
-
let e =
|
|
44
|
+
if (t === ue && ([u, d] = pr(u, d, n)), f = Pn(u, d, n), f[0] <= u && (s = Nn(u, d, n)), f[f.length - 1] >= d) if (e >= d && t === ue) {
|
|
45
|
+
let e = Nn(u, d, n);
|
|
46
46
|
isFinite(e) && (e > 0 ? d = (Math.floor(d / e) + 1) * e : e < 0 && (d = (Math.ceil(d * -e) + 1) / -e));
|
|
47
47
|
} else f.pop();
|
|
48
48
|
}
|
|
@@ -59,7 +59,7 @@ function hr() {
|
|
|
59
59
|
g[Math.min(p, e + (f[e] <= o))].push(r[i]);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
} else for (i = 0; i < a; ++i) (o = c[i]) != null && u <= o && o <= d && g[
|
|
62
|
+
} else for (i = 0; i < a; ++i) (o = c[i]) != null && u <= o && o <= d && g[Fn(f, o, 0, p)].push(r[i]);
|
|
63
63
|
return g;
|
|
64
64
|
}
|
|
65
65
|
return r.value = function(t) {
|
|
@@ -3848,7 +3848,7 @@ var sl = F`
|
|
|
3848
3848
|
});
|
|
3849
3849
|
}
|
|
3850
3850
|
#o(e, t, n) {
|
|
3851
|
-
n =
|
|
3851
|
+
n = gn(n, 0, 1), this.dispatchEvent(new ll(e, t, +this.#n.invert(n * 100).toPrecision(3)));
|
|
3852
3852
|
}
|
|
3853
3853
|
#s() {
|
|
3854
3854
|
let e = this.#t, t = this.#n, n = 90 / e.map((e) => e.length).reduce((e, t) => Math.max(e, t), 0), r = [], i = this.thresholds.length == 1 && this.operators[0] == "eq", a = [
|
|
@@ -4697,7 +4697,7 @@ function Ll(e) {
|
|
|
4697
4697
|
}
|
|
4698
4698
|
//#endregion
|
|
4699
4699
|
//#region src/sampleView/state/actionInfo.js
|
|
4700
|
-
var Rl =
|
|
4700
|
+
var Rl = Dn(".4"), zl = {
|
|
4701
4701
|
lt: "<",
|
|
4702
4702
|
lte: "≤",
|
|
4703
4703
|
eq: "=",
|
|
@@ -8248,12 +8248,12 @@ var Jp = class {
|
|
|
8248
8248
|
}, this.#s = (e) => this.getAttributeInfo(e.specifier), this.#e.compositeAttributeInfoSource.addAttributeInfoSource(Yp, this.#s), this.registerDisposer(Vp(this.#e.provenance.store, (e) => e.provenance.present.sampleView.sampleMetadata, (e) => {
|
|
8249
8249
|
this.#d(e);
|
|
8250
8250
|
})), this.addInteractionListener("contextmenu", this.handleContextMenu.bind(this)), this.addInteractionListener("mousemove", (e) => {
|
|
8251
|
-
let t = e.target, n = this.#e.findSampleForMouseEvent(e), r = this.#
|
|
8251
|
+
let t = e.target, n = this.#e.findSampleForMouseEvent(e), r = this.#_(t)?.attribute.specifier;
|
|
8252
8252
|
if (n && e.mouseEvent.buttons === 0) {
|
|
8253
8253
|
let e = JSON.stringify([n.id, r]);
|
|
8254
8254
|
this.context.updateTooltip(e, (e) => {
|
|
8255
8255
|
let [t, n] = JSON.parse(e);
|
|
8256
|
-
return Promise.resolve(this.#
|
|
8256
|
+
return Promise.resolve(this.#v(t, n));
|
|
8257
8257
|
});
|
|
8258
8258
|
}
|
|
8259
8259
|
r && this.#c(r);
|
|
@@ -8312,7 +8312,7 @@ var Jp = class {
|
|
|
8312
8312
|
e.mouseEvent.preventDefault();
|
|
8313
8313
|
return;
|
|
8314
8314
|
}
|
|
8315
|
-
let n = this.#e.sampleHierarchy.sampleMetadata.entities[t.id], r = [this.#e.makePeekMenuItem(e.point.y - this.#e.childCoords.y, t.id), Id], i = this.#
|
|
8315
|
+
let n = this.#e.sampleHierarchy.sampleMetadata.entities[t.id], r = [this.#e.makePeekMenuItem(e.point.y - this.#e.childCoords.y, t.id), Id], i = this.#_(e.target);
|
|
8316
8316
|
if (i) {
|
|
8317
8317
|
let e = i.attribute.specifier, t = n?.[e];
|
|
8318
8318
|
r.push(...tf(p`Attribute: <strong>${e}</strong>`, i, t, this.#e)), Bp(r, i, this.#e);
|
|
@@ -8326,11 +8326,11 @@ var Jp = class {
|
|
|
8326
8326
|
a = e;
|
|
8327
8327
|
}), await i;
|
|
8328
8328
|
try {
|
|
8329
|
-
if (this.#f(n) || (await this.#
|
|
8329
|
+
if (this.#f(n) || (await this.#g(), this.#f(n)) || (await this.syncGuideViews(), this.#f(n))) return;
|
|
8330
8330
|
k(this);
|
|
8331
8331
|
let r = (e) => e.isConfiguredVisible(), i = this.#p(t, r);
|
|
8332
|
-
if (i.updateDynamicData(this.#m(e)), await this.#
|
|
8333
|
-
this
|
|
8332
|
+
if (i.updateDynamicData(this.#m(e)), await this.#h(i, r), this.#f(n)) return;
|
|
8333
|
+
this.context.requestLayoutReflow();
|
|
8334
8334
|
} catch (e) {
|
|
8335
8335
|
throw r(e instanceof Error ? e : Error(String(e))), e;
|
|
8336
8336
|
} finally {
|
|
@@ -8354,24 +8354,14 @@ var Jp = class {
|
|
|
8354
8354
|
}));
|
|
8355
8355
|
return n.findIndex((e) => e.indexNumber === void 0) >= 0 && console.warn("Some metadata entries do not match any sample data"), n;
|
|
8356
8356
|
}
|
|
8357
|
-
#h() {
|
|
8358
|
-
let e = /* @__PURE__ */ new Set();
|
|
8359
|
-
this.visit((t) => {
|
|
8360
|
-
if (t instanceof Ge) {
|
|
8361
|
-
let n = t.getScaleResolution("color");
|
|
8362
|
-
n && e.add(n);
|
|
8363
|
-
}
|
|
8364
|
-
});
|
|
8365
|
-
for (let t of e) t.reconfigureDomain();
|
|
8366
|
-
}
|
|
8367
|
-
#g(e, t) {
|
|
8357
|
+
#h(e, t) {
|
|
8368
8358
|
let n = r(this, t);
|
|
8369
8359
|
return n.delete(e), Rt(this, n);
|
|
8370
8360
|
}
|
|
8371
8361
|
awaitMetadataReady(e) {
|
|
8372
8362
|
return this.#a.wait(e);
|
|
8373
8363
|
}
|
|
8374
|
-
async #
|
|
8364
|
+
async #g() {
|
|
8375
8365
|
this.setChildren([]), this.#n.clear();
|
|
8376
8366
|
let e = Ht(this.getAttributeNames(), "/"), t = this.#e.sampleHierarchy.sampleMetadata.attributeDefs, n = async (e, r, i) => {
|
|
8377
8367
|
for (let a of e.children.values()) if (a.children.size == 0) {
|
|
@@ -8382,7 +8372,7 @@ var Jp = class {
|
|
|
8382
8372
|
}, this.#e.spec.metadata), this.context, r, r, `attribute-${e}`);
|
|
8383
8373
|
await n.initializeChildren();
|
|
8384
8374
|
let o = n.findDescendantByName(em(e));
|
|
8385
|
-
if (!(o instanceof
|
|
8375
|
+
if (!(o instanceof It)) throw Error("Cannot find metadata foreground view for " + e);
|
|
8386
8376
|
n.opacityFunction = (t) => t * this.#u(e), r.appendChild(n), this.#n.set(e, o);
|
|
8387
8377
|
for (let t of n.getDescendants()) this.#o.set(t, e);
|
|
8388
8378
|
} else {
|
|
@@ -8410,8 +8400,8 @@ var Jp = class {
|
|
|
8410
8400
|
}
|
|
8411
8401
|
};
|
|
8412
8402
|
await n(e, this, {});
|
|
8413
|
-
for (let e of this.getDescendants()) e instanceof
|
|
8414
|
-
|
|
8403
|
+
for (let e of this.getDescendants()) e instanceof It && e.name.startsWith("title") && (e.mark.properties.clip = "never");
|
|
8404
|
+
ze(this);
|
|
8415
8405
|
}
|
|
8416
8406
|
getAttributeNames() {
|
|
8417
8407
|
return this.#e.sampleHierarchy.sampleMetadata.attributeNames;
|
|
@@ -8419,7 +8409,7 @@ var Jp = class {
|
|
|
8419
8409
|
getVisibleAttributeNames() {
|
|
8420
8410
|
return Array.from(this.#n.entries()).filter(([, e]) => e.isVisible()).map(([e]) => e);
|
|
8421
8411
|
}
|
|
8422
|
-
#
|
|
8412
|
+
#_(e) {
|
|
8423
8413
|
let t = this.#o.get(e);
|
|
8424
8414
|
if (t) return this.getAttributeInfo(t);
|
|
8425
8415
|
}
|
|
@@ -8443,7 +8433,7 @@ var Jp = class {
|
|
|
8443
8433
|
description: t.spec.description
|
|
8444
8434
|
};
|
|
8445
8435
|
}
|
|
8446
|
-
#
|
|
8436
|
+
#v(e, t) {
|
|
8447
8437
|
let n = this.#n, r = (e, t) => rm(t) ? this.getAttributeInfo(e).scale(t) : "transparent", i = this.#t[e];
|
|
8448
8438
|
return p`
|
|
8449
8439
|
<div class="title">
|
|
@@ -8767,7 +8757,7 @@ var cm = { step: 24 }, lm = class extends S {
|
|
|
8767
8757
|
type: "nominal",
|
|
8768
8758
|
scale: {
|
|
8769
8759
|
type: "ordinal",
|
|
8770
|
-
domain:
|
|
8760
|
+
domain: bn(500)
|
|
8771
8761
|
},
|
|
8772
8762
|
axis: null
|
|
8773
8763
|
},
|
|
@@ -9056,7 +9046,7 @@ var bm = 35, xm = 5, Sm = 15, Cm = .2, wm = [], Tm = class {
|
|
|
9056
9046
|
}
|
|
9057
9047
|
setScrollOffset(e) {
|
|
9058
9048
|
let t = Math.max(0, this.#n - this.#p.getHeight());
|
|
9059
|
-
this.#t =
|
|
9049
|
+
this.#t = gn(e, 0, t);
|
|
9060
9050
|
}
|
|
9061
9051
|
getScrollableHeight() {
|
|
9062
9052
|
return this.#n;
|
|
@@ -9124,7 +9114,7 @@ var bm = 35, xm = 5, Sm = 15, Cm = .2, wm = [], Tm = class {
|
|
|
9124
9114
|
...a,
|
|
9125
9115
|
to: 0,
|
|
9126
9116
|
duration: 400,
|
|
9127
|
-
easingFunction:
|
|
9117
|
+
easingFunction: yt
|
|
9128
9118
|
});
|
|
9129
9119
|
}
|
|
9130
9120
|
getLocations() {
|
|
@@ -9291,7 +9281,7 @@ function Om(e, t, n, r, i) {
|
|
|
9291
9281
|
}
|
|
9292
9282
|
function km(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sampleSpacingFactor: i = Cm, summaryHeight: a = 0 }) {
|
|
9293
9283
|
if (!t && !n) throw Error("viewHeight or sampleHeight must be provided!");
|
|
9294
|
-
let o = (e) =>
|
|
9284
|
+
let o = (e) => vn(e), s = e.map((e) => ({
|
|
9295
9285
|
path: e,
|
|
9296
9286
|
sampleGroup: o(e),
|
|
9297
9287
|
samples: o(e).samples
|
|
@@ -9312,7 +9302,7 @@ function km(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sa
|
|
|
9312
9302
|
for (let [e, t] of s.entries()) {
|
|
9313
9303
|
let n = { grow: 1 }, r = t.samples;
|
|
9314
9304
|
Hn(r.map((e) => n), Math.max(0, l[e].locSize.size - a), { offset: l[e].locSize.location + a }).forEach((e, t) => {
|
|
9315
|
-
let { size: n, location: a } = e, o = n * i * .5 *
|
|
9305
|
+
let { size: n, location: a } = e, o = n * i * .5 * _n(15, 22, n);
|
|
9316
9306
|
e.location = a + o, e.size = n - 2 * o, u.push({
|
|
9317
9307
|
key: r[t],
|
|
9318
9308
|
locSize: e
|
|
@@ -9322,7 +9312,7 @@ function km(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sa
|
|
|
9322
9312
|
function* d() {
|
|
9323
9313
|
let e = [];
|
|
9324
9314
|
for (let t of l) {
|
|
9325
|
-
let n = t.key, r =
|
|
9315
|
+
let n = t.key, r = vn(n);
|
|
9326
9316
|
for (; e.length <= n.length && e.length && n[e.length - 1] != e[e.length - 1].group;) yield e.pop();
|
|
9327
9317
|
for (let n = 0; n < e.length; n++) {
|
|
9328
9318
|
let r = e[n];
|
|
@@ -9396,7 +9386,7 @@ function Im(e) {
|
|
|
9396
9386
|
//#region src/sampleView/datumLookup.js
|
|
9397
9387
|
function Lm(e, t = e.getCollector()) {
|
|
9398
9388
|
let n = e.getDataAccessor("x"), r = e.getDataAccessor("x2"), i = e.getScaleResolution("x")?.getScale()?.type, a = i ? Ln(i) : !1;
|
|
9399
|
-
return !t || !n ? () => void 0 : a ? (e, r) => t.facetBatches.get(
|
|
9389
|
+
return !t || !n ? () => void 0 : a ? (e, r) => t.facetBatches.get(En(e))?.find((e) => r == n(e)) : !a && r ? (e, i) => t.facetBatches.get(En(e))?.find((e) => i >= n(e) && i < r(e)) : (e, r) => t.facetBatches.get(En(e))?.find((e) => r == n(e));
|
|
9400
9390
|
}
|
|
9401
9391
|
//#endregion
|
|
9402
9392
|
//#region src/utils/predicates/featureFilter.js
|
|
@@ -9494,7 +9484,7 @@ function Gm(e, t) {
|
|
|
9494
9484
|
i != null && (n.push(i), _ && r.push(t));
|
|
9495
9485
|
};
|
|
9496
9486
|
return (e) => {
|
|
9497
|
-
let [t, n] = h(), r = a.facetBatches.get(
|
|
9487
|
+
let [t, n] = h(), r = a.facetBatches.get(En(e));
|
|
9498
9488
|
if (!r?.length) return g === "count" || g === "itemCount" ? 0 : void 0;
|
|
9499
9489
|
let i = [], u = [], d = 0;
|
|
9500
9490
|
switch (l(r, o, c, s, t, n, (e, t) => {
|
|
@@ -9515,10 +9505,10 @@ function Gm(e, t) {
|
|
|
9515
9505
|
function Km(e, t) {
|
|
9516
9506
|
let n = e.getScaleResolution("x")?.getScale(), r = "genome" in n ? n.genome() : void 0;
|
|
9517
9507
|
if (r) {
|
|
9518
|
-
let e = t.every(
|
|
9508
|
+
let e = t.every(Ge) ? r.toContinuousInterval(t) : t;
|
|
9519
9509
|
return r.formatInterval(e);
|
|
9520
9510
|
}
|
|
9521
|
-
return
|
|
9511
|
+
return gt(t[0]) + " – " + gt(t[1]);
|
|
9522
9512
|
}
|
|
9523
9513
|
//#endregion
|
|
9524
9514
|
//#region src/sampleView/viewRef.js
|
|
@@ -9610,7 +9600,7 @@ function ah(e, t) {
|
|
|
9610
9600
|
}, d = Object.entries(r.getEncoding()).find(([e, t]) => "field" in t && t.field == n.field), f = d?.[0], m = d?.[1];
|
|
9611
9601
|
if (!m && !("aggregation" in n)) throw Error(`Cannot resolve field '${n.field}' in view '${r.name}'`);
|
|
9612
9602
|
if (!m && "aggregation" in n && n.aggregation.op !== "count" && n.aggregation.op !== "itemCount") throw Error(`Aggregation '${n.aggregation.op}' requires a field definition for '${n.field}' in view '${r.name}'`);
|
|
9613
|
-
let h = f &&
|
|
9603
|
+
let h = f && yn(f) ? r.getScaleResolution(f).getScale() : void 0, g = m && "scale" in m && m.scale && typeof m.scale == "object" ? m.scale : void 0, v = m && "type" in m ? m.type : void 0, y = "aggregation" in n ? "quantitative" : v, b, x;
|
|
9614
9604
|
if ("ensureViewAttributeAvailability" in e) {
|
|
9615
9605
|
let t = e;
|
|
9616
9606
|
b = (e) => t.ensureViewAttributeAvailability(n, e), x = (e) => t.awaitViewAttributeProcessed(n, e);
|
|
@@ -9672,7 +9662,7 @@ function sh(e) {
|
|
|
9672
9662
|
${Be(e.value)}`;
|
|
9673
9663
|
}
|
|
9674
9664
|
function ch(e) {
|
|
9675
|
-
return
|
|
9665
|
+
return Ge(e) || typeof e == "number" ? gt(e) : String(e);
|
|
9676
9666
|
}
|
|
9677
9667
|
//#endregion
|
|
9678
9668
|
//#region src/sampleView/sampleLabelView.js
|
|
@@ -9685,7 +9675,7 @@ var lh = "SAMPLE_NAME", uh = "_indexNumber", dh = "_labelWidth", fh = "_labelTit
|
|
|
9685
9675
|
valuesProvider: _((e) => e),
|
|
9686
9676
|
type: "identifier",
|
|
9687
9677
|
scale: void 0
|
|
9688
|
-
}), hh = class extends
|
|
9678
|
+
}), hh = class extends It {
|
|
9689
9679
|
#e;
|
|
9690
9680
|
#t;
|
|
9691
9681
|
#n;
|
|
@@ -11427,7 +11417,7 @@ function rg(e, t, n) {
|
|
|
11427
11417
|
if (n) try {
|
|
11428
11418
|
let t = [];
|
|
11429
11419
|
e.visit((e) => {
|
|
11430
|
-
e instanceof
|
|
11420
|
+
e instanceof It && e.isVisible() && ug(e, r) && t.push(e);
|
|
11431
11421
|
});
|
|
11432
11422
|
for (let e of t) {
|
|
11433
11423
|
let t = e.getEncoding(), n = t?.x && "field" in t.x, r = Object.entries(t).some(([e, t]) => ![
|
|
@@ -11479,7 +11469,7 @@ function og(e, t) {
|
|
|
11479
11469
|
}
|
|
11480
11470
|
function sg(e) {
|
|
11481
11471
|
try {
|
|
11482
|
-
return
|
|
11472
|
+
return Tt(e).filter((e) => ![
|
|
11483
11473
|
"sample",
|
|
11484
11474
|
"x",
|
|
11485
11475
|
"x2"
|
|
@@ -11541,10 +11531,10 @@ function hg(e, t) {
|
|
|
11541
11531
|
var gg = "SAMPLE_ATTRIBUTE";
|
|
11542
11532
|
function _g(e, t, n) {
|
|
11543
11533
|
let r = e.getAxisResolution("x")?.getTitle();
|
|
11544
|
-
return t.type === "locus" ? "Locus: " + (
|
|
11534
|
+
return t.type === "locus" ? "Locus: " + (Ge(n) || typeof n == "number" ? gt(n) : String(n)) : (r ? r + ": " : "") + n;
|
|
11545
11535
|
}
|
|
11546
11536
|
function vg(e, t) {
|
|
11547
|
-
if (!e || !t || e.selection.intervals.x?.length !== 2 || !
|
|
11537
|
+
if (!e || !t || e.selection.intervals.x?.length !== 2 || !cn(e.selection, t)) return {};
|
|
11548
11538
|
let n = e.selection.intervals.x, r = e.view.getScaleResolution("x")?.type === "locus" ? [e.view.getScaleResolution("x").toComplex(n[0]), e.view.getScaleResolution("x").toComplex(n[1])] : n;
|
|
11549
11539
|
return {
|
|
11550
11540
|
selectionInterval: n,
|
|
@@ -11638,8 +11628,8 @@ function wg(e, t) {
|
|
|
11638
11628
|
let n = t.mark.unitView, r = t.datum, i = [];
|
|
11639
11629
|
for (let [e, t] of n.paramRuntime.paramConfigs) {
|
|
11640
11630
|
if (!("select" in t) || t.persist === !1) continue;
|
|
11641
|
-
let n =
|
|
11642
|
-
|
|
11631
|
+
let n = Cn(t.select);
|
|
11632
|
+
pn(n) && n.toggle && i.push(e);
|
|
11643
11633
|
}
|
|
11644
11634
|
if (i.length === 0) return { status: "unavailable" };
|
|
11645
11635
|
if (i.length > 1) return {
|
|
@@ -11653,7 +11643,7 @@ function wg(e, t) {
|
|
|
11653
11643
|
return { status: "unavailable" };
|
|
11654
11644
|
}
|
|
11655
11645
|
if (!a || a.length === 0) return { status: "unavailable" };
|
|
11656
|
-
let o = a.map((e) =>
|
|
11646
|
+
let o = a.map((e) => on(e)(r));
|
|
11657
11647
|
if (o.some((e) => e == null)) return { status: "unavailable" };
|
|
11658
11648
|
let s = i[0], c = er(n, s);
|
|
11659
11649
|
try {
|
|
@@ -11877,9 +11867,9 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
11877
11867
|
}
|
|
11878
11868
|
arrangeVerticalAxes(e, t, n, r = {}) {
|
|
11879
11869
|
if (!this.#a(n) || this.#n() !== 0) return;
|
|
11880
|
-
let i =
|
|
11870
|
+
let i = Tn(r), a = i ? {
|
|
11881
11871
|
...r,
|
|
11882
|
-
clip:
|
|
11872
|
+
clip: xn(i.rect, !1, !0)
|
|
11883
11873
|
} : r;
|
|
11884
11874
|
for (let r of ["left", "right"]) {
|
|
11885
11875
|
let i = this.#i(r);
|
|
@@ -12207,7 +12197,7 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
12207
12197
|
clipRect: i
|
|
12208
12198
|
});
|
|
12209
12199
|
}
|
|
12210
|
-
let s =
|
|
12200
|
+
let s = xn(this.locationManager.clipBySummary(t), !0, !0), c = this.locationManager.getLocations();
|
|
12211
12201
|
if (!c) {
|
|
12212
12202
|
a();
|
|
12213
12203
|
return;
|
|
@@ -12230,14 +12220,14 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
12230
12220
|
let f = r.summaryViews, p = f.getOverhang().getHorizontal();
|
|
12231
12221
|
n = {
|
|
12232
12222
|
...n,
|
|
12233
|
-
clip:
|
|
12223
|
+
clip: xn(t.expand(p), !0, !0)
|
|
12234
12224
|
};
|
|
12235
12225
|
let m = f.getSize().height.px;
|
|
12236
12226
|
for (let [r, i] of c.summaries.entries()) {
|
|
12237
12227
|
let a = t.modify({
|
|
12238
12228
|
y: () => {
|
|
12239
12229
|
let e = i.locSize.location, n = t.y + e;
|
|
12240
|
-
return this.#i ? n +
|
|
12230
|
+
return this.#i ? n + gn(-e, 0, i.locSize.size - m) : n;
|
|
12241
12231
|
},
|
|
12242
12232
|
height: m
|
|
12243
12233
|
}).expand(p);
|
|
@@ -12327,10 +12317,10 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
12327
12317
|
let e = this.#t.view.getLayoutAncestors();
|
|
12328
12318
|
for (let t of e) for (let [e, n] of t.paramRuntime.paramConfigs) {
|
|
12329
12319
|
if (!("select" in n)) continue;
|
|
12330
|
-
let r =
|
|
12331
|
-
if (!
|
|
12320
|
+
let r = Cn(n.select);
|
|
12321
|
+
if (!ln(r) || !r.encodings?.includes("x")) continue;
|
|
12332
12322
|
let i = t.paramRuntime.getValue(e);
|
|
12333
|
-
if (i &&
|
|
12323
|
+
if (i && fn(i)) return {
|
|
12334
12324
|
selection: i,
|
|
12335
12325
|
view: t,
|
|
12336
12326
|
paramName: e,
|
|
@@ -12485,7 +12475,7 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
12485
12475
|
dispose() {
|
|
12486
12476
|
this.locationManager.getPlacementSource().dispose(), super.dispose(), this.intentExecutor.removeActionAugmenter(this.#u);
|
|
12487
12477
|
}
|
|
12488
|
-
}, Wg = class extends
|
|
12478
|
+
}, Wg = class extends rn {
|
|
12489
12479
|
#e;
|
|
12490
12480
|
#t;
|
|
12491
12481
|
#n = 0;
|
|
@@ -12511,9 +12501,9 @@ var Rg = 60, zg = "all", Bg = 1e-6, Vg = class {
|
|
|
12511
12501
|
getPeekState: () => t.locationManager.getPeekState()
|
|
12512
12502
|
});
|
|
12513
12503
|
let a = D(i);
|
|
12514
|
-
a && (this.groupBackground = new
|
|
12504
|
+
a && (this.groupBackground = new It(a, t.context, t, e, "sample-group-background-" + n), qn(this.groupBackground, { skipSubtree: !0 }));
|
|
12515
12505
|
let o = te(i);
|
|
12516
|
-
o && (this.groupBackgroundStroke = new
|
|
12506
|
+
o && (this.groupBackgroundStroke = new It(o, t.context, t, e, "sample-group-background-stroke-" + n), qn(this.groupBackgroundStroke, { skipSubtree: !0 })), this.summaryViews = r;
|
|
12517
12507
|
}
|
|
12518
12508
|
allowDuplicateAxes() {
|
|
12519
12509
|
return !0;
|
|
@@ -13041,7 +13031,7 @@ var B_ = {
|
|
|
13041
13031
|
contributors: [],
|
|
13042
13032
|
license: "MIT",
|
|
13043
13033
|
homepage: "https://genomespy.app/",
|
|
13044
|
-
version: "0.
|
|
13034
|
+
version: "0.87.0",
|
|
13045
13035
|
main: "dist/index.js",
|
|
13046
13036
|
module: "dist/index.es.js",
|
|
13047
13037
|
type: "module",
|
|
@@ -13101,7 +13091,7 @@ var B_ = {
|
|
|
13101
13091
|
"@fortawesome/fontawesome-free": "^6.4.2",
|
|
13102
13092
|
"@fortawesome/fontawesome-svg-core": "^6.4.2",
|
|
13103
13093
|
"@fortawesome/free-solid-svg-icons": "^6.4.2",
|
|
13104
|
-
"@genome-spy/core": "^0.
|
|
13094
|
+
"@genome-spy/core": "^0.87.0",
|
|
13105
13095
|
"@reduxjs/toolkit": "^2.11.0",
|
|
13106
13096
|
"d3-color": "^3.1.0",
|
|
13107
13097
|
idb: "^7.1.1",
|
|
@@ -13114,10 +13104,10 @@ var B_ = {
|
|
|
13114
13104
|
zarrita: "^0.6.1"
|
|
13115
13105
|
},
|
|
13116
13106
|
devDependencies: {
|
|
13117
|
-
"@genome-spy/app-agent": "^0.
|
|
13118
|
-
"@genome-spy/inspector": "^0.
|
|
13107
|
+
"@genome-spy/app-agent": "^0.87.0",
|
|
13108
|
+
"@genome-spy/inspector": "^0.87.0"
|
|
13119
13109
|
},
|
|
13120
|
-
gitHead: "
|
|
13110
|
+
gitHead: "7e178d03aee512e31bf0e0609a20776edebe263e"
|
|
13121
13111
|
};
|
|
13122
13112
|
//#endregion
|
|
13123
13113
|
//#region src/utils/version.js
|
|
@@ -15013,7 +15003,7 @@ var vv = class {
|
|
|
15013
15003
|
if (e) ev(e);
|
|
15014
15004
|
else throw Error("Cannot upload metadata without SampleView");
|
|
15015
15005
|
}
|
|
15016
|
-
}, bv = (e) => [...e.paramRuntime.paramConfigs.values()].some((e) =>
|
|
15006
|
+
}, bv = (e) => [...e.paramRuntime.paramConfigs.values()].some((e) => an(e) && e.bind), xv = (e, t) => {
|
|
15017
15007
|
let n = [];
|
|
15018
15008
|
return t && n.push({
|
|
15019
15009
|
label: "Parameters",
|
|
@@ -20548,7 +20538,7 @@ var Vx = class extends u {
|
|
|
20548
20538
|
`), t.push(p`<genome-spy-view-visibility></genome-spy-view-visibility>`), this.app.isEmbedded() || t.push(p`
|
|
20549
20539
|
<genome-spy-bookmark-button></genome-spy-bookmark-button>
|
|
20550
20540
|
`);
|
|
20551
|
-
let n = this.app.rootSpec.description ?
|
|
20541
|
+
let n = this.app.rootSpec.description ? En(this.app.rootSpec.description) : [];
|
|
20552
20542
|
return n.length > 1 && t.push(p`
|
|
20553
20543
|
<button
|
|
20554
20544
|
class="tool-btn"
|
|
@@ -20750,7 +20740,7 @@ function Wx(e, t, n = (e) => +e) {
|
|
|
20750
20740
|
}
|
|
20751
20741
|
//#endregion
|
|
20752
20742
|
//#region src/sampleView/mergeFacets.js
|
|
20753
|
-
var Gx = "sampleCount", Kx = class extends
|
|
20743
|
+
var Gx = "sampleCount", Kx = class extends rn {
|
|
20754
20744
|
#e = !0;
|
|
20755
20745
|
#t;
|
|
20756
20746
|
constructor(e, t) {
|
|
@@ -20777,7 +20767,7 @@ var Gx = "sampleCount", Kx = class extends On {
|
|
|
20777
20767
|
initialize() {
|
|
20778
20768
|
this.#t = this.paramRuntime.allocateSetter(Gx, 0, !0);
|
|
20779
20769
|
let e = this.view.getEncoding().x;
|
|
20780
|
-
if (wn(e)) this.xAccessor =
|
|
20770
|
+
if (wn(e)) this.xAccessor = on(e.field);
|
|
20781
20771
|
else throw Error("Sample summarization requires a FieldDef. This is not a FieldDef: " + JSON.stringify(e));
|
|
20782
20772
|
}
|
|
20783
20773
|
handle(e) {}
|
|
@@ -20785,16 +20775,16 @@ var Gx = "sampleCount", Kx = class extends On {
|
|
|
20785
20775
|
return this.view.isConfiguredVisible();
|
|
20786
20776
|
}
|
|
20787
20777
|
#r() {
|
|
20788
|
-
if (this.parent instanceof
|
|
20778
|
+
if (this.parent instanceof Ot) return this.parent;
|
|
20789
20779
|
throw Error("MergeFacetsTransform must be a direct child of a Collector");
|
|
20790
20780
|
}
|
|
20791
20781
|
complete() {
|
|
20792
20782
|
this.#n && this.#i(this.provenance.getPresentState()[C]), super.complete();
|
|
20793
20783
|
}
|
|
20794
20784
|
#i(e) {
|
|
20795
|
-
let t = [...A(e.rootGroup)].filter((e) => x(
|
|
20785
|
+
let t = [...A(e.rootGroup)].filter((e) => x(vn(e)));
|
|
20796
20786
|
for (let [e, n] of t.entries()) {
|
|
20797
|
-
let t =
|
|
20787
|
+
let t = vn(n);
|
|
20798
20788
|
if (x(t)) {
|
|
20799
20789
|
this.beginBatch({
|
|
20800
20790
|
type: "facet",
|
|
@@ -21524,7 +21514,7 @@ var jS = 150, MS = class {
|
|
|
21524
21514
|
let t = tr(e.selector);
|
|
21525
21515
|
if (this.#u.has(t)) return;
|
|
21526
21516
|
let n = this.#L(e);
|
|
21527
|
-
if (n === void 0 ||
|
|
21517
|
+
if (n === void 0 || mn(e.param) && this.#Z(e.param, n) && this.#C(e, t)) return;
|
|
21528
21518
|
let r = this.#P(e, n);
|
|
21529
21519
|
if (r) {
|
|
21530
21520
|
if (this.#x(e, n, t)) {
|
|
@@ -21539,7 +21529,7 @@ var jS = 150, MS = class {
|
|
|
21539
21529
|
}
|
|
21540
21530
|
}
|
|
21541
21531
|
#x(e, t, n) {
|
|
21542
|
-
if (!
|
|
21532
|
+
if (!mn(e.param) || !this.#Z(e.param, t)) return !1;
|
|
21543
21533
|
let { past: r, present: i } = this.#t.getState().provenance;
|
|
21544
21534
|
if (r.length === 0) return !1;
|
|
21545
21535
|
let a = i.lastAction;
|
|
@@ -21550,7 +21540,7 @@ var jS = 150, MS = class {
|
|
|
21550
21540
|
return !s || this.#S(e.param, s.value);
|
|
21551
21541
|
}
|
|
21552
21542
|
#S(e, t) {
|
|
21553
|
-
if (!t || !
|
|
21543
|
+
if (!t || !mn(e)) return !0;
|
|
21554
21544
|
if (t.type === "point") return t.keys.length === 0;
|
|
21555
21545
|
if (t.type === "pointExpand") return !1;
|
|
21556
21546
|
if (t.type === "interval") {
|
|
@@ -21565,7 +21555,7 @@ var jS = 150, MS = class {
|
|
|
21565
21555
|
return !n || this.#S(e.param, n.value);
|
|
21566
21556
|
}
|
|
21567
21557
|
#w(e) {
|
|
21568
|
-
return
|
|
21558
|
+
return mn(e) ? !0 : an(e) && !!e.bind;
|
|
21569
21559
|
}
|
|
21570
21560
|
#T(e, t) {
|
|
21571
21561
|
let n = Ng.actions.paramChange({
|
|
@@ -21589,7 +21579,7 @@ var jS = 150, MS = class {
|
|
|
21589
21579
|
this.#m.clear();
|
|
21590
21580
|
}
|
|
21591
21581
|
#k(e) {
|
|
21592
|
-
return
|
|
21582
|
+
return On(e.param, e.view.paramRuntime);
|
|
21593
21583
|
}
|
|
21594
21584
|
#A(e, t) {
|
|
21595
21585
|
return this.#K(e.param, t), this.#k(e);
|
|
@@ -21617,9 +21607,9 @@ var jS = 150, MS = class {
|
|
|
21617
21607
|
}
|
|
21618
21608
|
#P(e, t) {
|
|
21619
21609
|
let n = e.param;
|
|
21620
|
-
if (
|
|
21621
|
-
let r =
|
|
21622
|
-
if (
|
|
21610
|
+
if (mn(n)) {
|
|
21611
|
+
let r = Cn(n.select);
|
|
21612
|
+
if (pn(r)) {
|
|
21623
21613
|
let r = this.#N(e, "persist");
|
|
21624
21614
|
if (!r) return;
|
|
21625
21615
|
let i = dn(t, r);
|
|
@@ -21637,8 +21627,8 @@ var jS = 150, MS = class {
|
|
|
21637
21627
|
keys: i
|
|
21638
21628
|
};
|
|
21639
21629
|
}
|
|
21640
|
-
if (
|
|
21641
|
-
if (!
|
|
21630
|
+
if (ln(r)) {
|
|
21631
|
+
if (!sn(t)) {
|
|
21642
21632
|
this.#q(n, "has no value yet and will not be saved.");
|
|
21643
21633
|
return;
|
|
21644
21634
|
}
|
|
@@ -21646,7 +21636,7 @@ var jS = 150, MS = class {
|
|
|
21646
21636
|
}
|
|
21647
21637
|
throw Error(`Unsupported selection config for parameter "${n.name}".`);
|
|
21648
21638
|
}
|
|
21649
|
-
if (
|
|
21639
|
+
if (an(n)) return {
|
|
21650
21640
|
type: "value",
|
|
21651
21641
|
value: t
|
|
21652
21642
|
};
|
|
@@ -21672,20 +21662,20 @@ var jS = 150, MS = class {
|
|
|
21672
21662
|
}
|
|
21673
21663
|
}
|
|
21674
21664
|
#I(e, t) {
|
|
21675
|
-
return
|
|
21665
|
+
return an(e.param) && Object.is(e.view.paramRuntime.getTargetValue(e.selector.param), t);
|
|
21676
21666
|
}
|
|
21677
21667
|
#L(e) {
|
|
21678
21668
|
let t = e.selector.param;
|
|
21679
|
-
return
|
|
21669
|
+
return an(e.param) ? e.view.paramRuntime.getTargetValue(t) : e.view.paramRuntime.getValue(t);
|
|
21680
21670
|
}
|
|
21681
21671
|
async whenApplied(e) {
|
|
21682
21672
|
return await Promise.resolve(), await this.#h, this.#e.paramRuntime.whenPropagated(e);
|
|
21683
21673
|
}
|
|
21684
21674
|
#R(e, t) {
|
|
21685
21675
|
let n = e.param, r = t.value;
|
|
21686
|
-
if (
|
|
21687
|
-
let i =
|
|
21688
|
-
if (
|
|
21676
|
+
if (mn(n)) {
|
|
21677
|
+
let i = Cn(n.select);
|
|
21678
|
+
if (pn(i)) {
|
|
21689
21679
|
if (r.type === "pointExpand") return this.#z(e, r, i);
|
|
21690
21680
|
if (r.type !== "point") return this.#A(e, "cannot be restored because the bookmark stored a different selection type.");
|
|
21691
21681
|
let t = this.#N(e, "restore");
|
|
@@ -21697,22 +21687,22 @@ var jS = 150, MS = class {
|
|
|
21697
21687
|
if (!o.completed) return this.#V(o), this.#k(e);
|
|
21698
21688
|
let s = i.toggle ? "multi" : "single", c;
|
|
21699
21689
|
try {
|
|
21700
|
-
c =
|
|
21690
|
+
c = hn(s, t, a, (e, t) => o.findDatumByKey(e, t));
|
|
21701
21691
|
} catch (r) {
|
|
21702
21692
|
return String(r).includes("Duplicate key detected") ? this.#K(n, `cannot be restored because encoding.key fields [${t.join(", ")}] are not unique in the current data.`) : this.#K(n, `cannot be restored due to an error: ${r}`), this.#k(e);
|
|
21703
21693
|
}
|
|
21704
21694
|
return c.unresolved.length && this.#K(n, "has some points that could not be resolved. Ensure encoding.key is unique and present in the data."), c.selection;
|
|
21705
21695
|
}
|
|
21706
|
-
if (
|
|
21696
|
+
if (ln(i)) {
|
|
21707
21697
|
if (r.type !== "interval") return this.#A(e, "cannot be restored because the bookmark stored a different selection type.");
|
|
21708
|
-
let n =
|
|
21698
|
+
let n = nn(i.encodings);
|
|
21709
21699
|
this.#H(e.view, n, r.intervals);
|
|
21710
21700
|
let a = this.#U(t.origin);
|
|
21711
21701
|
return a && this.#H(e.view, n, a), n;
|
|
21712
21702
|
}
|
|
21713
21703
|
return this.#k(e);
|
|
21714
21704
|
}
|
|
21715
|
-
return
|
|
21705
|
+
return an(n) ? r.type === "value" ? r.value : this.#j(e, "cannot be restored because the bookmark stored a different value type.") : this.#k(e);
|
|
21716
21706
|
}
|
|
21717
21707
|
#z(e, t, n) {
|
|
21718
21708
|
if (!n.toggle) return this.#K(e.param, "cannot apply expansion because the target selection is not multi-point."), this.#k(e);
|
|
@@ -21729,7 +21719,7 @@ var jS = 150, MS = class {
|
|
|
21729
21719
|
let n = CS(e), a = [];
|
|
21730
21720
|
return r.visitData((e) => {
|
|
21731
21721
|
n(e) && a.push(e);
|
|
21732
|
-
}),
|
|
21722
|
+
}), Sn(a);
|
|
21733
21723
|
} catch (t) {
|
|
21734
21724
|
return this.#K(e.param, `cannot apply expansion due to an error: ${t}`), this.#k(e);
|
|
21735
21725
|
}
|
|
@@ -21813,7 +21803,7 @@ var jS = 150, MS = class {
|
|
|
21813
21803
|
for (let [t, n] of Object.entries(e.intervalSources)) {
|
|
21814
21804
|
let e = n.start, a = n.end ?? n.start;
|
|
21815
21805
|
if (!e || !a) continue;
|
|
21816
|
-
let o =
|
|
21806
|
+
let o = on(e), s = on(a);
|
|
21817
21807
|
i[t] = [o(r), s(r)];
|
|
21818
21808
|
}
|
|
21819
21809
|
return i;
|
|
@@ -21838,11 +21828,11 @@ var jS = 150, MS = class {
|
|
|
21838
21828
|
}
|
|
21839
21829
|
#X(e, t) {
|
|
21840
21830
|
let n = e.param;
|
|
21841
|
-
|
|
21831
|
+
mn(n) && pn(Cn(n.select)) && (this.#N(e, "persist") || this.#u.add(t));
|
|
21842
21832
|
}
|
|
21843
21833
|
#Z(e, t) {
|
|
21844
|
-
let n =
|
|
21845
|
-
return
|
|
21834
|
+
let n = Cn(e.select);
|
|
21835
|
+
return pn(n) ? kn(t) ? !t.datum : !un(t) || t.data.size === 0 : ln(n) ? !fn(t) : !1;
|
|
21846
21836
|
}
|
|
21847
21837
|
#Q(e) {
|
|
21848
21838
|
this.#l.has(e) || (this.#l.add(e), this.#s.add(e), !this.#d && (this.#d = !0, queueMicrotask(() => {
|
|
@@ -22274,10 +22264,10 @@ var gC = class {
|
|
|
22274
22264
|
}, this.genomeSpy.viewFactory.addViewType(Fm, ((e, t, n, r, i) => new Ug(e, t, n, r, i, this.provenance, this.intentExecutor, kx(this)))), this.#o();
|
|
22275
22265
|
}
|
|
22276
22266
|
getAgentApi() {
|
|
22277
|
-
return this.#e ||= import("./agentApi-
|
|
22267
|
+
return this.#e ||= import("./agentApi-BZ1JCo1N.js").then((e) => e.t).then((e) => e.createAgentApi(this)), this.#e;
|
|
22278
22268
|
}
|
|
22279
22269
|
async getDebugModules() {
|
|
22280
|
-
return import("./debug-
|
|
22270
|
+
return import("./debug-UYKZLNh4.js");
|
|
22281
22271
|
}
|
|
22282
22272
|
#r() {
|
|
22283
22273
|
this.store = $x(), this.intentExecutor = new Yx(this.store), this.provenance = new Ux(this.store), this.intentPipeline = new eS({
|
|
@@ -22400,7 +22390,7 @@ var gC = class {
|
|
|
22400
22390
|
this.#c(this.store.subscribe(n));
|
|
22401
22391
|
for (let [, e] of this.genomeSpy.getNamedScaleResolutions()) e.isZoomable() && (e.addEventListener("domain", n), this.#c(() => e.removeEventListener("domain", n)));
|
|
22402
22392
|
}
|
|
22403
|
-
let r =
|
|
22393
|
+
let r = En(this.genomeSpy.spec.description ?? []);
|
|
22404
22394
|
this.isFullPage() && r.length > 0 && (document.title = "GenomeSpy - " + r), this.store.dispatch(Xx.actions.setInitialized());
|
|
22405
22395
|
}
|
|
22406
22396
|
async #l(e) {
|