是否有可能以某种方式从 Vaadin 的给定窗口获取当前显示的通知?查看 Window API,我只能看到几个showWindow()
方法。
那么,有谁知道是否有一些功能可以获取当前显示的通知(如果有任何通知存在,那就是)?
是否有可能以某种方式从 Vaadin 的给定窗口获取当前显示的通知?查看 Window API,我只能看到几个showWindow()
方法。
那么,有谁知道是否有一些功能可以获取当前显示的通知(如果有任何通知存在,那就是)?
我不相信目前有任何方法可以做到这一点。
您可以覆盖 Window#showNotification(Notification) 以自己跟踪这一点,但据我所知,客户端不会告诉服务器通知已关闭 => 无法“重置”此标志。
(私有方法 Window#addNotification 在链接列表中跟踪要发送到浏览器的通知,但 Window#paintContent(PaintTarget) 会在将通知发送到浏览器后立即清除该列表)
通过反射:
private boolean isNotified(String notif) throws SecurityException, NoSuchFieldException,
IllegalArgumentException, IllegalAccessException {
Page current = Page.getCurrent();
Field f = current.getClass().getDeclaredField("notifications");
f.setAccessible(true);
List<Notification> notifications = (List<Notification>) f.get(current);
boolean found = false;
if (notifications != null) {
for (Notification notification : notifications) {
if (notification.getCaption() == notif) {
found=true;
}
}
}
return found;
}