Skip to content

Commit f867626

Browse files
committed
feat: allow to force a pan when opening package menu
1 parent 97ff85c commit f867626

File tree

3 files changed

+30
-20
lines changed

3 files changed

+30
-20
lines changed

public/components/bundlephobia/bundlephobia.js

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,16 @@ class Bundlephobia extends LitElement {
8686

8787
#bunldeTask = new Task(this, {
8888
task: async([name, version]) => {
89-
try {
90-
const {
91-
gzip, size, dependencySizes
92-
} = await getJSON(`/bundle/${this.#httpName(name)}/${version}`);
93-
const fullSize = dependencySizes.reduce((prev, curr) => prev + curr.approximateSize, 0);
94-
95-
return {
96-
gzip: prettyBytes(gzip),
97-
min: prettyBytes(size),
98-
full: prettyBytes(fullSize)
99-
};
100-
}
101-
catch {
102-
return null;
103-
}
89+
const {
90+
gzip, size, dependencySizes
91+
} = await getJSON(`/bundle/${this.#httpName(name)}/${version}`);
92+
const fullSize = dependencySizes.reduce((prev, curr) => prev + curr.approximateSize, 0);
93+
94+
return {
95+
gzip: prettyBytes(gzip),
96+
min: prettyBytes(size),
97+
full: prettyBytes(fullSize)
98+
};
10499
},
105100
args: () => [this.name, this.version]
106101
});

public/components/package/package.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import { EVENTS } from "../../core/events.js";
66

77
export class PackageInfo {
88
static DOMElementName = "package-info";
9+
/**
10+
* Used to force a specific menu to open when focusing a package in the network
11+
*/
12+
static ForcedPackageMenu = null;
913

1014
static close() {
1115
const domElement = document.getElementById(PackageInfo.DOMElementName);
@@ -78,9 +82,10 @@ export class PackageInfo {
7882
packageHTMLElement.appendChild(
7983
this.render()
8084
);
81-
this.enableNavigation(
82-
window.settings.config.defaultPackageMenu
83-
);
85+
86+
const menuToOpen = PackageInfo.ForcedPackageMenu ?? window.settings.config.defaultPackageMenu;
87+
this.enableNavigation(menuToOpen);
88+
PackageInfo.ForcedPackageMenu = null;
8489
packageHTMLElement.setAttribute("class", "slide-in");
8590

8691
if (window.settings.config.disableExternalRequests) {

public/components/views/home/home.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import * as utils from "../../../common/utils.js";
88
import "../../gauge/gauge.js";
99
import "../../expandable/expandable.js";
1010
import { EVENTS } from "../../../core/events.js";
11-
import { fetchScorecardData, getScorecardLink } from "../../../common/scorecard.js";
11+
import { PackageInfo } from "../../package/package.js";
12+
import {
13+
fetchScorecardData,
14+
getScorecardLink
15+
} from "../../../common/scorecard.js";
1216

1317
// Import Components
1418
import "./maintainers/maintainers.js";
@@ -210,7 +214,13 @@ export class HomeView {
210214
const element = this.renderPackage(dependency);
211215
element.addEventListener("click", () => {
212216
window.navigation.setNavByName("network--view");
213-
setTimeout(() => this.nsn.focusNodeByNameAndVersion(dependency.name, dependency.version), 25);
217+
setTimeout(() => {
218+
PackageInfo.ForcedPackageMenu = "dependencies";
219+
this.nsn.focusNodeByNameAndVersion(
220+
dependency.name,
221+
dependency.version
222+
);
223+
}, 25);
214224
});
215225
if (hideItems && id >= maxPackages) {
216226
element.classList.add("hidden");

0 commit comments

Comments
 (0)