geneviewer-js 0.3.2 → 0.3.4

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/README.md CHANGED
@@ -192,7 +192,7 @@ Set `PORT` to use a port other than 4849.
192
192
 
193
193
  1. Bump `version` in `package.json` and `src/lib/chart.js` (`npm run check`
194
194
  compares them).
195
- 2. Commit, then tag and push: `git tag v0.3.2 && git push origin main v0.3.2`.
195
+ 2. Commit, then tag and push: `git tag v0.3.4 && git push origin main v0.3.4`.
196
196
 
197
197
  The publish workflow tests and builds, publishes to npm with provenance,
198
198
  and attaches `dist/` to a GitHub release.
@@ -204,7 +204,7 @@ repo and shipped inside the package, so users never download JavaScript
204
204
  separately. From the R repo, a maintainer pulls a release with:
205
205
 
206
206
  ```sh
207
- Rscript dev/update_js.R 0.3.2
207
+ Rscript dev/update_js.R 0.3.4
208
208
  ```
209
209
 
210
210
  It downloads `geneviewer.core.js`, `geneviewer.css`, `themes.json`, the
package/dist/SHA256SUMS CHANGED
@@ -1,11 +1,11 @@
1
- a2189b6979396309b4338d0c080667d3dc327874b7b1bc724519093ff5c0b992 geneviewer.core.js
1
+ 35f5c4c15d24671fd23c141f15537df7572c67eeb57bf7c2cd6b1dba55def09a geneviewer.core.js
2
2
  d96c80adea1ce9ebe5323e153e4f1e014816ef37d502c849741d68f7b3fa6575 geneviewer.css
3
3
  78b8e7230f617d026d719dd2a737235cff0dfd2eccea9a45c6a2f3dc8c79012b geneviewer.d.ts
4
- 3dc423bcc69d96ebf3b90d76514ad77fd933d4d32aecec7603831e7d7be37078 geneviewer.min.js
5
- 3d8ab4ba117d4e8d0dbaa81e3821eb89a43f2061b32d4bab1a9b472f48f60148 geneviewer.min.js.map
6
- 94fd03a9d11a866e5c2334bf78b5f8024d39e70075ec31387e3544ea4d858f91 geneviewer.mjs
7
- 99332f7fd0f9feae88ca01432a3747ab9fe24da4c7e80c1ac36dc607c1060518 geneviewer.standalone.mjs
8
- 47ddd606b7a6fdc1567f239e80e7c3ef6d885c64786fde1f8c42cf9aae625a21 geneviewer.standalone.mjs.map
9
- 6c10d97166d6ae208888b3c0ba2a9fa1301888e759a49f1761ee5c00843fddff geneviewerwidget.js
4
+ 73e70a79b430782b777b58c2f7f51121aa1302a993f1748874d0ff7a58b3f15e geneviewer.min.js
5
+ 0624f1db0911b27fe9fcb9295579094ec7478ed502e68c7280bd4c6d0c4b51b9 geneviewer.min.js.map
6
+ f0683bbcae0db31509d5429fb0d624b00ab36496f0df9ef2cdd2a04d5bb6fb7f geneviewer.mjs
7
+ e1bfea55a5c3a6fc7a3d718301b84c3317d75f61ceb723059de418729f1515aa geneviewer.standalone.mjs
8
+ 0be7d7f3913c2a68f2da752cce9a52382ecf884191e475d4e58dbd4a1e27b9f0 geneviewer.standalone.mjs.map
9
+ 3be7d90d7a81aaaa4f5cb9249e3209c654146c7ed3d18f3abb5899f592b09533 geneviewerwidget.js
10
10
  3d9a1611127c02a515da15b88c46f9da30e0f8ade676919e7502244aef4dd000 spec.d.ts
11
11
  65ebaa72b864ba74fabc06aa02d858a0a621e5579dadc0c5d9d7add1ba48f246 themes.json
@@ -3699,11 +3699,19 @@ var geneviewer = (() => {
3699
3699
  x.legend = { group, show: group !== null, width };
3700
3700
  x.legend.style = { width: "100%", backgroundColor: style.backgroundColor ?? null };
3701
3701
  x.saveButton = saveButton;
3702
- const clusters = cluster2 === null ? ["cluster"] : [...new Set(data.get(cluster2))];
3702
+ const clusterRows = /* @__PURE__ */ new Map();
3703
+ if (cluster2 !== null) {
3704
+ data.get(cluster2).forEach((name, i) => {
3705
+ const rows = clusterRows.get(name);
3706
+ if (rows) rows.push(i);
3707
+ else clusterRows.set(name, [i]);
3708
+ });
3709
+ }
3710
+ const clusters = cluster2 === null ? ["cluster"] : [...clusterRows.keys()];
3703
3711
  const blast = columnNames.includes("BlastP") && columnNames.includes("protein_id");
3704
3712
  const series = /* @__PURE__ */ new Map();
3705
3713
  for (const name of clusters) {
3706
- const subset = cluster2 === null ? data.copy() : data.filter((i) => data.get(cluster2)[i] === name);
3714
+ const subset = cluster2 === null ? data.copy() : data.rows(clusterRows.get(name));
3707
3715
  subset.set("cluster", name);
3708
3716
  const clusterHeight = typeof height === "string" && /%$/.test(height) ? computeSize2(height, clusters.length) : Number(getRelativeHeight(height, height)) / clusters.length;
3709
3717
  const starts = subset.get("start");
@@ -7326,7 +7334,7 @@ var geneviewer = (() => {
7326
7334
  }
7327
7335
 
7328
7336
  // src/lib/chart.js
7329
- var version = "0.3.2";
7337
+ var version = "0.3.4";
7330
7338
  var renderSequence = 0;
7331
7339
  var chartCount = 0;
7332
7340
  var activeShortcuts = null;
@@ -8644,7 +8652,30 @@ var geneviewer = (() => {
8644
8652
  redrawZoom(true);
8645
8653
  reportZoom("set");
8646
8654
  };
8655
+ var keepScroll = function(drawing) {
8656
+ var scrolled = [];
8657
+ for (var node = el.parentElement; node; node = node.parentElement) {
8658
+ if (node.scrollTop || node.scrollLeft) scrolled.push([node, node.scrollTop, node.scrollLeft]);
8659
+ }
8660
+ var page = el.ownerDocument.scrollingElement;
8661
+ if (page && !scrolled.some(function(item) {
8662
+ return item[0] === page;
8663
+ })) {
8664
+ scrolled.push([page, page.scrollTop, page.scrollLeft]);
8665
+ }
8666
+ try {
8667
+ drawing();
8668
+ } finally {
8669
+ scrolled.forEach(function(item) {
8670
+ if (item[0].scrollTop !== item[1]) item[0].scrollTop = item[1];
8671
+ if (item[0].scrollLeft !== item[2]) item[0].scrollLeft = item[2];
8672
+ });
8673
+ }
8674
+ };
8647
8675
  var draw = function() {
8676
+ keepScroll(drawChart);
8677
+ };
8678
+ var drawChart = function() {
8648
8679
  cancelDrag();
8649
8680
  zoomCharts = [];
8650
8681
  legendColorBar = null;
@@ -8783,26 +8814,6 @@ var geneviewer = (() => {
8783
8814
  makeColorBar(graphContainer2, links2, theme2, legendColorBar !== null);
8784
8815
  clipZoomLinks();
8785
8816
  };
8786
- var keepScroll = function(drawing) {
8787
- var scrolled = [];
8788
- for (var node = el.parentElement; node; node = node.parentElement) {
8789
- if (node.scrollTop || node.scrollLeft) scrolled.push([node, node.scrollTop, node.scrollLeft]);
8790
- }
8791
- var page = document.scrollingElement;
8792
- if (page && !scrolled.some(function(item) {
8793
- return item[0] === page;
8794
- })) {
8795
- scrolled.push([page, page.scrollTop, page.scrollLeft]);
8796
- }
8797
- try {
8798
- drawing();
8799
- } finally {
8800
- scrolled.forEach(function(item) {
8801
- if (item[0].scrollTop !== item[1]) item[0].scrollTop = item[1];
8802
- if (item[0].scrollLeft !== item[2]) item[0].scrollLeft = item[2];
8803
- });
8804
- }
8805
- };
8806
8817
  var redraw = function() {
8807
8818
  var focused = zoomBar && zoomBar.contains(document.activeElement) ? document.activeElement.getAttribute("data-zoom-part") : null;
8808
8819
  keepScroll(function() {