Path: blob/main/replay/backend/menus/CommonActions.ts
1030 views
import { extname } from 'path';1import { dialog } from 'electron';2import Window from '../models/Window';34export const saveAs = async () => {5const { title, webContents } = Window.current.activeView;67const { canceled, filePath } = await dialog.showSaveDialog({8defaultPath: title,9filters: [10{ name: 'Webpage, Complete', extensions: ['html', 'htm'] },11{ name: 'Webpage, HTML Only', extensions: ['htm', 'html'] },12],13});1415if (canceled) return;1617const ext = extname(filePath);1819webContents.savePage(filePath, ext === '.htm' ? 'HTMLOnly' : 'HTMLComplete');20};2122export const viewSource = async () => {23// const window = Window.current;24// tabManager.createTab({ url: `view-source:${tabManager.selected.url}`, active: true }, true);25};2627export const printPage = () => {28const { webContents } = Window.current.activeView;29webContents.print();30};313233