Skip to content
Snippets Groups Projects
Commit fa2002ac authored by cramakri's avatar cramakri
Browse files

BIS-122 SP-236 : Initial work

SVN: 26311
parent 97d598dd
No related branches found
No related tags found
No related merge requests found
...@@ -19,17 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; ...@@ -19,17 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.extjs.gxt.ui.client.mvc.Controller;
import com.extjs.gxt.ui.client.mvc.Dispatcher;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import ch.systemsx.cisd.common.shared.basic.utils.StringUtils; import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.IClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.IClientServiceAsync;
import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientService; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientService;
...@@ -38,6 +27,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.CommonView ...@@ -38,6 +27,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.CommonView
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppController; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppController;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppEvents; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AppEvents;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.LoginController; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.LoginController;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.AggregationServiceLocatorResolver;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.AttachmentDownloadLocatorResolver; import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.AttachmentDownloadLocatorResolver;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.BrowserLocatorResolver; import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.BrowserLocatorResolver;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.GlobalSearchLocatorResolver; import ch.systemsx.cisd.openbis.generic.client.web.client.application.locator.GlobalSearchLocatorResolver;
...@@ -63,6 +53,17 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant; ...@@ -63,6 +53,17 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant;
import ch.systemsx.cisd.openbis.generic.shared.basic.ViewMode; import ch.systemsx.cisd.openbis.generic.shared.basic.ViewMode;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
import com.extjs.gxt.ui.client.mvc.Controller;
import com.extjs.gxt.ui.client.mvc.Dispatcher;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
/** /**
* The {@link EntryPoint} implementation. * The {@link EntryPoint} implementation.
* *
...@@ -441,6 +442,7 @@ public class Client implements EntryPoint, ValueChangeHandler<String> ...@@ -441,6 +442,7 @@ public class Client implements EntryPoint, ValueChangeHandler<String>
handlerRegistry.registerHandler(new GlobalSearchLocatorResolver(context)); handlerRegistry.registerHandler(new GlobalSearchLocatorResolver(context));
handlerRegistry.registerHandler(new HomeLocatorResolver(context)); handlerRegistry.registerHandler(new HomeLocatorResolver(context));
handlerRegistry.registerHandler(new SampleRegistrationLocatorResolver(context)); handlerRegistry.registerHandler(new SampleRegistrationLocatorResolver(context));
handlerRegistry.registerHandler(new AggregationServiceLocatorResolver(context));
} }
@Override @Override
......
/*
* Copyright 2010 ETH Zuerich, CISD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ch.systemsx.cisd.openbis.generic.client.web.client.application.framework;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.google.gwt.user.client.ui.HTML;
/**
* Helper methods that create a panel for displaying the results of an aggregation service. This
* panel is not used directly in the openBIS UI. It is used to support implementers of web UIs and
* give them an opportunity to leverage our powerful table grid framework.
*
* @author Chandrasekhar Ramakrishnan
*/
public class AggregationServicePanelHelper
{
public static final Component createAggregationServicePanel(IViewContext<?> viewContext,
String idPrefix)
{
final LayoutContainer layoutContainer = new LayoutContainer(new BorderLayout());
layoutContainer.setStyleAttribute("background-color", "white");
layoutContainer.setId(idPrefix + "aggregation_service");
HTML content = new HTML("<p>Welcome to aggregation services</p>");
layoutContainer.add(content, new BorderLayoutData(LayoutRegion.CENTER, 1f));
return layoutContainer;
}
}
package ch.systemsx.cisd.openbis.generic.client.web.client.application.locator;
import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants;
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.AggregationServicePanelHelper;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DefaultTabItem;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.MainPagePanel;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
import ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException;
/**
* An {@link IViewLocatorResolver} that shows the results of an aggregation service as a table
* model.
*
* @author Chandrasekhar Ramakrishnan
*/
public class AggregationServiceLocatorResolver extends AbstractViewLocatorResolver
{
public final static String ACTION = "AGGREGATION_SERVICE";
private final IViewContext<ICommonClientServiceAsync> viewContext;
public AggregationServiceLocatorResolver(IViewContext<ICommonClientServiceAsync> viewContext)
{
super(ACTION);
this.viewContext = viewContext;
}
@Override
public void resolve(final ViewLocator locator) throws UserFailureException
{
DispatcherHelper.dispatchNaviEvent(new AbstractTabItemFactory()
{
private final static String ID = GenericConstants.ID_PREFIX + ACTION;
@Override
public ITabItem create()
{
return DefaultTabItem.createUnaware(getTabTitle(),
AggregationServicePanelHelper.createAggregationServicePanel(
viewContext, MainPagePanel.PREFIX), false, viewContext);
}
@Override
public String getId()
{
return ID;
}
@Override
public HelpPageIdentifier getHelpPageIdentifier()
{
return null;
}
@Override
public String getTabTitle()
{
return viewContext.getMessage(Dict.APPLICATION_NAME);
}
@Override
public String tryGetLink()
{
return locator.getHistoryToken();
}
});
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment