81 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.1 KiB
			
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
  <head>
 | 
						|
    <meta charset="UTF-8" />
 | 
						|
    <title>Error Dialog</title>
 | 
						|
  </head>
 | 
						|
 | 
						|
  <body>
 | 
						|
    <div>
 | 
						|
      <h1>Use system dialogs</h1>
 | 
						|
 | 
						|
      <h3>
 | 
						|
        The <code>dialog</code> module in Electron allows you to use native
 | 
						|
        system dialogs for opening files or directories, saving a file or
 | 
						|
        displaying informational messages.
 | 
						|
      </h3>
 | 
						|
 | 
						|
      <p>
 | 
						|
        This is a main process module because this process is more efficient
 | 
						|
        with native utilities and it allows the call to happen without
 | 
						|
        interrupting the visible elements in your page's renderer process.
 | 
						|
      </p>
 | 
						|
 | 
						|
      <p>
 | 
						|
        Open the
 | 
						|
        <a href="https://electronjs.org/docs/api/dialog/">
 | 
						|
          full API documentation (opens in new window)
 | 
						|
          </a>
 | 
						|
        in your browser.
 | 
						|
      </p>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div>
 | 
						|
      <div>
 | 
						|
        <h2>Error Dialog</h2>
 | 
						|
        <div>
 | 
						|
          <div>
 | 
						|
            <button id="error-dialog">View Demo</button>
 | 
						|
          </div>
 | 
						|
          <p>
 | 
						|
            In this demo, the <code>ipc</code> module is used to send a message
 | 
						|
            from the renderer process instructing the main process to launch the
 | 
						|
            error dialog.
 | 
						|
          </p>
 | 
						|
 | 
						|
          <p>
 | 
						|
            You can use an error dialog before the app's
 | 
						|
            <code>ready</code> event, which is useful for showing errors upon
 | 
						|
            startup.
 | 
						|
          </p>
 | 
						|
          <h5>Renderer Process</h5>
 | 
						|
          <pre>
 | 
						|
          <code>
 | 
						|
const {ipcRenderer} = require('electron')
 | 
						|
 | 
						|
const errorBtn = document.getElementById('error-dialog')
 | 
						|
 | 
						|
errorBtn.addEventListener('click', (event) => {
 | 
						|
  ipcRenderer.send('open-error-dialog')
 | 
						|
})
 | 
						|
          </code></pre>
 | 
						|
          <h5>Main Process</h5>
 | 
						|
          <pre>
 | 
						|
          <code>
 | 
						|
const {ipcMain, dialog} = require('electron')
 | 
						|
 | 
						|
ipcMain.on('open-error-dialog', (event) => {
 | 
						|
  dialog.showErrorBox('An Error Message', 'Demonstrating an error message.')
 | 
						|
})
 | 
						|
          </code>
 | 
						|
        </pre>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <script>
 | 
						|
      // You can also require other files to run in this process
 | 
						|
      require("./renderer.js");
 | 
						|
    </script>
 | 
						|
  </body>
 | 
						|
</html>
 |