mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
attempt with dynamic import
This commit is contained in:
parent
a64138311e
commit
68b825f91e
2 changed files with 20 additions and 20 deletions
|
@ -31,8 +31,6 @@ import { AnimatedTrail } from "../animated-trail";
|
||||||
|
|
||||||
import { LassoWorkerPolyfill } from "./lasso-worker-polyfill";
|
import { LassoWorkerPolyfill } from "./lasso-worker-polyfill";
|
||||||
|
|
||||||
import { WorkerUrl } from "./lasso-worker";
|
|
||||||
|
|
||||||
import type App from "../components/App";
|
import type App from "../components/App";
|
||||||
import type { LassoWorkerInput, LassoWorkerOutput } from "./types";
|
import type { LassoWorkerInput, LassoWorkerOutput } from "./types";
|
||||||
|
|
||||||
|
@ -85,23 +83,27 @@ export class LassoTrail extends AnimatedTrail {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
if (!this.worker) {
|
||||||
if (typeof Worker !== "undefined" && WorkerUrl) {
|
try {
|
||||||
this.worker = new Worker(WorkerUrl, { type: "module" });
|
const { WorkerUrl } = await import("./lasso-worker.chunk");
|
||||||
} else {
|
|
||||||
this.worker = new LassoWorkerPolyfill();
|
if (typeof Worker !== "undefined" && WorkerUrl) {
|
||||||
|
this.worker = new Worker(WorkerUrl, { type: "module" });
|
||||||
|
} else {
|
||||||
|
this.worker = new LassoWorkerPolyfill();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.worker.onmessage = (event: MessageEvent<LassoWorkerOutput>) => {
|
||||||
|
const { selectedElementIds } = event.data;
|
||||||
|
this.selectElementsFromIds(selectedElementIds);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.worker.onerror = (error) => {
|
||||||
|
console.error("Worker error:", error);
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to start worker", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.worker.onmessage = (event: MessageEvent<LassoWorkerOutput>) => {
|
|
||||||
const { selectedElementIds } = event.data;
|
|
||||||
this.selectElementsFromIds(selectedElementIds);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.worker.onerror = (error) => {
|
|
||||||
console.error("Worker error:", error);
|
|
||||||
};
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Failed to start worker", error);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,7 +228,5 @@ export class LassoTrail extends AnimatedTrail {
|
||||||
this.app.setState({
|
this.app.setState({
|
||||||
lassoSelection: null,
|
lassoSelection: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.worker?.terminate();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue