From: Mathieu Baudier Date: Sat, 5 Dec 2020 12:28:29 +0000 (+0100) Subject: Improve CMS View. X-Git-Tag: argeo-commons-2.1.89~7 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=d88053118372f24ad180c88084f74f4ff683701d Improve CMS View. --- 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(); }