From f15108dca46eebd5e626b36dc881c53a3fe96a55 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Thu, 16 Sep 2010 11:40:08 +0000 Subject: [PATCH] [LMS-1597] change page title when accessing detail view of an entity in simple view mode SVN: 17864 --- .../client/application/AbstractPluginViewContext.java | 5 +++++ .../generic/client/web/client/application/Client.java | 7 ++++++- .../web/client/application/CommonViewContext.java | 10 +++++++++- .../client/web/client/application/IViewContext.java | 2 ++ .../ui/listener/OpenEntityDetailsTabAction.java | 9 +++++++++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java index a951d4fcf51..318f2ee6987 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java @@ -102,6 +102,11 @@ public abstract class AbstractPluginViewContext<T extends IClientServiceAsync> i return commonViewContext.getPageController(); } + public final String getBasicPageTitle() + { + return commonViewContext.getBasicPageTitle(); + } + public final IClientPluginFactoryProvider getClientPluginFactoryProvider() { return commonViewContext.getClientPluginFactoryProvider(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java index 59d2b57a9ac..a349fec00a0 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java @@ -103,12 +103,17 @@ public class Client implements EntryPoint, ValueChangeHandler<String> CommonViewContext commonContext = new CommonViewContext(service, imageBundle, pageController, isLoggingEnabled(), - isSimpleMode()); + isSimpleMode(), getPageTitle()); commonContext.setClientPluginFactoryProvider(createPluginFactoryProvider(commonContext)); initializeLocatorHandlerRegistry(commonContext.getLocatorResolverRegistry(), commonContext); return commonContext; } + private String getPageTitle() + { + return Window.getTitle(); + } + private boolean isSimpleMode() { String viewModeParameter = Window.Location.getParameter(BasicConstant.VIEW_MODE_KEY); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java index 83feafe66f0..b7e179e2013 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java @@ -79,14 +79,17 @@ public final class CommonViewContext implements IViewContext<ICommonClientServic private final IProfilingTable profilingTable; + private final String basicPageTitle; + CommonViewContext(final ICommonClientServiceAsync service, final IGenericImageBundle imageBundle, final IPageController pageController, - boolean isLoggingEnabled, boolean isSimpleMode) + boolean isLoggingEnabled, boolean isSimpleMode, String basicPageTitle) { this.service = service; this.imageBundle = imageBundle; this.pageController = pageController; this.profilingTable = ProfilingTable.create(isLoggingEnabled); + this.basicPageTitle = basicPageTitle; messageProvider = new CompositeMessageProvider(); messageProvider.add(new DictonaryBasedMessageProvider(TECHNOLOGY_NAME)); viewModel = new GenericViewModel(); @@ -162,6 +165,11 @@ public final class CommonViewContext implements IViewContext<ICommonClientServic return pageController; } + public final String getBasicPageTitle() + { + return basicPageTitle; + } + public final IClientPluginFactoryProvider getClientPluginFactoryProvider() { return clientPluginFactoryProvider; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java index 4eafa948e3b..599de2071c6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java @@ -48,6 +48,8 @@ public interface IViewContext<T extends IClientServiceAsync> extends IMessagePro public IPageController getPageController(); + public String getBasicPageTitle(); + public IClientPluginFactoryProvider getClientPluginFactoryProvider(); public ICommonClientServiceAsync getCommonService(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java index 8b0167072d9..eb16af2c500 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener; +import com.google.gwt.user.client.Window; + import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; @@ -66,6 +68,13 @@ public final class OpenEntityDetailsTabAction implements IDelegatedAction final AbstractTabItemFactory tabView = createClientPlugin.createEntityViewer(entityType, entity); tabView.setInBackground(keyPressed); + + if (viewContext.isSimpleMode()) + { + Window.setTitle(entityKind + ": " + entity.getCode() + " [" + entityType + "]" + " - " + + viewContext.getBasicPageTitle()); + } + DispatcherHelper.dispatchNaviEvent(tabView); } } -- GitLab