Я хочу добавить событие щелчка ко всем плиткам на панели запуска без изменения кода внутри плитки. Для этого я создаю плагин FLP. Чтобы прикрепить событие прессы к плитке, я попытался получить плитки, используя следующий код:
sap.ushell.Container.getService("LaunchPage").getGroups().then(function(aGroups) {
for (var i = 0; i < aGroups.length; i++) {
var aTiles = sap.ushell.Container.getService("LaunchPage").getGroupTiles(aGroups[i]);
for (var j = 0; j < aTiles.length; j++) {
aTiles[j].getImplementationAsSapui5().getTileControl().attachPress(function(oEvent) {
console.log("Tile clicked")
});
}
}
});
Ошибки нет, но она не показывает, что плитка нажата при нажатии любой плитки. Если я получаю плитки, используя следующий код, он работает нормально:
var aTiles = sap.ushell.utils.getVisibleTiles();
for (var j = 0; j < aTiles.length; j++) {
aTiles[j].attachPress(function(oEvent) {
console.log(oEvent.getSource().getBindingContext().getObject().object.getTitle());
});
}
Проблема в том, что он возвращает только видимые плитки на экране.
Может кто-нибудь, пожалуйста, помогите мне здесь?