react-msaview 8.4.1 → 9.0.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 +66 -66
- package/bundle/index.js.map +4 -4
- package/dist/components/MSAView.js +2 -2
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +1 -3
- package/dist/components/MSAViewer.js +1 -2
- package/dist/components/MSAViewer.js.map +1 -1
- package/dist/components/ResizeHandles.js +1 -1
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/Track.js +1 -1
- package/dist/components/Track.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +2 -2
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/header/settingsMenuItems.js +4 -1
- package/dist/components/header/settingsMenuItems.js.map +1 -1
- package/dist/components/tree/CladeLabels.js +3 -3
- package/dist/components/tree/CladeLabels.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +4 -4
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +4 -4
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeOverview.js +10 -5
- package/dist/components/tree/TreeOverview.js.map +1 -1
- package/dist/components/tree/TreePanel.js +6 -2
- package/dist/components/tree/TreePanel.js.map +1 -1
- package/dist/components/tree/TreeRuler.js +2 -2
- package/dist/components/tree/TreeRuler.js.map +1 -1
- package/dist/components/tree/cladeBrackets.d.ts +8 -10
- package/dist/components/tree/cladeBrackets.js +7 -6
- package/dist/components/tree/cladeBrackets.js.map +1 -1
- package/dist/components/tree/clickMap.d.ts +2 -0
- package/dist/components/tree/clickMap.js.map +1 -1
- package/dist/components/tree/ellipsize.d.ts +8 -0
- package/dist/components/tree/ellipsize.js +20 -0
- package/dist/components/tree/ellipsize.js.map +1 -0
- package/dist/components/tree/renderTreeCanvas.js +30 -26
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/tree/renderTreeMouseover.js +1 -1
- package/dist/components/tree/renderTreeMouseover.js.map +1 -1
- package/dist/constants.d.ts +6 -3
- package/dist/constants.js +16 -6
- package/dist/constants.js.map +1 -1
- package/dist/measureTextCanvas.js +2 -2
- package/dist/measureTextCanvas.js.map +1 -1
- package/dist/model/treeModel.d.ts +14 -20
- package/dist/model/treeModel.js +16 -23
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +72 -37
- package/dist/model.js +108 -100
- package/dist/model.js.map +1 -1
- package/dist/renderToSvg.js +24 -22
- package/dist/renderToSvg.js.map +1 -1
- package/dist/svgTestUtil.d.ts +36 -28
- package/dist/tipLabels.d.ts +8 -0
- package/dist/tipLabels.js +46 -0
- package/dist/tipLabels.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/src/components/MSAView.tsx +2 -2
- package/src/components/MSAViewer.tsx +1 -5
- package/src/components/ResizeHandles.tsx +1 -1
- package/src/components/Track.tsx +1 -1
- package/src/components/dialogs/ExportSVGDialog.tsx +2 -2
- package/src/components/header/settingsMenuItems.ts +8 -0
- package/src/components/tree/CladeLabels.tsx +3 -3
- package/src/components/tree/TreeCanvas.tsx +10 -4
- package/src/components/tree/TreeCanvasBlock.tsx +4 -4
- package/src/components/tree/TreeOverview.tsx +10 -5
- package/src/components/tree/TreePanel.tsx +8 -2
- package/src/components/tree/TreeRuler.tsx +7 -3
- package/src/components/tree/cladeBrackets.ts +10 -17
- package/src/components/tree/clickMap.ts +2 -0
- package/src/components/tree/ellipsize.ts +24 -0
- package/src/components/tree/renderTreeCanvas.ts +42 -30
- package/src/components/tree/renderTreeMouseover.ts +1 -1
- package/src/constants.ts +17 -6
- package/src/measureTextCanvas.ts +2 -2
- package/src/model/treeModel.ts +17 -27
- package/src/model.ts +129 -124
- package/src/renderToSvg.tsx +24 -22
- package/src/tipLabels.ts +51 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const ellipsis = '…';
|
|
2
|
+
/**
|
|
3
|
+
* the longest prefix of `text`, plus an ellipsis, that measures at most
|
|
4
|
+
* `room` px
|
|
5
|
+
*/
|
|
6
|
+
export function ellipsize(measure, text, room) {
|
|
7
|
+
const width = measure(text);
|
|
8
|
+
if (width <= room) {
|
|
9
|
+
return { text, width };
|
|
10
|
+
}
|
|
11
|
+
for (let n = Math.floor((text.length * room) / width); n > 0; n--) {
|
|
12
|
+
const truncated = text.slice(0, n).trimEnd() + ellipsis;
|
|
13
|
+
const truncatedWidth = measure(truncated);
|
|
14
|
+
if (truncatedWidth <= room) {
|
|
15
|
+
return { text: truncated, width: truncatedWidth };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return { text: '', width: 0 };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ellipsize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.js","sourceRoot":"","sources":["../../../src/components/tree/ellipsize.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,GAAG,CAAA;AAEpB;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,OAAiC,EACjC,IAAY,EACZ,IAAY;IAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAA;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;QACnD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAC/B,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { getVisibleLeaves } from '../getVisibleLeaves.js';
|
|
|
4
4
|
import { drawHighlightLabel, highlightLabelHeight, highlightRowFill, } from '../msa/renderHighlights.js';
|
|
5
5
|
import { referenceColor } from '../overlayColors.js';
|
|
6
6
|
import { bracketBarWidth, bracketGap } from './cladeBrackets.js';
|
|
7
|
+
import { ellipsize } from './ellipsize.js';
|
|
7
8
|
const radius = 2.5;
|
|
8
9
|
const d = radius * 2;
|
|
9
10
|
// How far outside a block a node's row-center can sit and still draw into it: a
|
|
@@ -219,7 +220,8 @@ function renderNodeLabels({ ctx, theme, offsetY, model, tipX, maxDepthToLeaf, bl
|
|
|
219
220
|
setFontSize(ctx, fontSize);
|
|
220
221
|
}
|
|
221
222
|
function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, tipX, maxDepthToLeaf, blockSizeYOverride, collapsedSet, }) {
|
|
222
|
-
const { fontSize, showBranchLenEffective: showBranchLen, tipLabelColors, blockSize, labelsAlignRight, drawTree, treeAreaWidthMinusMargin, marginLeft, noTree,
|
|
223
|
+
const { fontSize, showBranchLenEffective: showBranchLen, tipLabelColors, blockSize, labelsAlignRight, drawTree, treeAreaWidthMinusMargin, marginLeft, noTree, } = model;
|
|
224
|
+
const treeDrawn = drawTree && !noTree;
|
|
223
225
|
const by = blockSizeYOverride ?? blockSize;
|
|
224
226
|
// labels only exist for leaves, which are laid out top to bottom, so take the
|
|
225
227
|
// same slice the MSA renderer uses instead of walking every tip per block
|
|
@@ -245,19 +247,18 @@ function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, tipX, maxDepth
|
|
|
245
247
|
// fontSize/4 below the row center, the baseline the alignment letters
|
|
246
248
|
// share
|
|
247
249
|
const yp = y + fontSize / 4;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
const
|
|
254
|
-
? ctx.measureText(displayName).width
|
|
255
|
-
: measured * labelWidthScale;
|
|
250
|
+
const xp = treeDrawn
|
|
251
|
+
? (getNodeX(node, showBranchLen, tipX, maxDepthToLeaf) ?? 0)
|
|
252
|
+
: 0;
|
|
253
|
+
const fit = (room) => ellipsize(text => ctx.measureText(text).width, displayName, room);
|
|
254
|
+
// a label cut to nothing still gets a click box the font size wide
|
|
255
|
+
const boxWidth = (width) => Math.max(width, fontSize);
|
|
256
256
|
ctx.fillStyle = tipLabelColors?.get(name) ?? theme.palette.text.primary;
|
|
257
257
|
if (labelsAlignRight) {
|
|
258
258
|
const smallPadding = 2;
|
|
259
259
|
const offset = treeAreaWidthMinusMargin - smallPadding;
|
|
260
|
-
|
|
260
|
+
const { text, width } = fit(offset - (treeDrawn ? xp + radius + 2 + smallPadding : 0));
|
|
261
|
+
if (treeDrawn) {
|
|
261
262
|
// beginPath is load-bearing: without it every leader line re-strokes
|
|
262
263
|
// all the ones before it, which is quadratic in the label count
|
|
263
264
|
ctx.beginPath();
|
|
@@ -265,29 +266,32 @@ function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, tipX, maxDepth
|
|
|
265
266
|
ctx.lineTo(offset - smallPadding - width, y);
|
|
266
267
|
ctx.stroke();
|
|
267
268
|
}
|
|
268
|
-
ctx.fillText(
|
|
269
|
+
ctx.fillText(text, offset, yp);
|
|
269
270
|
// everything here is drawn under translate(marginLeft), so the click box
|
|
270
271
|
// has to be the text's own right edge in that same space -- taking
|
|
271
|
-
//
|
|
272
|
+
// the tree area width instead put the target smallPadding off the label
|
|
272
273
|
const labelRight = offset + marginLeft;
|
|
273
274
|
clickMap?.insert({
|
|
274
|
-
minX: labelRight - width,
|
|
275
|
+
minX: labelRight - boxWidth(width),
|
|
275
276
|
maxX: labelRight,
|
|
276
277
|
minY: yp - emHeight,
|
|
277
278
|
maxY: yp,
|
|
278
279
|
name,
|
|
280
|
+
label: displayName,
|
|
279
281
|
id,
|
|
280
282
|
});
|
|
281
283
|
}
|
|
282
284
|
else {
|
|
283
|
-
const labelX =
|
|
284
|
-
|
|
285
|
+
const labelX = treeDrawn ? xp + d : 2;
|
|
286
|
+
const { text, width } = fit(treeAreaWidthMinusMargin - labelX);
|
|
287
|
+
ctx.fillText(text, labelX, yp);
|
|
285
288
|
clickMap?.insert({
|
|
286
289
|
minX: labelX + marginLeft,
|
|
287
|
-
maxX: labelX + width + marginLeft,
|
|
290
|
+
maxX: labelX + boxWidth(width) + marginLeft,
|
|
288
291
|
minY: yp - emHeight,
|
|
289
292
|
maxY: yp,
|
|
290
293
|
name,
|
|
294
|
+
label: displayName,
|
|
291
295
|
id,
|
|
292
296
|
});
|
|
293
297
|
}
|
|
@@ -312,9 +316,9 @@ function firstRow(rowIndices) {
|
|
|
312
316
|
// branches. A clade spanning hundreds of rows crosses several blocks, so each
|
|
313
317
|
// block draws the whole rectangle and the canvas takes the part that is its.
|
|
314
318
|
function renderCladeHighlights({ ctx, model, offsetY, tipX, maxDepthToLeaf, blockSizeYOverride, }) {
|
|
315
|
-
const { resolvedClades, hierarchy, showBranchLenEffective: showBranchLen, rowHeight,
|
|
319
|
+
const { resolvedClades, hierarchy, showBranchLenEffective: showBranchLen, rowHeight, effectiveTreeAreaWidth, marginLeft, blockSize, } = model;
|
|
316
320
|
const by = blockSizeYOverride ?? blockSize;
|
|
317
|
-
const right =
|
|
321
|
+
const right = effectiveTreeAreaWidth - marginLeft;
|
|
318
322
|
for (const { rows, color, mark } of resolvedClades) {
|
|
319
323
|
if (mark !== 'highlight') {
|
|
320
324
|
continue;
|
|
@@ -334,12 +338,12 @@ function renderCladeHighlights({ ctx, model, offsetY, tipX, maxDepthToLeaf, bloc
|
|
|
334
338
|
// right of the tree area. The label beside it is DOM text on screen and a
|
|
335
339
|
// <text> in the export, since the canvas layer has no rotation.
|
|
336
340
|
function renderCladeBrackets({ ctx, model, theme, offsetY, blockSizeYOverride, }) {
|
|
337
|
-
const { resolvedClades, cladeGutterWidth, rowHeight,
|
|
341
|
+
const { resolvedClades, cladeGutterWidth, rowHeight, effectiveTreeAreaWidth, marginLeft, blockSize, } = model;
|
|
338
342
|
if (cladeGutterWidth === 0) {
|
|
339
343
|
return;
|
|
340
344
|
}
|
|
341
345
|
const by = blockSizeYOverride ?? blockSize;
|
|
342
|
-
const x =
|
|
346
|
+
const x = effectiveTreeAreaWidth -
|
|
343
347
|
marginLeft -
|
|
344
348
|
cladeGutterWidth +
|
|
345
349
|
bracketGap +
|
|
@@ -364,12 +368,12 @@ function renderCladeBrackets({ ctx, model, theme, offsetY, blockSizeYOverride, }
|
|
|
364
368
|
// washed across the tree area under the labels, with each set's label in the
|
|
365
369
|
// gutter at its first row
|
|
366
370
|
function renderRowHighlights({ ctx, model, theme, offsetY, blockSizeYOverride, }) {
|
|
367
|
-
const { resolvedHighlights, rowTints, referenceRowIndex, rowHeight,
|
|
371
|
+
const { resolvedHighlights, rowTints, referenceRowIndex, rowHeight, effectiveTreeAreaWidth, marginLeft, blockSize, } = model;
|
|
368
372
|
const by = blockSizeYOverride ?? blockSize;
|
|
369
373
|
const pad = blockPad(model);
|
|
370
374
|
const placed = [];
|
|
371
375
|
const fillRow = (index) => {
|
|
372
|
-
ctx.fillRect(-marginLeft, index * rowHeight,
|
|
376
|
+
ctx.fillRect(-marginLeft, index * rowHeight, effectiveTreeAreaWidth, rowHeight);
|
|
373
377
|
};
|
|
374
378
|
if (rowTints) {
|
|
375
379
|
const top = Math.max(0, Math.floor((offsetY - pad) / rowHeight));
|
|
@@ -403,8 +407,8 @@ function renderRowHighlights({ ctx, model, theme, offsetY, blockSizeYOverride, }
|
|
|
403
407
|
label,
|
|
404
408
|
x: -marginLeft + 2,
|
|
405
409
|
y: first * rowHeight,
|
|
406
|
-
spanWidth:
|
|
407
|
-
bounds: { min: -marginLeft, max:
|
|
410
|
+
spanWidth: effectiveTreeAreaWidth,
|
|
411
|
+
bounds: { min: -marginLeft, max: effectiveTreeAreaWidth - marginLeft },
|
|
408
412
|
placed,
|
|
409
413
|
});
|
|
410
414
|
}
|
|
@@ -424,13 +428,13 @@ export function renderTreeCanvas({ model, clickMap, ctx, offsetY, theme, highRes
|
|
|
424
428
|
setFontSize(ctx, fontSize);
|
|
425
429
|
// memoized on the model and shared across the tree/bubble/label passes (and
|
|
426
430
|
// across all tree blocks) rather than re-traversing the hierarchy in each
|
|
427
|
-
const { maxBranchLength, maxDepthToLeaf, showBranchLenEffective,
|
|
431
|
+
const { maxBranchLength, maxDepthToLeaf, showBranchLenEffective, effectiveTreeWidth, } = model;
|
|
428
432
|
// pixel x of the tips. A phylogram scales branch lengths so the longest
|
|
429
433
|
// root-to-tip path lands at maxBranchLength; a cladogram ignores lengths and
|
|
430
434
|
// spreads topological depth across the whole tree area instead. Reusing
|
|
431
435
|
// maxBranchLength for the cladogram would pin every node to x=0 for a tree
|
|
432
436
|
// with no branch lengths -- which is exactly what forces cladogram mode.
|
|
433
|
-
const tipX = showBranchLenEffective ? maxBranchLength :
|
|
437
|
+
const tipX = showBranchLenEffective ? maxBranchLength : effectiveTreeWidth;
|
|
434
438
|
// built once for all three passes: each of them asks about a different node on
|
|
435
439
|
// every block of every redraw, and `collapsed` is a list
|
|
436
440
|
const collapsedSet = new Set(model.collapsed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeCanvas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeCanvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { treeHoverColor } from '../overlayColors.js';
|
|
2
2
|
export function renderTreeMouseover({ ctx, model, }) {
|
|
3
|
-
const { rowHeight,
|
|
3
|
+
const { rowHeight, effectiveTreeAreaWidth: width, height, scrollY, mouseRow, referenceRowIndex, hoveredRowIndices, highResScaleFactor, } = model;
|
|
4
4
|
ctx.resetTransform();
|
|
5
5
|
ctx.clearRect(0, 0, width * highResScaleFactor, height * highResScaleFactor);
|
|
6
6
|
ctx.scale(highResScaleFactor, highResScaleFactor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTreeMouseover.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeMouseover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,UAAU,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,GAIN;IACC,MAAM,EACJ,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"renderTreeMouseover.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeMouseover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,UAAU,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,GAIN;IACC,MAAM,EACJ,SAAS,EACT,sBAAsB,EAAE,KAAK,EAC7B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,GAAG,KAAK,CAAA;IACT,GAAG,CAAC,cAAc,EAAE,CAAA;IACpB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAA;IAC5E,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC,CAAA;IAED,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IACD,IACE,QAAQ,KAAK,SAAS;QACtB,QAAQ,KAAK,iBAAiB;QAC9B,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACrC,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;AACH,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -22,7 +22,8 @@ export declare const defaultScrollZoomAxis: ScrollZoomAxis;
|
|
|
22
22
|
export declare const minLetterRowHeight = 8;
|
|
23
23
|
export declare const minLetterColWidth = 5;
|
|
24
24
|
export declare const minFeatureLabelHeight = 9;
|
|
25
|
-
export declare
|
|
25
|
+
export declare function fontSizeFor(rowHeight: number): number;
|
|
26
|
+
export declare const labelFitFontSize: number;
|
|
26
27
|
export declare const minColWidth = 0.2;
|
|
27
28
|
export declare const minRowHeight = 1;
|
|
28
29
|
export declare const maxCellSize = 80;
|
|
@@ -31,8 +32,10 @@ export declare const defaultColorSchemeName = "maeditor";
|
|
|
31
32
|
export declare const defaultShowColumnStats = true;
|
|
32
33
|
export declare const defaultDrawLabels = true;
|
|
33
34
|
export declare const defaultLabelsAlignRight = false;
|
|
34
|
-
export declare const
|
|
35
|
-
export declare const
|
|
35
|
+
export declare const minTreeWidth = 70;
|
|
36
|
+
export declare const maxFitTreeWidth = 160;
|
|
37
|
+
export declare const pxPerTreeDepth = 10;
|
|
38
|
+
export declare const maxTreeAreaShare = 0.3;
|
|
36
39
|
export declare const defaultShowBranchLen = true;
|
|
37
40
|
export declare const treeOrders: readonly ["branchLength", "input", "ladderize", "ladderizeReverse"];
|
|
38
41
|
export declare const defaultTreeOrder: TreeOrder;
|
package/dist/constants.js
CHANGED
|
@@ -46,9 +46,13 @@ export const minLetterColWidth = 5;
|
|
|
46
46
|
// so a span shorter than this holds no readable text: an underline bar, a
|
|
47
47
|
// sub-row band or a features panel over small rows
|
|
48
48
|
export const minFeatureLabelHeight = 9;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
export function fontSizeFor(rowHeight) {
|
|
50
|
+
return Math.min(Math.max(6, rowHeight - 3), 18);
|
|
51
|
+
}
|
|
52
|
+
// The fitted tree area measures the tip labels and the clade labels at the
|
|
53
|
+
// font a default row draws, so a vertical zoom leaves the alignment in place.
|
|
54
|
+
// A larger font ellipsizes the labels.
|
|
55
|
+
export const labelFitFontSize = fontSizeFor(defaultRowHeight);
|
|
52
56
|
// Zoom limits, px per cell. maxCellSize caps both smooth zoom and the stepwise
|
|
53
57
|
// zoom-in buttons (which otherwise grow unbounded). minColWidth/minRowHeight are
|
|
54
58
|
// the smooth-zoom floors.
|
|
@@ -62,8 +66,14 @@ export const defaultShowColumnStats = true;
|
|
|
62
66
|
// Tree model defaults
|
|
63
67
|
export const defaultDrawLabels = true;
|
|
64
68
|
export const defaultLabelsAlignRight = false;
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
// The fitted tree area gives the tree pxPerTreeDepth per level of its depth,
|
|
70
|
+
// between minTreeWidth and maxFitTreeWidth, beside the widest label, and takes
|
|
71
|
+
// at most maxTreeAreaShare of a view with an alignment. Where the share binds,
|
|
72
|
+
// the tree keeps minTreeWidth and the labels ellipsize.
|
|
73
|
+
export const minTreeWidth = 70;
|
|
74
|
+
export const maxFitTreeWidth = 160;
|
|
75
|
+
export const pxPerTreeDepth = 10;
|
|
76
|
+
export const maxTreeAreaShare = 0.3;
|
|
67
77
|
export const defaultShowBranchLen = true;
|
|
68
78
|
export const treeOrders = [
|
|
69
79
|
'branchLength',
|
|
@@ -80,7 +90,7 @@ export const defaultOverviewHeight = 120;
|
|
|
80
90
|
// Neighbor joining does not run above this many rows. The distance matrix is
|
|
81
91
|
// O(n^2*L) and the join loop O(n^3), both on the main thread with no progress
|
|
82
92
|
// and no cancel: 400 rows measured 1.5s, 800 rows 10s, and 1600 would be about
|
|
83
|
-
// seventy. See agent-docs/
|
|
93
|
+
// seventy. See agent-docs/reference/neighbor-joining-scaling.md.
|
|
84
94
|
export const maxNeighborJoiningRows = 500;
|
|
85
95
|
// The opacity a `rowTint` encoding draws its scale's color at, so the residues
|
|
86
96
|
// under the wash stay readable. A color the producer already gave an alpha
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,0EAA0E;AAC1E,2BAA2B;AAC3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAEtC,yEAAyE;AACzE,8EAA8E;AAC9E,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,MAAM;IACN,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,KAAK;IACL,QAAQ;CACT,CAAC,CAAA;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAEtC,gFAAgF;AAChF,yEAAyE;AACzE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAU,CAAA;AAEzE,MAAM,CAAC,MAAM,qBAAqB,GAAmB,MAAM,CAAA;AAE3D,8EAA8E;AAC9E,2EAA2E;AAC3E,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC,+EAA+E;AAC/E,0EAA0E;AAC1E,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAEtC,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { setFontSize } from './setFontSize.js';
|
|
2
|
-
// Cached across calls
|
|
3
|
-
//
|
|
2
|
+
// Cached across calls, since both createElement and getContext are far more
|
|
3
|
+
// expensive than measureText.
|
|
4
4
|
// `null` records that this environment has no 2d context, so the lookup is not
|
|
5
5
|
// retried on every label.
|
|
6
6
|
let ctxHandle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureTextCanvas.js","sourceRoot":"","sources":["../src/measureTextCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,
|
|
1
|
+
{"version":3,"file":"measureTextCanvas.js","sourceRoot":"","sources":["../src/measureTextCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,4EAA4E;AAC5E,8BAA8B;AAC9B,+EAA+E;AAC/E,0BAA0B;AAC1B,IAAI,SAAsD,CAAA;AAE1D,SAAS,MAAM;IACb,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS;YACP,OAAO,QAAQ,KAAK,WAAW;gBAC7B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAEnC,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,uBAAuB,CAAA;IACzD,CAAC;IACD,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;AACpC,CAAC"}
|
|
@@ -14,15 +14,18 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
14
14
|
labelsAlignRight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
15
15
|
/**
|
|
16
16
|
* #property
|
|
17
|
-
* width of the area the tree
|
|
17
|
+
* width of the area the tree and its labels draw in, px. Undefined fits
|
|
18
|
+
* the area to the labels and the tree; `effectiveTreeAreaWidth` reads
|
|
19
|
+
* the width either way
|
|
18
20
|
*/
|
|
19
|
-
treeAreaWidth: import("@jbrowse/mobx-state-tree").
|
|
21
|
+
treeAreaWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
20
22
|
/**
|
|
21
23
|
* #property
|
|
22
|
-
* width of the tree within the
|
|
23
|
-
*
|
|
24
|
+
* width of the tree within the tree area, px. Undefined gives the tree
|
|
25
|
+
* the area less the labels; `effectiveTreeWidth` reads the width either
|
|
26
|
+
* way
|
|
24
27
|
*/
|
|
25
|
-
treeWidth: import("@jbrowse/mobx-state-tree").
|
|
28
|
+
treeWidth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
|
|
26
29
|
/**
|
|
27
30
|
* #property
|
|
28
31
|
* use "branch length" e.g. evolutionary distance to draw tree branch
|
|
@@ -64,24 +67,19 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
64
67
|
* height of the tree overview band, px
|
|
65
68
|
*/
|
|
66
69
|
overviewHeight: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
|
|
67
|
-
/**
|
|
68
|
-
* #property
|
|
69
|
-
* auto-size treeAreaWidth to fit the row labels (plus the tree, if drawn)
|
|
70
|
-
* instead of using a fixed width. useful when there is no tree, so the
|
|
71
|
-
* label gutter isn't padded out to the default 400px
|
|
72
|
-
*/
|
|
73
|
-
autoTreeAreaWidth: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
74
70
|
}, {
|
|
75
71
|
/**
|
|
76
72
|
* #action
|
|
77
|
-
* set tree area width
|
|
73
|
+
* set the tree area width, px, or undefined to fit it to the labels and
|
|
74
|
+
* the tree. The tree then fills the area less the labels
|
|
78
75
|
*/
|
|
79
|
-
setTreeAreaWidth(n: number): void;
|
|
76
|
+
setTreeAreaWidth(n: number | undefined): void;
|
|
80
77
|
/**
|
|
81
78
|
* #action
|
|
82
|
-
* set tree width
|
|
79
|
+
* set the tree width, px, or undefined to fill the tree area less the
|
|
80
|
+
* labels
|
|
83
81
|
*/
|
|
84
|
-
setTreeWidth(n: number): void;
|
|
82
|
+
setTreeWidth(n: number | undefined): void;
|
|
85
83
|
/**
|
|
86
84
|
* #action
|
|
87
85
|
*/
|
|
@@ -90,10 +88,6 @@ export declare function TreeModelF(): import("@jbrowse/mobx-state-tree").IModelT
|
|
|
90
88
|
* #action
|
|
91
89
|
*/
|
|
92
90
|
setDrawTree(arg: boolean): void;
|
|
93
|
-
/**
|
|
94
|
-
* #action
|
|
95
|
-
*/
|
|
96
|
-
setAutoTreeAreaWidth(arg: boolean): void;
|
|
97
91
|
/**
|
|
98
92
|
* #action
|
|
99
93
|
*/
|
package/dist/model/treeModel.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { types } from '@jbrowse/mobx-state-tree';
|
|
2
|
-
import { defaultDrawLabels, defaultDrawNodeBubbles, defaultDrawNodeLabels, defaultDrawTree, defaultLabelsAlignRight, defaultOverviewHeight, defaultShowBranchLen, defaultTreeOrder, defaultShowTreeOverview,
|
|
2
|
+
import { defaultDrawLabels, defaultDrawNodeBubbles, defaultDrawNodeLabels, defaultDrawTree, defaultLabelsAlignRight, defaultOverviewHeight, defaultShowBranchLen, defaultTreeOrder, defaultShowTreeOverview, treeOrders, } from '../constants.js';
|
|
3
3
|
import { stripDefault } from '../stripDefault.js';
|
|
4
4
|
/**
|
|
5
5
|
* #stateModel Tree
|
|
@@ -18,15 +18,18 @@ export function TreeModelF() {
|
|
|
18
18
|
labelsAlignRight: stripDefault(types.boolean, defaultLabelsAlignRight),
|
|
19
19
|
/**
|
|
20
20
|
* #property
|
|
21
|
-
* width of the area the tree
|
|
21
|
+
* width of the area the tree and its labels draw in, px. Undefined fits
|
|
22
|
+
* the area to the labels and the tree; `effectiveTreeAreaWidth` reads
|
|
23
|
+
* the width either way
|
|
22
24
|
*/
|
|
23
|
-
treeAreaWidth:
|
|
25
|
+
treeAreaWidth: types.maybe(types.number),
|
|
24
26
|
/**
|
|
25
27
|
* #property
|
|
26
|
-
* width of the tree within the
|
|
27
|
-
*
|
|
28
|
+
* width of the tree within the tree area, px. Undefined gives the tree
|
|
29
|
+
* the area less the labels; `effectiveTreeWidth` reads the width either
|
|
30
|
+
* way
|
|
28
31
|
*/
|
|
29
|
-
treeWidth:
|
|
32
|
+
treeWidth: types.maybe(types.number),
|
|
30
33
|
/**
|
|
31
34
|
* #property
|
|
32
35
|
* use "branch length" e.g. evolutionary distance to draw tree branch
|
|
@@ -68,28 +71,24 @@ export function TreeModelF() {
|
|
|
68
71
|
* height of the tree overview band, px
|
|
69
72
|
*/
|
|
70
73
|
overviewHeight: stripDefault(types.number, defaultOverviewHeight),
|
|
71
|
-
/**
|
|
72
|
-
* #property
|
|
73
|
-
* auto-size treeAreaWidth to fit the row labels (plus the tree, if drawn)
|
|
74
|
-
* instead of using a fixed width. useful when there is no tree, so the
|
|
75
|
-
* label gutter isn't padded out to the default 400px
|
|
76
|
-
*/
|
|
77
|
-
autoTreeAreaWidth: stripDefault(types.boolean, false),
|
|
78
74
|
})
|
|
79
75
|
.actions(self => ({
|
|
80
76
|
/**
|
|
81
77
|
* #action
|
|
82
|
-
* set tree area width
|
|
78
|
+
* set the tree area width, px, or undefined to fit it to the labels and
|
|
79
|
+
* the tree. The tree then fills the area less the labels
|
|
83
80
|
*/
|
|
84
81
|
setTreeAreaWidth(n) {
|
|
85
|
-
self.treeAreaWidth = Math.round(n);
|
|
82
|
+
self.treeAreaWidth = n === undefined ? undefined : Math.round(n);
|
|
83
|
+
self.treeWidth = undefined;
|
|
86
84
|
},
|
|
87
85
|
/**
|
|
88
86
|
* #action
|
|
89
|
-
* set tree width
|
|
87
|
+
* set the tree width, px, or undefined to fill the tree area less the
|
|
88
|
+
* labels
|
|
90
89
|
*/
|
|
91
90
|
setTreeWidth(n) {
|
|
92
|
-
self.treeWidth = Math.round(n);
|
|
91
|
+
self.treeWidth = n === undefined ? undefined : Math.round(n);
|
|
93
92
|
},
|
|
94
93
|
/**
|
|
95
94
|
* #action
|
|
@@ -103,12 +102,6 @@ export function TreeModelF() {
|
|
|
103
102
|
setDrawTree(arg) {
|
|
104
103
|
self.drawTree = arg;
|
|
105
104
|
},
|
|
106
|
-
/**
|
|
107
|
-
* #action
|
|
108
|
-
*/
|
|
109
|
-
setAutoTreeAreaWidth(arg) {
|
|
110
|
-
self.autoTreeAreaWidth = arg;
|
|
111
|
-
},
|
|
112
105
|
/**
|
|
113
106
|
* #action
|
|
114
107
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeModel.js","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"treeModel.js","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"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"}
|