3.1 KiB
dialog
The dialog
module provides APIs to show native system dialogs, so web
applications can get the same user experience with native applications.
An example of showing a dialog to select multiple files and directories:
var win = ...; // window in which to show the dialog
var dialog = require('dialog');
console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', 'multiSelections' ]}));
Note for OS X: If you want to present dialogs as sheets, the only thing you have to do is to provide a BrowserWindow
reference in the browserWindow
parameter.
dialog.showOpenDialog([browserWindow], [options], [callback])
browserWindow
BrowserWindowoptions
Objecttitle
StringdefaultPath
Stringfilters
Arrayproperties
Array - Contains which features the dialog should use, can containopenFile
,openDirectory
,multiSelections
andcreateDirectory
callback
Function
On success, returns an array of file paths chosen by the user, otherwise
returns undefined
.
The filters
specifies an array of file types that can be displayed or
selected, an example is:
{
filters: [
{ name: 'Images', extensions: ['jpg', 'png', 'gif'] },
{ name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },
{ name: 'Custom File Type', extensions: ['as'] },
],
}
If a callback
is passed, the API call would be asynchronous and the result
would be passed via callback(filenames)
Note: On Windows and Linux, an open dialog could not be both file selector
and directory selector at the same time, so if you set properties
to
['openFile', 'openDirectory']
on these platforms, a directory selector would
be showed.
dialog.showSaveDialog([browserWindow], [options], [callback])
browserWindow
BrowserWindowoptions
Objecttitle
StringdefaultPath
Stringfilters
Array
callback
Function
On success, returns the path of file chosen by the user, otherwise returns
undefined
.
The filters
specifies an array of file types that can be displayed, see
dialog.showOpenDialog
for an example.
If a callback
is passed, the API call would be asynchronous and the result
would be passed via callback(filename)
dialog.showMessageBox([browserWindow], options, [callback])
browserWindow
BrowserWindowoptions
Objecttype
String - Can be"none"
,"info"
or"warning"
buttons
Array - Array of texts for buttonstitle
String - Title of the message box, some platforms will not show itmessage
String - Content of the message boxdetail
String - Extra information of the messageicon
NativeImage
callback
Function
Shows a message box, it will block until the message box is closed. It returns the index of the clicked button.
If a callback
is passed, the API call would be asynchronous and the result
would be passed via callback(response)
dialog.showErrorBox(title, content)
Runs a modal dialog that shows an error message.
This API can be called safely before the ready
event of app
module emits, it
is usually used to report errors in early stage of startup.