Code split smarter to get port picking done first (#310)

This commit is contained in:
Paulus Schoutsen 2023-01-11 22:51:59 -05:00 committed by GitHub
parent 2d0af6c9d5
commit 47f9543831
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 9 deletions

View File

@ -1,7 +1,7 @@
import type { InstallButton } from "./install-button.js";
import "./install-dialog.js";
export const connect = async (button: InstallButton) => {
import("./install-dialog.js");
let port: SerialPort | undefined;
try {
port = await navigator.serial.requestPort();

View File

@ -1,5 +1,6 @@
import type { FlashState } from "./const";
import type { EwtInstallDialog } from "./install-dialog";
import { connect } from "./connect";
export class InstallButton extends HTMLElement {
public static isSupported = "serial" in navigator;
@ -74,10 +75,6 @@ export class InstallButton extends HTMLElement {
public overrides: EwtInstallDialog["overrides"];
public static preload() {
import("./connect");
}
public connectedCallback() {
if (this.renderRoot) {
return;
@ -95,14 +92,11 @@ export class InstallButton extends HTMLElement {
this.toggleAttribute("install-supported", true);
this.addEventListener("mouseover", InstallButton.preload);
const slot = document.createElement("slot");
slot.addEventListener("click", async (ev) => {
ev.preventDefault();
const mod = await import("./connect");
mod.connect(this);
connect(this);
});
slot.name = "activate";