From 96b8368bb31fb2ce59356381bc8e04ed933567b2 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 18 Jul 2011 17:24:05 +0000 Subject: [PATCH] [LMS-2367] introduced trash button in top menu (instead of option in Administration menu) SVN: 22186 --- .../client/web/client/application/Dict.java | 4 +++ .../application/IGenericImageBundle.java | 3 ++ .../web/client/application/menu/TopMenu.java | 3 +- .../client/application/menu/TrashButton.java | 34 ++++++++++++++++++ .../administration/AdministrationMenu.java | 2 -- .../client/web/client/application/trash.gif | Bin 0 -> 132 bytes .../client/application/ui/AbstractViewer.java | 12 +++++-- .../cisd/openbis/public/common-dictionary.js | 2 ++ 8 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TrashButton.java create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/trash.gif diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java index 4ca2b9a0899..a3a61dfaba9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java @@ -539,6 +539,10 @@ public abstract class Dict public static final String PERMANENT_DELETIONS_CONFIRMATION_MSG = "permanent_deletions_confirmation_msg"; + public static final String USE_TRASH_BROWSER = "use_trash_browser"; + + public static final String TRASH_BUTTON_TOOLTIP = "trash_button_tooltip"; + public static final String EMPTY_TRASH_CONFIRMATION_TITLE = "empty_trash_confirmation_title"; public static final String EMPTY_TRASH_CONFIRMATION_MSG = "empty_trash_confirmation_msg"; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IGenericImageBundle.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IGenericImageBundle.java index 40b403217a4..0b708951930 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IGenericImageBundle.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IGenericImageBundle.java @@ -62,4 +62,7 @@ public interface IGenericImageBundle extends ClientBundle @Source("cancel.gif") public ImageResource getCancelIcon(); + @Source("trash.gif") + public ImageResource getTrashIcon(); + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java index 8dcf4440cf9..ae9bf247e8e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java @@ -55,7 +55,7 @@ public class TopMenu extends LayoutContainer AUTHORIZATION_MENU_USERS, AUTHORIZATION_MENU_ROLES, AUTHORIZATION_MENU_AUTHORIZATION_GROUPS, - TRASH, LOGGING_CONSOLE, + LOGGING_CONSOLE, DATA_SET_MENU_SEARCH, DATA_SET_MENU_TYPES, DATA_SET_MENU_FILE_FORMATS, DATA_SET_MENU_UPLOAD, DATA_SET_MENU_UPLOAD_CLIENT, DATA_SET_MENU_MASS_UPDATE, @@ -124,6 +124,7 @@ public class TopMenu extends LayoutContainer toolBar.add(new SearchWidget(viewContext)); toolBar.add(new SeparatorToolItem()); toolBar.add(new InfoButton(viewContext)); + toolBar.add(new TrashButton(viewContext, componentProvider)); toolBar.add(new LoggedUserMenu(viewContext, componentProvider)); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TrashButton.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TrashButton.java new file mode 100644 index 00000000000..4bd790e9f16 --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TrashButton.java @@ -0,0 +1,34 @@ +package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu; + +import com.extjs.gxt.ui.client.event.ButtonEvent; +import com.extjs.gxt.ui.client.event.SelectionListener; +import com.extjs.gxt.ui.client.widget.button.Button; +import com.google.gwt.user.client.ui.AbstractImagePrototype; + +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.IViewContext; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ComponentProvider; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils; + +/** {@link Button} opening trash browser */ +public class TrashButton extends Button +{ + public TrashButton(final IViewContext<ICommonClientServiceAsync> viewContext, + final ComponentProvider componentProvider) + { + setIcon(AbstractImagePrototype.create(viewContext.getImageBundle().getTrashIcon())); + GWTUtils.setToolTip(this, viewContext.getMessage(Dict.TRASH_BUTTON_TOOLTIP)); + addSelectionListener(new SelectionListener<ButtonEvent>() + { + + @Override + public void componentSelected(ButtonEvent ce) + { + DispatcherHelper.dispatchNaviEvent(componentProvider.getDeletionBrowser()); + } + }); + setWidth(24); + } +} \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java index 2623232c722..e20df7990c3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/administration/AdministrationMenu.java @@ -51,8 +51,6 @@ public class AdministrationMenu extends TopMenuItem submenu.add(new AuthorizationMenu(messageProvider, componentProvider)); submenu.add(new ActionMenu(TopMenu.ActionMenuKind.DATA_SET_MENU_FILE_FORMATS, messageProvider, componentProvider.getFileFormatTypeBrowser())); - submenu.add(new ActionMenu(TopMenu.ActionMenuKind.TRASH, messageProvider, componentProvider - .getDeletionBrowser())); if (viewContext.isLoggingEnabled()) { submenu.add(new ActionMenu(TopMenu.ActionMenuKind.LOGGING_CONSOLE, messageProvider, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/trash.gif b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/trash.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f47780f0e61161f1fb21701d68f697fe80cbec9 GIT binary patch literal 132 zcmV-~0DJ#ONk%w1VGsZi0Kx|VhLob9uDr9s&%Mjp$JFB5==JpZ{{R30A^8LW000L7 zEC2ui01yBW0009?c&gC8kOf0c0P(oZ7pO)d76c&(n8vM*SB<2ZGNDimwh*AuSJ=4U mZl<Z-a>Jf6sN=bQN1>AjWhS3M<g{4T5<e7JX{%z*5&%0O4>!*M literal 0 HcmV?d00001 diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java index cc48672fd3e..222125a708a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java @@ -317,7 +317,15 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends protected final AbstractAsyncCallback<Void> createDeletionCallback() { - return new RefreshViewerCallback(viewContext); + return new RefreshViewerCallback(viewContext) + { + @Override + protected void process(Void result) + { + super.process(result); + GWTUtils.displayInfo(viewContext.getMessage(Dict.USE_TRASH_BROWSER)); + } + }; } protected final AbstractAsyncCallback<Void> createRevertDeletionCallback() @@ -339,7 +347,7 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends } } - private final class RefreshViewerCallback extends AbstractAsyncCallback<Void> + private class RefreshViewerCallback extends AbstractAsyncCallback<Void> { public RefreshViewerCallback(IViewContext<?> viewContext) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index 7d5e3bfccfe..20c81c6e042 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -85,6 +85,8 @@ var common = { revert_deletions_confirmation_msg: "Are you sure you want to revert {0} selected deletion(s)?", permanent_deletions_confirmation_title: "Confirm Permanent Deletion", permanent_deletions_confirmation_msg: "Are you sure you want to <b>permanently</b> delete all entities that were moved to trash in selected {0} deletion(s)?</br></br>You can't undo this action.", + use_trash_browser: "Use trash browser (click on the trash button in top menu) to delete entities permanently.", + trash_button_tooltip: "Displays browser of deletions, allows to revert them or confirm (delete permanently).", empty_trash_confirmation_title: "Confirm Empty Trash", empty_trash_confirmation_msg: "Are you sure you want to <b>permanently</b> delete all entities that were moved to trash?</br></br>You can't undo this action.", -- GitLab