Electron: кнопка с несколькими функциями?

#javascript #function #button #electron

#javascript #функция #кнопка #electron

Вопрос:

Я создал кнопку, которая переместит a browserWindow в определенную позицию на экране; однако я мог заставить ее работать только тогда, когда я использовал 2 отдельные кнопки: одну для перемещения окна и одну для его возврата на место. Я пытался превратить их в одну кнопку, которая будет открывать и закрывать окно.

Вот мой текущий код для 2 отдельных кнопок :

Main.js

 const {ipcMain} = require('electron');

  ipcMain.on('expClose', function(e,width, height) {
    globalThis.open;
    open = true;
   console.log(open); 
    if (open = true) {
      mainWindow.setPosition(width - 75, height - 450);
      console.log("chnages")
      open = false;
    };

    
  });
  
  ipcMain.on('expOpen', function(e,width, height) {
   console.log("Recieved 1")
   mainWindow.setPosition(width, height);
   open = true;
      
  });


 

Render.js

 let close = document.getElementById('expClose');
close.addEventListener('click', function(event){
  console.log("renderer");
 ipcRenderer.send('expClose',width, height);


});

let open = document.getElementById('expOpen');
open.addEventListener('click', function(event){
 ipcRenderer.send('expOpen',width - 500, height - 450);


});

 

Мои предыдущие попытки объединить это в одну кнопку должны были иметь переменную с именем open, которая будет установлена в 0 (или true) для open, затем 1 (или false) для closed, и каждый раз, когда нажимается кнопка, она будет чередоваться между этим значением и изменять текущее положение окна в зависимости отоднако установленное значение я не смог заставить это работать.

Как я могу объединить эти две кнопки в одну?

PS: журнал консоли был там только для того, чтобы убедиться, что код успешно передается между файлами.

Комментарии:

1. @Ali Shams Спасибо за редактирование, я пропустил эти вещи в своем перечитывании

2. Добро пожаловать, мой друг

3. Если у кого-нибудь возникнет тот же вопрос, что и у меня, в будущем попробуйте использовать кнопку типа флажка, в настоящее время я пытаюсь заставить это работать в моем проекте.