(file: string, title: string, viewer: string | boolean)
| 311 | } |
| 312 | |
| 313 | export async function showWebView(file: string, title: string, viewer: string | boolean): Promise<void> { |
| 314 | console.info(`[showWebView] file: ${file}, viewer: ${viewer.toString()}`); |
| 315 | if (viewer === false) { |
| 316 | void env.openExternal(Uri.file(file)); |
| 317 | } else { |
| 318 | const dir = path.dirname(file); |
| 319 | const webviewDir = extensionContext.asAbsolutePath('html/session/webview/'); |
| 320 | const panel = window.createWebviewPanel('webview', title, |
| 321 | { |
| 322 | preserveFocus: true, |
| 323 | viewColumn: ViewColumn[String(viewer) as keyof typeof ViewColumn], |
| 324 | }, |
| 325 | { |
| 326 | enableScripts: true, |
| 327 | enableFindWidget: true, |
| 328 | retainContextWhenHidden: true, |
| 329 | localResourceRoots: [Uri.file(dir), Uri.file(webviewDir)], |
| 330 | }); |
| 331 | panel.iconPath = new UriIcon('globe'); |
| 332 | panel.webview.html = await getWebviewHtml(panel.webview, file, title, dir, webviewDir); |
| 333 | } |
| 334 | console.info('[showWebView] Done'); |
| 335 | } |
| 336 | |
| 337 | export async function showDataView(source: string, type: string, title: string, file: string, viewer: string): Promise<void> { |
| 338 | console.info(`[showDataView] source: ${source}, type: ${type}, title: ${title}, file: ${file}, viewer: ${viewer}`); |
no test coverage detected