addEventListener на панели - PullRequest
       11

addEventListener на панели

0 голосов
/ 01 февраля 2019

У меня есть сценарий использования, когда мне нужно программно добавить / удалить событие onClick, связанное с панелью.

Я пробовал следующее решение, но получаю ошибку cijCell.addEventListener is not a function.

function cij_enabled(){
  var cijCell = app.pages.Home.descendants.cellFour;
  var index = cijCell.styles.indexOf('disabled-card');

  if (Report.riskOfLoss === 'High') {
    cijCell.styles.splice(index, 1);
    cijCell.addEventListener("click", function() {
      app.popups.Customer.visible = true;      
    });
  } else {
    if (index === -1){
      cijCell.styles.push('disabled-card'); 
      cijCell.removeEventListener("click", function() {
      app.popups.Customer.visible = true;      
    });
    }
  }
}

Как мне достичь желаемого результата?Возможно ли добавление обработчиков событий таким способом через производителя приложений?

1 Ответ

0 голосов
/ 01 февраля 2019

Вы определенно можете сделать это, и вы поняли это почти правильно.Единственное, что вам нужно понять, это то, что виджет appmaker не является нативным HTML-элементом, поэтому возникает ошибка:

cijCell.addEventListener не является функцией

К счастью, AppMakerесть способ получить нативные HTML-элементы, связанные с виджетом.Вам нужно использовать метод getElement(), а затем вы можете использовать методы добавления / удаления прослушивателей событий.Поэтому вы должны изменить свой код с cijCell.addEventListener... на cijCell.getElement().addEventListener...

Ссылка: https://developers.google.com/appmaker/scripting/api/widgets#Panel

...