react-msaview 9.2.0 → 9.3.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/bundle/index.js +74 -74
- package/bundle/index.js.map +4 -4
- package/dist/components/DragHandle.js +2 -1
- package/dist/components/DragHandle.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +29 -19
- package/dist/components/MSAViewer.js +2 -1
- package/dist/components/MSAViewer.js.map +1 -1
- package/dist/components/Track.js +2 -5
- package/dist/components/Track.js.map +1 -1
- package/dist/components/VerticalScrollbar.js +1 -1
- package/dist/components/VerticalScrollbar.js.map +1 -1
- package/dist/components/header/Header.js +2 -1
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/minimap/Minimap.js +1 -1
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +16 -27
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/rowpanels/RowPanels.js +8 -6
- package/dist/components/rowpanels/RowPanels.js.map +1 -1
- package/dist/components/settings/SettingsPanel.js +2 -1
- package/dist/components/settings/SettingsPanel.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +8 -6
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/element.d.ts +11 -7
- package/dist/element.js +46 -8
- package/dist/element.js.map +1 -1
- package/dist/featurePanels.d.ts +0 -7
- package/dist/featurePanels.js +1 -16
- package/dist/featurePanels.js.map +1 -1
- package/dist/ggplotPalettes.js +12 -1
- package/dist/ggplotPalettes.js.map +1 -1
- package/dist/groupKeys.d.ts +6 -0
- package/dist/groupKeys.js +52 -0
- package/dist/groupKeys.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/model.d.ts +34 -17
- package/dist/model.js +100 -54
- package/dist/model.js.map +1 -1
- package/dist/scales.d.ts +114 -13
- package/dist/scales.js +154 -19
- package/dist/scales.js.map +1 -1
- package/dist/svgTestUtil.d.ts +20 -12
- package/dist/types.d.ts +29 -27
- package/dist/useDragScroll.d.ts +4 -3
- package/dist/useDragScroll.js +9 -6
- package/dist/useDragScroll.js.map +1 -1
- package/dist/useWheelScroll.d.ts +26 -8
- package/dist/useWheelScroll.js +108 -71
- package/dist/useWheelScroll.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/viewerSnapshot.js +2 -1
- package/dist/viewerSnapshot.js.map +1 -1
- package/package.json +3 -3
- package/src/components/DragHandle.tsx +2 -1
- package/src/components/MSAViewer.tsx +11 -8
- package/src/components/Track.tsx +2 -8
- package/src/components/VerticalScrollbar.tsx +1 -1
- package/src/components/header/Header.tsx +2 -1
- package/src/components/minimap/Minimap.tsx +1 -1
- package/src/components/msa/MSACanvas.tsx +14 -35
- package/src/components/rowpanels/RowPanels.tsx +8 -10
- package/src/components/settings/SettingsPanel.tsx +2 -1
- package/src/components/tree/TreeCanvas.tsx +8 -10
- package/src/constants.ts +2 -0
- package/src/element.ts +53 -8
- package/src/featurePanels.ts +1 -25
- package/src/ggplotPalettes.ts +13 -1
- package/src/groupKeys.ts +54 -0
- package/src/index.ts +13 -2
- package/src/model.ts +149 -72
- package/src/scales.ts +268 -25
- package/src/types.ts +28 -25
- package/src/useDragScroll.ts +11 -8
- package/src/useWheelScroll.ts +124 -84
- package/src/version.ts +1 -1
- package/src/viewerSnapshot.ts +3 -1
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/element.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Registers a custom element that renders MSAViewer, for pages with no React.
|
|
3
3
|
* Attributes: msa-url, tree-url, gff-url, color-scheme, height, hide-header,
|
|
4
|
-
* theme, tree-area-width
|
|
5
|
-
* features, colorScheme, highlights, columnTracks, residueMappings
|
|
6
|
-
* selection. The
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* theme, tree-area-width, reference-row and loading. Properties: msa, tree and
|
|
5
|
+
* gff text, features, colorScheme, highlights, columnTracks, residueMappings
|
|
6
|
+
* and selection. The colorScheme property takes a `{domain, range}` the
|
|
7
|
+
* color-scheme attribute cannot hold, and wins over the attribute while set. Events:
|
|
8
|
+
* cell-hover, cell-click, viewport-change and selection-change, each with the
|
|
9
|
+
* MSAViewer callback's value as detail.
|
|
10
|
+
*
|
|
11
|
+
* `loading="lazy"` mounts the viewer once the element comes within 200 pixels
|
|
12
|
+
* of the viewport, as `<img loading="lazy">` loads its image. Until then the
|
|
13
|
+
* element shows its own children, such as an `<img>` of the first frame, and
|
|
14
|
+
* reserves the viewer's height.
|
|
11
15
|
*
|
|
12
16
|
* Inside a <nightingale-manager>, the element registers with it and speaks its
|
|
13
17
|
* protocol: it follows the display-start, display-end and highlight attributes
|
package/dist/element.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { when } from 'mobx';
|
|
2
|
+
import { defaultHeight, resizeHandleWidth } from './constants.js';
|
|
2
3
|
import { mount } from './mount.js';
|
|
3
4
|
const dataProperties = [
|
|
4
5
|
'msa',
|
|
@@ -20,7 +21,11 @@ const ownAttributes = [
|
|
|
20
21
|
'theme',
|
|
21
22
|
'reference-row',
|
|
22
23
|
'tree-area-width',
|
|
24
|
+
'loading',
|
|
23
25
|
];
|
|
26
|
+
// how far outside the viewport a lazy element starts mounting, so the viewer
|
|
27
|
+
// is drawing by the time the reader scrolls to it
|
|
28
|
+
const lazyMargin = '200px';
|
|
24
29
|
// the attributes a <nightingale-manager> writes on the elements it holds
|
|
25
30
|
const nightingaleAttributes = ['display-start', 'display-end', 'highlight'];
|
|
26
31
|
function numberAttribute(value) {
|
|
@@ -55,13 +60,17 @@ function residueRange(model, row, viewport) {
|
|
|
55
60
|
/**
|
|
56
61
|
* Registers a custom element that renders MSAViewer, for pages with no React.
|
|
57
62
|
* Attributes: msa-url, tree-url, gff-url, color-scheme, height, hide-header,
|
|
58
|
-
* theme, tree-area-width
|
|
59
|
-
* features, colorScheme, highlights, columnTracks, residueMappings
|
|
60
|
-
* selection. The
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* theme, tree-area-width, reference-row and loading. Properties: msa, tree and
|
|
64
|
+
* gff text, features, colorScheme, highlights, columnTracks, residueMappings
|
|
65
|
+
* and selection. The colorScheme property takes a `{domain, range}` the
|
|
66
|
+
* color-scheme attribute cannot hold, and wins over the attribute while set. Events:
|
|
67
|
+
* cell-hover, cell-click, viewport-change and selection-change, each with the
|
|
68
|
+
* MSAViewer callback's value as detail.
|
|
69
|
+
*
|
|
70
|
+
* `loading="lazy"` mounts the viewer once the element comes within 200 pixels
|
|
71
|
+
* of the viewport, as `<img loading="lazy">` loads its image. Until then the
|
|
72
|
+
* element shows its own children, such as an `<img>` of the first frame, and
|
|
73
|
+
* reserves the viewer's height.
|
|
65
74
|
*
|
|
66
75
|
* Inside a <nightingale-manager>, the element registers with it and speaks its
|
|
67
76
|
* protocol: it follows the display-start, display-end and highlight attributes
|
|
@@ -76,6 +85,7 @@ export function defineMsaElement(tagName = 'jbrowse-msa') {
|
|
|
76
85
|
class MsaElement extends HTMLElement {
|
|
77
86
|
static observedAttributes = [...ownAttributes, ...nightingaleAttributes];
|
|
78
87
|
#viewer;
|
|
88
|
+
#nearby;
|
|
79
89
|
#model;
|
|
80
90
|
#manager;
|
|
81
91
|
#cancelRange;
|
|
@@ -224,7 +234,19 @@ export function defineMsaElement(tagName = 'jbrowse-msa') {
|
|
|
224
234
|
if (!this.style.display) {
|
|
225
235
|
this.style.display = 'block';
|
|
226
236
|
}
|
|
227
|
-
|
|
237
|
+
if (this.#lazy) {
|
|
238
|
+
const height = numberAttribute(this.getAttribute('height')) ?? defaultHeight;
|
|
239
|
+
this.style.minHeight = `${height + resizeHandleWidth}px`;
|
|
240
|
+
this.#nearby = new IntersectionObserver(entries => {
|
|
241
|
+
if (entries.some(entry => entry.isIntersecting)) {
|
|
242
|
+
this.#mount();
|
|
243
|
+
}
|
|
244
|
+
}, { rootMargin: lazyMargin });
|
|
245
|
+
this.#nearby.observe(this);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this.#mount();
|
|
249
|
+
}
|
|
228
250
|
const manager = this.closest('nightingale-manager');
|
|
229
251
|
if (manager) {
|
|
230
252
|
void customElements.whenDefined('nightingale-manager').then(() => {
|
|
@@ -235,7 +257,18 @@ export function defineMsaElement(tagName = 'jbrowse-msa') {
|
|
|
235
257
|
});
|
|
236
258
|
}
|
|
237
259
|
}
|
|
260
|
+
get #lazy() {
|
|
261
|
+
return (this.getAttribute('loading') === 'lazy' &&
|
|
262
|
+
typeof IntersectionObserver !== 'undefined');
|
|
263
|
+
}
|
|
264
|
+
#mount() {
|
|
265
|
+
this.#nearby?.disconnect();
|
|
266
|
+
this.#nearby = undefined;
|
|
267
|
+
this.#viewer ??= mount(this, this.#props());
|
|
268
|
+
}
|
|
238
269
|
disconnectedCallback() {
|
|
270
|
+
this.#nearby?.disconnect();
|
|
271
|
+
this.#nearby = undefined;
|
|
239
272
|
this.#manager?.unregister(this);
|
|
240
273
|
this.#manager = undefined;
|
|
241
274
|
this.#cancelRange?.();
|
|
@@ -258,6 +291,11 @@ export function defineMsaElement(tagName = 'jbrowse-msa') {
|
|
|
258
291
|
else if (name === 'highlight') {
|
|
259
292
|
this.#followHighlight();
|
|
260
293
|
}
|
|
294
|
+
else if (name === 'loading') {
|
|
295
|
+
if (this.#nearby && !this.#lazy) {
|
|
296
|
+
this.#mount();
|
|
297
|
+
}
|
|
298
|
+
}
|
|
261
299
|
else {
|
|
262
300
|
this.#viewer?.update(this.#props());
|
|
263
301
|
}
|
package/dist/element.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAa,CAAA;AAoBnC,MAAM,cAAc,GAAG;IACrB,KAAK;IACL,MAAM;IACN,KAAK;IACL,UAAU;IACV,aAAa;IACb,YAAY;IACZ,cAAc;IACd,iBAAiB;CACuB,CAAA;AAO1C,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,UAAU;IACV,SAAS;IACT,cAAc;IACd,QAAQ;IACR,aAAa;IACb,OAAO;IACP,eAAe;IACf,iBAAiB;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|
package/dist/featurePanels.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ScaleSpec } from './scales.ts';
|
|
2
1
|
import type { Annotation, DomainBand, RowFeaturesSpec, RowPanelSpan, RowPanelSpec } from './types.ts';
|
|
3
2
|
export declare function rowPanelWidth(panel: RowPanelSpec, view: {
|
|
4
3
|
rowHeight: number;
|
|
@@ -29,9 +28,3 @@ export declare function featurePanelSpans({ panel, width, colWidth, domainBands,
|
|
|
29
28
|
annotationsByRow: Record<string, Annotation[]>;
|
|
30
29
|
shifts: Map<string, number> | undefined;
|
|
31
30
|
}): Map<string, RowPanelSpan[]>;
|
|
32
|
-
export declare function resolveFeatureScale(field: string, scale: ScaleSpec | undefined, annotations: Annotation[], drawn: Annotation[]): {
|
|
33
|
-
kind: 'categorical';
|
|
34
|
-
colorOf: (value: string) => string | undefined;
|
|
35
|
-
field: string;
|
|
36
|
-
legend: import("./types.ts").LegendEntry[];
|
|
37
|
-
};
|
package/dist/featurePanels.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { notEmpty } from '@jbrowse/core/util';
|
|
2
1
|
import { packDomainLanes } from './components/msa/packDomainLanes.js';
|
|
3
2
|
import { defaultFeaturePanelWidth } from './constants.js';
|
|
4
3
|
import { featureField } from './featureFields.js';
|
|
5
|
-
import { resolveScale } from './scales.js';
|
|
6
4
|
import { outlineColor } from './util.js';
|
|
7
5
|
// the fill of a span under a scale that gives its value no color, such as a
|
|
8
|
-
// gene a `
|
|
6
|
+
// gene a `domain` of gene names leaves out
|
|
9
7
|
const UNSCALED_FEATURE = '#d9d9d9';
|
|
10
8
|
// the fraction of a span a following one may cover before it takes a lane of
|
|
11
9
|
// its own in a `features` panel
|
|
@@ -171,17 +169,4 @@ export function featurePanelSpans({ panel, width, colWidth, domainBands, annotat
|
|
|
171
169
|
})),
|
|
172
170
|
]));
|
|
173
171
|
}
|
|
174
|
-
// a scale over the values a field takes across every feature loaded, so hiding
|
|
175
|
-
// a type in the filter dialog leaves the rest in their colors, and a legend of
|
|
176
|
-
// the values the features drawn carry
|
|
177
|
-
export function resolveFeatureScale(field, scale, annotations, drawn) {
|
|
178
|
-
const valuesOf = (list) => list.map(a => featureField(a, field)).filter(notEmpty);
|
|
179
|
-
const resolved = resolveScale(scale, valuesOf(annotations));
|
|
180
|
-
const shown = new Set(valuesOf(drawn));
|
|
181
|
-
return {
|
|
182
|
-
field,
|
|
183
|
-
...resolved,
|
|
184
|
-
legend: resolved.legend.filter(entry => shown.has(entry.id)),
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
172
|
//# sourceMappingURL=featurePanels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featurePanels.js","sourceRoot":"","sources":["../src/featurePanels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"featurePanels.js","sourceRoot":"","sources":["../src/featurePanels.ts"],"names":[],"mappings":"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"}
|
package/dist/ggplotPalettes.js
CHANGED
|
@@ -69,11 +69,22 @@ export const namedPalettes = {
|
|
|
69
69
|
'#bab0ac',
|
|
70
70
|
],
|
|
71
71
|
};
|
|
72
|
+
// the spellings jbrowse-components' `paletteFromSpec` takes for two of them
|
|
73
|
+
const aliases = {
|
|
74
|
+
okabeIto: 'okabeito',
|
|
75
|
+
tableau10: 'tableau',
|
|
76
|
+
};
|
|
72
77
|
/**
|
|
73
78
|
* The colors a palette name asks for. `ggplot`, an unknown name, and no name at
|
|
74
79
|
* all give undefined, which `createPaletteMap` answers with the hue ramp.
|
|
75
80
|
*/
|
|
76
81
|
export function paletteNamed(name) {
|
|
77
|
-
return name === undefined
|
|
82
|
+
return name === undefined
|
|
83
|
+
? undefined
|
|
84
|
+
: Object.hasOwn(namedPalettes, name)
|
|
85
|
+
? namedPalettes[name]
|
|
86
|
+
: Object.hasOwn(aliases, name)
|
|
87
|
+
? namedPalettes[aliases[name]]
|
|
88
|
+
: undefined;
|
|
78
89
|
}
|
|
79
90
|
//# sourceMappingURL=ggplotPalettes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ggplotPalettes.js","sourceRoot":"","sources":["../src/ggplotPalettes.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACf,CAAC,SAAS,CAAC;IACX,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACjC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC5C,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACvD,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAClE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC7E;QACE,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;CACF,CAAA;AAED,eAAe,QAAQ,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsC;IAC9D,IAAI,EAAE;QACJ,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,KAAK,EAAE;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,yEAAyE;IACzE,YAAY;IACZ,QAAQ,EAAE;QACR,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,OAAO,EAAE;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ggplotPalettes.js","sourceRoot":"","sources":["../src/ggplotPalettes.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACf,CAAC,SAAS,CAAC;IACX,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACjC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC5C,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACvD,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAClE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC7E;QACE,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;CACF,CAAA;AAED,eAAe,QAAQ,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsC;IAC9D,IAAI,EAAE;QACJ,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,KAAK,EAAE;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,yEAAyE;IACzE,YAAY;IACZ,QAAQ,EAAE;QACR,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;IACD,OAAO,EAAE;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;KACV;CACF,CAAA;AAED,4EAA4E;AAC5E,MAAM,OAAO,GAA2B;IACtC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;YAClC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Numbers first by value, then every other value run by run with digit runs
|
|
3
|
+
* by magnitude, so `2` before `10`, `chr2` before `chr10` and `2.3.2.1a`
|
|
4
|
+
* before `2.3.4.4b`. The empty value sorts last.
|
|
5
|
+
*/
|
|
6
|
+
export declare function compareGroupKeys(a: string, b: string): number;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// copied from jbrowse-components packages/core/src/util/groupKeys.ts, which
|
|
2
|
+
// @jbrowse/core 5.0.0-beta.9 ships but the hosts the plugin runs on do not
|
|
3
|
+
const NUMERIC = /^-?\d+(\.\d+)?$/;
|
|
4
|
+
const DIGIT_RUNS = /\d+|\D+/g;
|
|
5
|
+
function compareRuns(a, b) {
|
|
6
|
+
const runsA = a.match(DIGIT_RUNS) ?? [];
|
|
7
|
+
const runsB = b.match(DIGIT_RUNS) ?? [];
|
|
8
|
+
const shared = Math.min(runsA.length, runsB.length);
|
|
9
|
+
for (let i = 0; i < shared; i++) {
|
|
10
|
+
const x = runsA[i];
|
|
11
|
+
const y = runsB[i];
|
|
12
|
+
if (x === y) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
if (/^\d/.test(x) && /^\d/.test(y)) {
|
|
16
|
+
const nx = Number(x);
|
|
17
|
+
const ny = Number(y);
|
|
18
|
+
if (nx !== ny) {
|
|
19
|
+
return nx < ny ? -1 : 1;
|
|
20
|
+
}
|
|
21
|
+
return x.length < y.length ? -1 : 1;
|
|
22
|
+
}
|
|
23
|
+
return x < y ? -1 : 1;
|
|
24
|
+
}
|
|
25
|
+
return runsA.length - runsB.length;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Numbers first by value, then every other value run by run with digit runs
|
|
29
|
+
* by magnitude, so `2` before `10`, `chr2` before `chr10` and `2.3.2.1a`
|
|
30
|
+
* before `2.3.4.4b`. The empty value sorts last.
|
|
31
|
+
*/
|
|
32
|
+
export function compareGroupKeys(a, b) {
|
|
33
|
+
if (a === b) {
|
|
34
|
+
return 0;
|
|
35
|
+
}
|
|
36
|
+
if (a === '' || b === '') {
|
|
37
|
+
return a === '' ? 1 : -1;
|
|
38
|
+
}
|
|
39
|
+
const numA = NUMERIC.test(a);
|
|
40
|
+
const numB = NUMERIC.test(b);
|
|
41
|
+
if (numA !== numB) {
|
|
42
|
+
return numA ? -1 : 1;
|
|
43
|
+
}
|
|
44
|
+
if (numA) {
|
|
45
|
+
const diff = Number(a) - Number(b);
|
|
46
|
+
if (diff !== 0) {
|
|
47
|
+
return diff < 0 ? -1 : 1;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return compareRuns(a, b);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=groupKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupKeys.js","sourceRoot":"","sources":["../src/groupKeys.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAE3E,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACjC,MAAM,UAAU,GAAG,UAAU,CAAA;AAE7B,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QACnB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QACnB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACd,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,5 +23,5 @@ export type { InterProScanResults } from 'msa-parsers';
|
|
|
23
23
|
export type { ColumnCounts } from './columnCounts.ts';
|
|
24
24
|
export type { ColumnStats } from './columnStats.ts';
|
|
25
25
|
export type { ZoomSnapshot } from './zoomSnapshot.ts';
|
|
26
|
-
export type { ResolvedScale,
|
|
26
|
+
export type { ColorChannel, ColorSpec, LegacyColumnTrack, LegacyEncoding, LegacyRowPanel, LegacyScale, ResolvedScale, ScaleTable, SharedScale, } from './scales.ts';
|
|
27
27
|
export type { Accession, Annotation, Arc, ArcSpec, ArcTrackModel, BasicTrack, BasicTrackModel, Cell, Clade, CladeMark, ColorScheme, ColumnTrackSpec, DomainBand, Encoding, EncodingChannel, Feature, Highlight, Legend, LegendEntry, MsaSelection, Node, MappedStructure, NodeWithIds, NodeWithIdsAndLength, Region, ResidueEncoding, ResidueMapping, ResidueMappingProblem, ResidueSegment, ResolvedClade, ResolvedEncoding, ResolvedHighlight, ResolvedRowPanel, ResolvedSelection, RowDataInput, RowPanelSpec, RowResidue, StructureResidue, TextTrackModel, TidyDomainAnnotation, TrackKind, TreeOrder, TreeRoot, UnshareableData, Viewport, } from './types.ts';
|
package/dist/model.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ColumnStats } from './columnStats.ts';
|
|
|
2
2
|
import type { ScrollZoomAxis } from './constants.ts';
|
|
3
3
|
import type { HierarchyNode } from './hierarchy.ts';
|
|
4
4
|
import type { ExportSvgOptions } from './renderToSvg.tsx';
|
|
5
|
+
import type { ColorChannel, LegacyColumnTrack, LegacyEncoding, LegacyRowPanel, ScaleTable, SharedScale } from './scales.ts';
|
|
5
6
|
import type { Annotation, Arc, BasicTrack, Cell, Clade, ResidueMappingProblem, ColumnTrackSpec, DomainBand, Encoding, Feature, Highlight, Legend, MsaSelection, NodeWithIds, Region, ResidueMapping, ResolvedClade, ResolvedEncoding, ResolvedFeaturePanel, ResolvedStripPanel, ResolvedHighlight, ResolvedSelection, TreeRoot, ResolvedRowPanel, RowDataInput, RowPanelSpec, RowResidue, StructureResidue, TrackKind, UnshareableData, Viewport } from './types.ts';
|
|
6
7
|
import type { ZoomSnapshot } from './zoomSnapshot.ts';
|
|
7
8
|
import type { FileLocation as FileLocationType } from '@jbrowse/core/util/types';
|
|
@@ -542,7 +543,7 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
542
543
|
* tracks supplied as data: per-column values drawn as bars, or a
|
|
543
544
|
* per-column string drawn as a text track. See docs/layers.md
|
|
544
545
|
*/
|
|
545
|
-
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<ColumnTrackSpec, ColumnTrackSpec, ColumnTrackSpec>>, [undefined]>;
|
|
546
|
+
columnTracks: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").IType<ColumnTrackSpec, ColumnTrackSpec, ColumnTrackSpec>, ColumnTrackSpec, import("@jbrowse/mobx-state-tree")._NotCustomized>>, [undefined]>;
|
|
546
547
|
/**
|
|
547
548
|
* #property
|
|
548
549
|
* row-to-structure residue correspondence, computed outside the viewer
|
|
@@ -634,20 +635,21 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
634
635
|
clades: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Clade, Clade, Clade>>, [undefined]>;
|
|
635
636
|
/**
|
|
636
637
|
* #property
|
|
637
|
-
* what the viewer's own marks read from `rowData
|
|
638
|
-
* `{channel, field,
|
|
639
|
-
* `
|
|
638
|
+
* what the viewer's own marks read from `rowData` or the feature
|
|
639
|
+
* table: `{channel, field, range?, domain?, title?}` per channel. The
|
|
640
|
+
* earlier `scale: {palette}` and `scale: {map}` read as `range` and
|
|
641
|
+
* `domain`. See docs/layers.md
|
|
640
642
|
*/
|
|
641
|
-
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<Encoding, Encoding, Encoding>>, [undefined]>;
|
|
643
|
+
encodings: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").IType<Encoding, Encoding, Encoding>, Encoding | LegacyEncoding, import("@jbrowse/mobx-state-tree")._NotCustomized>>, [undefined]>;
|
|
642
644
|
/**
|
|
643
645
|
* #property
|
|
644
646
|
* panels drawn between the tree and the alignment:
|
|
645
|
-
* `{kind: "strip", field,
|
|
646
|
-
* per row from a `rowData` field, and
|
|
647
|
+
* `{kind: "strip", field, range?, domain?, title?, width?, header?}`
|
|
648
|
+
* colors one cell per row from a `rowData` field, and
|
|
647
649
|
* `{kind: "features", x, encoding?, transform?, width?, header?}`
|
|
648
650
|
* draws the spans the GFF carries. See docs/layers.md
|
|
649
651
|
*/
|
|
650
|
-
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<RowPanelSpec, RowPanelSpec, RowPanelSpec>>, [undefined]>;
|
|
652
|
+
rowPanels: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").ISnapshotProcessor<import("@jbrowse/mobx-state-tree").IType<RowPanelSpec, RowPanelSpec, RowPanelSpec>, LegacyRowPanel | RowPanelSpec, import("@jbrowse/mobx-state-tree")._NotCustomized>>, [undefined]>;
|
|
651
653
|
}, {
|
|
652
654
|
queueOfDialogs: [import("@jbrowse/core/util").DialogComponentType, any][];
|
|
653
655
|
} & {
|
|
@@ -739,7 +741,8 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
739
741
|
volatileWidth: number | undefined;
|
|
740
742
|
/**
|
|
741
743
|
* #volatile
|
|
742
|
-
*
|
|
744
|
+
* thickness of the dividers, between the tree and the alignment and under
|
|
745
|
+
* the view, px
|
|
743
746
|
*/
|
|
744
747
|
resizeHandleWidth: number;
|
|
745
748
|
/**
|
|
@@ -1998,7 +2001,7 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
1998
2001
|
/**
|
|
1999
2002
|
* #action
|
|
2000
2003
|
*/
|
|
2001
|
-
setColumnTracks(tracks: ColumnTrackSpec[]): void;
|
|
2004
|
+
setColumnTracks(tracks: (ColumnTrackSpec | LegacyColumnTrack)[]): void;
|
|
2002
2005
|
/**
|
|
2003
2006
|
* #action
|
|
2004
2007
|
* replace the row table, which the model keeps as the JSON string
|
|
@@ -2009,12 +2012,12 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
2009
2012
|
* #action
|
|
2010
2013
|
* replace what the viewer's marks read from the row table
|
|
2011
2014
|
*/
|
|
2012
|
-
setEncodings(encodings: Encoding[]): void;
|
|
2015
|
+
setEncodings(encodings: (Encoding | LegacyEncoding)[]): void;
|
|
2013
2016
|
/**
|
|
2014
2017
|
* #action
|
|
2015
2018
|
* replace the panels drawn between the tree and the alignment
|
|
2016
2019
|
*/
|
|
2017
|
-
setRowPanels(panels: RowPanelSpec[]): void;
|
|
2020
|
+
setRowPanels(panels: (RowPanelSpec | LegacyRowPanel)[]): void;
|
|
2018
2021
|
/**
|
|
2019
2022
|
* #action
|
|
2020
2023
|
* replace the alignment<->structure correspondence (see docs/layers.md)
|
|
@@ -2121,11 +2124,10 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
2121
2124
|
* the categorical color keys drawn for this view, shared by the on-screen
|
|
2122
2125
|
* legend overlay and the SVG export's reserved column. The domain overlay
|
|
2123
2126
|
* produces the first, listing the `featureFill` scale where an encoding
|
|
2124
|
-
* names one. Every
|
|
2125
|
-
* produces one more, so two channels
|
|
2126
|
-
*
|
|
2127
|
-
*
|
|
2128
|
-
* legend between them
|
|
2127
|
+
* names one. Every scale a row-table encoding or a row panel reads
|
|
2128
|
+
* produces one more, keyed by its declaration, so two channels or two
|
|
2129
|
+
* strips declaring one scale list it once, and strips over eight fields
|
|
2130
|
+
* naming one `title` list one legend between them
|
|
2129
2131
|
*/
|
|
2130
2132
|
readonly legends: Legend[];
|
|
2131
2133
|
/**
|
|
@@ -2256,6 +2258,21 @@ declare function stateModelFactory({ maxInlineSnapshotBytes, }?: {
|
|
|
2256
2258
|
* table or the encodings, never per row per frame.
|
|
2257
2259
|
*/
|
|
2258
2260
|
readonly resolvedEncodings: ResolvedEncoding[];
|
|
2261
|
+
/**
|
|
2262
|
+
* #getter
|
|
2263
|
+
* every color object the encodings and the row panels declare, keyed
|
|
2264
|
+
* by declaration (`declarationKey`) and resolved once over the union
|
|
2265
|
+
* of the values its records' fields take, so a value two strips share
|
|
2266
|
+
* takes one color in both. A feature field reads every feature loaded,
|
|
2267
|
+
* so hiding a type in the filter dialog leaves the rest in their
|
|
2268
|
+
* colors, and its legend lists the values of the drawn features.
|
|
2269
|
+
*/
|
|
2270
|
+
readonly resolvedScales: Map<string, SharedScale>;
|
|
2271
|
+
/**
|
|
2272
|
+
* #method
|
|
2273
|
+
* the shared scale a record's color object resolves to
|
|
2274
|
+
*/
|
|
2275
|
+
scaleOf(channel: ColorChannel, table: ScaleTable): SharedScale;
|
|
2259
2276
|
/**
|
|
2260
2277
|
* #getter
|
|
2261
2278
|
* each row panel's scale resolved against the values its field takes,
|