diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterSelectionWidget.java index 5b18089eb88f5ef32002c9157a7e6f6857824d3c..b642bc88fb6e2c9120357bceee274a09b50e7794 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterSelectionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterSelectionWidget.java @@ -39,6 +39,8 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKin public final class FilterSelectionWidget extends DropDownList<FilterModel, Filter> implements IDelegatedAction { + private static final String LIST_ITEMS_CALLBACK = "ListItemsCallback"; + public static final String SUFFIX = "filter"; private final IViewContext<?> viewContext; @@ -56,6 +58,12 @@ public final class FilterSelectionWidget extends DropDownList<FilterModel, Filte this.displayTypeIDProvider = displayTypeIDProvider; this.withStandard = true; setAutoSelectFirst(withStandard); + setCallbackId(createCallbackId()); + } + + public static String createCallbackId() + { + return FilterSelectionWidget.class + LIST_ITEMS_CALLBACK; } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java index f030cfd7d7bd4a03c96ed9d1f8fcfca0dbaeb350..e2970aa818d1b616f1de05f54ddce4c5c7609789 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/DropDownList.java @@ -68,6 +68,8 @@ abstract public class DropDownList<M extends ModelData, E> extends ComboBox<M> i private final IViewContext<?> viewContextOrNull; + public String callbackIdOrNull; + public DropDownList(final IViewContext<?> viewContext, String idSuffix, String labelDictCode, String displayField, String chooseSuffix, String nothingFoundSuffix) { @@ -99,6 +101,11 @@ abstract public class DropDownList<M extends ModelData, E> extends ComboBox<M> i setStore(new ListStore<M>()); } + protected void setCallbackId(String callbackId) + { + this.callbackIdOrNull = callbackId; + } + private static String createId(String idSuffix) { return ID + idSuffix; @@ -182,6 +189,18 @@ abstract public class DropDownList<M extends ModelData, E> extends ComboBox<M> i updateStore(convertedItems); } + @Override + public String getCallbackId() + { + if (callbackIdOrNull != null) + { + return callbackIdOrNull; + } else + { + return super.getCallbackId(); + } + } + } protected final void updateStore(final List<M> models) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java index 3af4590bd0a3d3d3042c63a9ce8761a22d1d655f..5dae7b713a47fc6a490077f7ebd57da927e47b73 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AuthorizationManagementConsolTest.java @@ -29,7 +29,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.Ope import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc.RoleAssignmentRow; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.GroupColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PersonColDefKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.filter.FilterSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.FailureExpectation; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.Row; @@ -54,8 +53,6 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase loginAndInvokeAction(ActionMenuKind.ADMINISTRATION_MENU_MANAGE_GROUPS); CreateGroup createGroupCommand = new CreateGroup(groupCode); - createGroupCommand.addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); - // fix? remoteConsole.prepare(createGroupCommand); final CheckGroupTable table = new CheckGroupTable(); table.addCallbackClass(AddGroupDialog.SaveDialogCallback.class); @@ -72,7 +69,6 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase loginAndInvokeAction(ActionMenuKind.AUTHORIZATION_MENU_USERS); CreatePerson command = new CreatePerson(userId); - command.addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); remoteConsole.prepare(command); final CheckPersonTable table = new CheckPersonTable(); table.addCallbackClass(AddPersonDialog.SaveDialogCallback.class); @@ -121,7 +117,6 @@ public class AuthorizationManagementConsolTest extends AbstractGWTTestCase loginAndInvokeAction("o", "o", ActionMenuKind.AUTHORIZATION_MENU_USERS); final String userId = "u"; CreatePerson command = new CreatePerson(userId); - command.addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); remoteConsole.prepare(command); FailureExpectation failureExpectation = new FailureExpectation(AddPersonDialog.SaveDialogCallback.class) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/FileFormatTypeGridTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/FileFormatTypeGridTest.java index 56c12173ca663d4c4ed61c6dc7b95ea8d1b4e36d..33187361dfd2f8cef47e6d0dfe751a43de97652f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/FileFormatTypeGridTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/FileFormatTypeGridTest.java @@ -25,7 +25,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMe import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.TypeColDefKind; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.FileFormatTypeGrid; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.entity_type.AddTypeDialog; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.filter.FilterSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractGWTTestCase; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand; @@ -52,7 +51,6 @@ public class FileFormatTypeGridTest extends AbstractGWTTestCase { loginAndInvokeAction(ActionMenuKind.DATA_SET_MENU_FILE_FORMATS); CheckTableCommand table = new CheckTableCommand(FileFormatTypeGrid.GRID_ID); - table.addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); table.expectedSize(8); remoteConsole.prepare(new PiggyBackCommand(table, addNewTypeCommand())); table = new CheckTableCommand(FileFormatTypeGrid.GRID_ID); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/OpenRoleAssignmentDialog.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/OpenRoleAssignmentDialog.java index 29457b51e903cdf0c35c42164a2d5bebe9b01467..09963646ea499b109f5964707a517168762b926f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/OpenRoleAssignmentDialog.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/OpenRoleAssignmentDialog.java @@ -18,7 +18,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.amc; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.MainTabPanel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.RoleAssignmentGrid; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.filter.FilterSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.CheckTableCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil; @@ -34,7 +33,6 @@ public final class OpenRoleAssignmentDialog extends CheckTableCommand public OpenRoleAssignmentDialog() { super(RoleAssignmentGrid.GRID_ID); - addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); } @Override diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java index 97257be8fc88e3bb7f25d214fd3e288941213425..7c56bbbc3d70f9dcde4f3b5f26b5a82cd7145c89 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ListExperiments.java @@ -21,7 +21,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ExperimentTypeModel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.filter.FilterSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil; @@ -56,7 +55,6 @@ public class ListExperiments extends AbstractDefaultTestCommand addCallbackClass(ProjectSelectionTreeWidget.ListProjectsCallback.class); addCallbackClass(ExperimentTypeSelectionWidget.ListItemsCallback.class); } - addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); } // diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java index 4fb803f9bd48790364b18d40f2dca8469d9ea904..9d28efd0df2521450c83fa441cd6dda09db1491a 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/ListMaterials.java @@ -20,7 +20,6 @@ import com.extjs.gxt.ui.client.widget.form.ComboBox; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.MaterialTypeModel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.filter.FilterSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.AbstractDefaultTestCommand; import ch.systemsx.cisd.openbis.generic.client.web.client.testframework.GWTTestUtil; @@ -37,7 +36,6 @@ public class ListMaterials extends AbstractDefaultTestCommand public ListMaterials(final String materialTypeNameOrNull) { this.materialTypeName = materialTypeNameOrNull; - addCallbackClass(FilterSelectionWidget.ListItemsCallback.class); addCallbackClass(MaterialTypeSelectionWidget.ListItemsCallback.class); }