geneviewer-js 0.3.3 → 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.3 && git push origin main v0.3.3`.
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.3
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
- a9bde50f724c27eb1ef23fd14a664e6eef2a2bbd48354f516b68fa4c91088d9c geneviewer.core.js
1
+ 35f5c4c15d24671fd23c141f15537df7572c67eeb57bf7c2cd6b1dba55def09a geneviewer.core.js
2
2
  d96c80adea1ce9ebe5323e153e4f1e014816ef37d502c849741d68f7b3fa6575 geneviewer.css
3
3
  78b8e7230f617d026d719dd2a737235cff0dfd2eccea9a45c6a2f3dc8c79012b geneviewer.d.ts
4
- 720829b0804eee902aea98688ad96b1dc6bd177f276d974708996cddcab4d520 geneviewer.min.js
5
- 427fc223cb67e4b007638a429855ad6f16462e9300bdbd218c3ce0c28c68f91a geneviewer.min.js.map
6
- 4bb038edb53601af5bd34610b192cc6ae87cc67fd1c20dd19c99e8fbbdf62e5b geneviewer.mjs
7
- 5a1013558ff1cff7fa0b836a0b049449d94549475fe40ede0f5d90a0f6454e59 geneviewer.standalone.mjs
8
- b8fbfc2263e580c8778f41125f9ee5727f4ee357432e46913e79d87a75d1d0a3 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.3";
7337
+ var version = "0.3.4";
7330
7338
  var renderSequence = 0;
7331
7339
  var chartCount = 0;
7332
7340
  var activeShortcuts = null;
@@ -8644,26 +8652,29 @@ var geneviewer = (() => {
8644
8652
  redrawZoom(true);
8645
8653
  reportZoom("set");
8646
8654
  };
8647
- var draw = function() {
8655
+ var keepScroll = function(drawing) {
8648
8656
  var scrolled = [];
8649
8657
  for (var node = el.parentElement; node; node = node.parentElement) {
8650
8658
  if (node.scrollTop || node.scrollLeft) scrolled.push([node, node.scrollTop, node.scrollLeft]);
8651
8659
  }
8652
8660
  var page = el.ownerDocument.scrollingElement;
8653
- if (page && (page.scrollTop || page.scrollLeft) && !scrolled.some(function(s) {
8654
- return s[0] === page;
8661
+ if (page && !scrolled.some(function(item) {
8662
+ return item[0] === page;
8655
8663
  })) {
8656
8664
  scrolled.push([page, page.scrollTop, page.scrollLeft]);
8657
8665
  }
8658
8666
  try {
8659
- drawChart();
8667
+ drawing();
8660
8668
  } finally {
8661
- scrolled.forEach(function(s) {
8662
- if (s[0].scrollTop !== s[1]) s[0].scrollTop = s[1];
8663
- if (s[0].scrollLeft !== s[2]) s[0].scrollLeft = s[2];
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];
8664
8672
  });
8665
8673
  }
8666
8674
  };
8675
+ var draw = function() {
8676
+ keepScroll(drawChart);
8677
+ };
8667
8678
  var drawChart = function() {
8668
8679
  cancelDrag();
8669
8680
  zoomCharts = [];
@@ -8803,26 +8814,6 @@ var geneviewer = (() => {
8803
8814
  makeColorBar(graphContainer2, links2, theme2, legendColorBar !== null);
8804
8815
  clipZoomLinks();
8805
8816
  };
8806
- var keepScroll = function(drawing) {
8807
- var scrolled = [];
8808
- for (var node = el.parentElement; node; node = node.parentElement) {
8809
- if (node.scrollTop || node.scrollLeft) scrolled.push([node, node.scrollTop, node.scrollLeft]);
8810
- }
8811
- var page = document.scrollingElement;
8812
- if (page && !scrolled.some(function(item) {
8813
- return item[0] === page;
8814
- })) {
8815
- scrolled.push([page, page.scrollTop, page.scrollLeft]);
8816
- }
8817
- try {
8818
- drawing();
8819
- } finally {
8820
- scrolled.forEach(function(item) {
8821
- if (item[0].scrollTop !== item[1]) item[0].scrollTop = item[1];
8822
- if (item[0].scrollLeft !== item[2]) item[0].scrollLeft = item[2];
8823
- });
8824
- }
8825
- };
8826
8817
  var redraw = function() {
8827
8818
  var focused = zoomBar && zoomBar.contains(document.activeElement) ? document.activeElement.getAttribute("data-zoom-part") : null;
8828
8819
  keepScroll(function() {