Example #1
0
 r.onloadend = () => {
   const data = {
     name: sanitizeFilename(self.visState.title.toLowerCase().replace(/\s/g, '-')),
     image: r.result,
     format: 'png'
   };
   remote.dialog.showSaveDialog(
     remote.BrowserWindow.getAllWindows()[0],
     {
       title: 'Export to Image',
       defaultPath: sanitizeFilename(data.name + '.' + data.format)
     },
     (name: string) => {
       name && writeFileSync(name, arrayBufferToBuffer(data.image));
     }
   );
 };
Example #2
0
	buttonLabel: 'foo bar',
	filters: [
		{name: 'Images', extensions: ['jpg', 'png', 'gif']},
		{name: 'Movies', extensions: ['mkv', 'avi', 'mp4']},
		{name: 'Custom File Type', extensions: ['as']},
		{name: 'All Files', extensions: ['*']}
	],
	properties: ['openFile', 'openDirectory', 'multiSelections', 'showHiddenFiles', 'createDirectory', 'promptToCreate', 'noResolveAliases'],
	normalizeAccessKeys: true,
	message: 'foo message',
});

// showSaveDialog
// https://electron.atom.io/docs/api/dialog/#dialogshowsavedialogbrowserwindow-options-callback

remote.dialog.showSaveDialog(win);
remote.dialog.showSaveDialog(win, {}, fileNames => fileNames);
remote.dialog.showSaveDialog(win, {
	title: 'foo',
	defaultPath: '/bar',
	buttonLabel: 'foo bar',
	filters: [
		{name: 'Images', extensions: ['jpg', 'png', 'gif']},
		{name: 'Movies', extensions: ['mkv', 'avi', 'mp4']},
		{name: 'Custom File Type', extensions: ['as']},
		{name: 'All Files', extensions: ['*']}
	],
	message: 'foo message',
	nameFieldLabel: 'foo name',
	showsTagField: true
});