Есть ли способ создать немодальный диалог в приложении Angular / Electron? - PullRequest
0 голосов
/ 25 января 2020

Есть ли способ создать немодальный диалог в приложении Angular / Electron?

Я смотрю на примеры ниже, и все они модальные:

https://material.angular.io/components/dialog/overview

Мне нужно иметь возможность открывать несколько windows одновременно и перемещать их. Но я не смог найти образцы для этого.

Спасибо.


РЕДАКТИРОВАТЬ 1:

Я пробовал следующее, но это как-то приводит меня к странице по умолчанию, index. html:

window.open('/app/shared/settings/user-preferences.html'); 

EDIT 2:

Я также попробовал следующее, но он не компилируется.

const { BrowserWindow } = require('electron'); //does not compile!!?
let win = new BrowserWindow({ width: 800, height: 600 });
win.on('closed', () => {
  win = null;
});

win.loadURL(`file://${__dirname}/app/shared/settings/user-preferences.html`);

Но это не компилируется и выдает мне сообщение об ошибке:

ERROR in ./node_modules/electron/index.js
Module not found: Error: Can't resolve 'fs' in 'C:\projects\...\MyApp\node_modules\electron'
ERROR in ./node_modules/electron/index.js
Module not found: Error: Can't resolve 'path' in 'C:\projects\...\MyApp\node_modules\electron'

1 Ответ

0 голосов
/ 28 января 2020

Вы можете использовать API window.open () , чтобы открыть новый экземпляр окна, предоставив URL-адрес, подобный этому, и использовать в нем контекст диалога:

window.open('https://www.angular.io', 'nameOfWindow');

Вот рабочий пример

EDIT1:

В отношении электронного API настроек вам также необходимо выполнить следующие действия :

Если вы хотите использовать встроенную в Chrome реализацию window.open (), установите для nativeWindowOpen значение true в объекте параметров webPreferences.

EDIT2:

В отношении локального файла вы можете сделать это:

window.open(`file://${__dirname}/app/shared/settings/user-preferences.html`, 'nameOfWindow')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...