From d88053118372f24ad180c88084f74f4ff683701d Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 5 Dec 2020 13:28:29 +0100 Subject: [PATCH] Improve CMS View. --- .../src/org/argeo/cms/web/CmsWebEntryPoint.java | 3 ++- .../src/org/argeo/cms/ui/CmsView.java | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java index 470aa5edc..d07735c06 100644 --- a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java +++ b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java @@ -205,7 +205,8 @@ public class CmsWebEntryPoint implements EntryPoint, CmsView, BrowserNavigationL public void navigateTo(String state) { exception = null; String title = setState(state); - doRefresh(); + if (title != null) + doRefresh(); if (browserNavigation != null) browserNavigation.pushState(state, title); } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java index dcc1f1fd1..e18d4b433 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsView.java @@ -61,10 +61,22 @@ public interface CmsView { default T doAs(PrivilegedAction action) { throw new UnsupportedOperationException(); } - + + default Void runAs(Runnable runnable) { + return doAs(new PrivilegedAction() { + + @Override + public Void run() { + if (runnable != null) + runnable.run(); + return null; + } + }); + } + default void stateChanged(String state, String title) { } - + default CmsSession getCmsSession() { throw new UnsupportedOperationException(); } -- 2.30.2