3.1 KiB
dialog
The dialog module provides APIs to show native system dialogs, so web
applications can deliver the same user experience as 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 provide a BrowserWindow reference in the browserWindow parameter.
dialog.showOpenDialog([browserWindow], [options], [callback])
browserWindowBrowserWindowoptionsObjecttitleStringdefaultPathStringfiltersArraypropertiesArray - Contains which features the dialog should use, can containopenFile,openDirectory,multiSelectionsandcreateDirectory
callbackFunction
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 can not be both a file selector
and a directory selector, so if you set properties to
['openFile', 'openDirectory'] on these platforms, a directory selector will be shown.
dialog.showSaveDialog([browserWindow], [options], [callback])
browserWindowBrowserWindowoptionsObjecttitleStringdefaultPathStringfiltersArray
callbackFunction
On success, returns the path of the 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 will be asynchronous and the result
will be passed via callback(filename)
dialog.showMessageBox([browserWindow], options, [callback])
browserWindowBrowserWindowoptionsObjecttypeString - Can be"none","info"or"warning"buttonsArray - Array of texts for buttonstitleString - Title of the message box, some platforms will not show itmessageString - Content of the message boxdetailString - Extra information of the messageiconNativeImage
callbackFunction
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 will be asynchronous and the result
will 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.