Integrate flyfish CAD viewer
This commit is contained in:
+9
-12
@@ -68,11 +68,6 @@ export function initApp(): void {
|
||||
bindGlobalEvents()
|
||||
void refreshRecent()
|
||||
handleLaunchQueue()
|
||||
window.setTimeout(() => {
|
||||
void import('../cad/loader')
|
||||
.then((module) => module.preloadDwgEngine())
|
||||
.catch(() => {})
|
||||
}, 300)
|
||||
;(window as unknown as { __phoneViewerBack?: () => boolean }).__phoneViewerBack = () => {
|
||||
const modalClose = document.querySelector<HTMLButtonElement>('.modal-backdrop.show .modal-close')
|
||||
if (modalClose) {
|
||||
@@ -286,14 +281,16 @@ async function openFile(file: File): Promise<void> {
|
||||
let createdViewer: ActiveViewer | null = null
|
||||
try {
|
||||
if (target === 'cad') {
|
||||
const { loadDwg } = await import('../cad/loader')
|
||||
const doc = await loadDwg(file, (message) => host?.setLoaderMessage(message, file.name))
|
||||
if (token !== openToken) return
|
||||
const { CadViewer } = await import('../cad/cadViewer')
|
||||
createdViewer = new CadViewer(host!, doc, { onBack: () => closeActiveViewer() })
|
||||
activeViewer = createdViewer
|
||||
const { FlyfishCadViewer } = await import('../cad/flyfishViewer')
|
||||
const viewer = new FlyfishCadViewer(host!, file, { onBack: () => closeActiveViewer() })
|
||||
createdViewer = viewer
|
||||
await viewer.load()
|
||||
if (token !== openToken) {
|
||||
viewer.destroy()
|
||||
return
|
||||
}
|
||||
activeViewer = viewer
|
||||
host?.hideLoader()
|
||||
if (doc.warnings.length) toast(doc.warnings[0], 'info', 5000)
|
||||
} else {
|
||||
const [{ loadMuPDF }, { DocViewer }] = await Promise.all([
|
||||
import('../doc/mupdfLoader'),
|
||||
|
||||
Reference in New Issue
Block a user