Добрый день.
Есть ли какое-либо решение для вызова операции обновления виджета в классе, реализующем интерфейс CockpitAction. Вообще говоря, вы должны реализовать этот интерфейс, чтобы использовать собственное действие в бэк-офисе. В моем случае это кнопки на странице подписки:
На картинке вы видите 4 разные кнопки, это не стандартная функциональность бэк-офиса, поэтому вы должны реализовать ее самостоятельно. 4 кнопки = 4 действия. Когда вы нажимаете кнопку, есть способ:
ActionResult выполнить (ActionContext var1);
Которая вызывается для выполнения необходимой логики.
И есть способ:
логическое значение по умолчанию canPerform (ActionContext ctx) {return true; }
Что используется для проверки того, находится ли эта кнопка в активном или пассивном состоянии, например, кликабельна она или нет.
Проблема в том, что когда вы нажимаете кнопку, и она должна стать неактивной, она все еще активна, поскольку обновление не запускается, вы можете запустить обновление вручную, нажав кнопку обновления. В идеале обновление должно запускаться после нажатия кнопки действия в методе perfrom (): < img src = "https://i.stack.imgur.com/C6heN.png" alt = "введите описание изображения здесь">
Я поискал и не нашел способа вызвать операцию обновления из кода класса, реализующего интерфейс CockpitAction. Логика построения бэк-офиса очень сложна и плохо документирована, поэтому я даже не нашел нужной функции для запуска обновления.
Если вы работали с SAP Hybris и хорошо знаете Backoffice, не могли бы вы помочь разобраться в этом.
Заранее спасибо!