Files
DOSSIER-STANDALONE/src/io/dxfImportHook.ts
T
karim 359ce35737 Browser-BIM (cad): semantisches Modell, abgeleitete 2D/3D-Sichten, Zeichenwerkzeuge
Standalone-Browser-Port von DOSSIER. Enthaelt das semantische Modell mit
Plan-/3D-Ableitung, Zeichen- und Editierwerkzeuge, Rhino-artiges Befehlssystem,
dockbares Panel-System, Resource-Manager, DXF/.lin/.pat-Import, i18n (de/en)
sowie Projektdokumentation und Probe-Harness.
2026-06-30 20:52:27 +02:00

23 lines
854 B
TypeScript

// Kleiner Modul-Hook, der das (in App montierte) versteckte DXF-Datei-Input
// mit dem `import`-Befehl entkoppelt verbindet. App registriert beim Mount eine
// Trigger-Funktion (öffnet den Datei-Dialog); der Befehl ruft sie auf, ohne die
// Command-Engine an React/DOM zu koppeln. So bleibt der Import-Befehl additiv.
//
// Bewusst KEIN window-Global: ein Modul-Singleton genügt (eine App-Instanz).
//
// Bezeichner englisch, Kommentare deutsch (CONVENTIONS.md).
type DxfImportTrigger = () => void;
let trigger: DxfImportTrigger | null = null;
/** App registriert hier den Datei-Dialog-Öffner (oder hebt ihn beim Unmount auf). */
export function setDxfImportTrigger(fn: DxfImportTrigger | null): void {
trigger = fn;
}
/** Öffnet den DXF-Datei-Dialog, falls App ihn registriert hat. */
export function openDxfImport(): void {
trigger?.();
}