From 1eb94e9f2efef6085a95b3bb793512d1a3e02be9 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Tue, 22 Jun 2010 21:20:24 +0000 Subject: [PATCH] [LMS-1585] added progress bar SVN: 16668 --- .../ui/grid/AbstractBrowserGrid.java | 27 ++++++++++++------- .../ui/sample/SampleBrowserGrid.java | 4 +-- .../SampleListDeletionConfirmationDialog.java | 6 ++--- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java index a6afb7bf64a..27ecfe1334b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java @@ -65,6 +65,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.AsyncCallbackWithProgressBar; 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; @@ -270,19 +271,19 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod addRefreshDisplaySettingsListener(); configureLoggingBetweenEvents(logID); - + grid.addListener(Events.HeaderContextMenu, new Listener<GridEvent<ModelData>>() - { - public void handleEvent(final GridEvent<ModelData> ge) { - Menu menu = ge.getMenu(); - int itemCount = menu.getItemCount(); - for (int i = 2; i < itemCount; i++) + public void handleEvent(final GridEvent<ModelData> ge) { - menu.remove(menu.getItem(2)); + Menu menu = ge.getMenu(); + int itemCount = menu.getItemCount(); + for (int i = 2; i < itemCount; i++) + { + menu.remove(menu.getItem(2)); + } } - } - }); + }); } private ICellListener<T> createShowEntityViewerLinkClickListener() @@ -1724,6 +1725,14 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod return new DeletionCallback(viewContext, invoker); } + /** Creates deletion callback that refreshes the grid with additional progress bar. */ + protected final AsyncCallback<Void> createDeletionCallbackWithProgressBar( + IBrowserGridActionInvoker invoker, String progressMessage) + { + final AbstractAsyncCallback<Void> deletionCallback = createDeletionCallback(invoker); + return AsyncCallbackWithProgressBar.decorate(deletionCallback, progressMessage); + } + /** Deletion callback that refreshes the grid. */ private static final class DeletionCallback extends AbstractAsyncCallback<Void> { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java index 86007b3a7d8..795ec21fee8 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java @@ -400,8 +400,8 @@ public class SampleBrowserGrid extends IBrowserGridActionInvoker invoker) { return new SampleListDeletionConfirmationDialog(viewContext, samples, - createDeletionCallback(invoker), getDisplayedAndSelectedItemsAction() - .execute()); + createDeletionCallbackWithProgressBar(invoker, "Deleting samples..."), + getDisplayedAndSelectedItemsAction().execute()); } }); changeButtonTitleOnSelectedItems(deleteButton, deleteAllTitle, deleteTitle); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleListDeletionConfirmationDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleListDeletionConfirmationDialog.java index 687179ef507..d3b34add2e5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleListDeletionConfirmationDialog.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleListDeletionConfirmationDialog.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample import java.util.List; import com.extjs.gxt.ui.client.widget.form.RadioGroup; +import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; @@ -38,7 +39,7 @@ public final class SampleListDeletionConfirmationDialog extends private final IViewContext<ICommonClientServiceAsync> viewContext; - private final AbstractAsyncCallback<Void> callback; + private final AsyncCallback<Void> callback; private final DisplayedAndSelectedSamples selectedAndDisplayedItemsOrNull; @@ -46,8 +47,7 @@ public final class SampleListDeletionConfirmationDialog extends public SampleListDeletionConfirmationDialog( IViewContext<ICommonClientServiceAsync> viewContext, List<Sample> data, - AbstractAsyncCallback<Void> callback, - DisplayedAndSelectedSamples selectedAndDisplayedItems) + AsyncCallback<Void> callback, DisplayedAndSelectedSamples selectedAndDisplayedItems) { super(viewContext, data, true); this.viewContext = viewContext; -- GitLab