Lior Vernia has uploaded a new change for review. Change subject: webadmin: Created model for Remove Providers popup ......................................................................
webadmin: Created model for Remove Providers popup Created confirmation window before removal is performed, and a model to include all of the logic. Change-Id: Ic8dbc9d11519c15306cc33d7af7d0b6e4f4c7a0c Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java 3 files changed, 87 insertions(+), 12 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/96/14696/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java index 0d1f03d..4237410 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import org.ovirt.engine.core.common.action.ProviderParameters; -import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -19,8 +17,6 @@ import org.ovirt.engine.ui.uicommonweb.models.ListWithDetailsModel; import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; -import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult; -import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback; import org.ovirt.engine.ui.uicompat.ObservableCollection; public class ProviderListModel extends ListWithDetailsModel implements ISupportSystemTreeContext { @@ -172,14 +168,10 @@ } private void remove() { - Frontend.RunAction(VdcActionType.RemoveProvider, new ProviderParameters((Provider) getSelectedItem()), - new IFrontendActionAsyncCallback() { - - @Override - public void Executed(FrontendActionAsyncResult result) { - getSearchCommand().Execute(); - } - }); + if (getConfirmWindow() != null) { + return; + } + setConfirmWindow(new RemoveProvidersModel(this)); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java new file mode 100644 index 0000000..43a0b83 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java @@ -0,0 +1,77 @@ +package org.ovirt.engine.ui.uicommonweb.models.providers; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.core.common.action.ProviderParameters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.compat.StringHelper; +import org.ovirt.engine.ui.frontend.Frontend; +import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel; +import org.ovirt.engine.ui.uicommonweb.models.ListModel; +import org.ovirt.engine.ui.uicompat.ConstantsManager; + +@SuppressWarnings("deprecation") +public class RemoveProvidersModel extends ConfirmationModel { + + private static final String CMD_REMOVE = "OnRemove"; //$NON-NLS-1$ + private static final String CMD_CANCEL = "Cancel"; //$NON-NLS-1$ + + private final ListModel sourceListModel; + private final List<Provider> providers; + + @SuppressWarnings("unchecked") + public RemoveProvidersModel(ListModel sourceListModel) { + this.sourceListModel = sourceListModel; + providers = (List<Provider>) sourceListModel.getSelectedItems(); + + setTitle(ConstantsManager.getInstance().getConstants().removeProviderTitle()); + setHashName("remove_provider"); //$NON-NLS-1$ + setMessage(ConstantsManager.getInstance().getConstants().providersMsg()); + + List<String> providerNames = new ArrayList<String>(); + for (Provider provider : providers) { + providerNames.add(provider.getName()); + } + setItems(providerNames); + + UICommand tempVar = new UICommand(CMD_REMOVE, this); + tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok()); + tempVar.setIsDefault(true); + getCommands().add(tempVar); + UICommand tempVar2 = new UICommand(CMD_CANCEL, this); + tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel()); + tempVar2.setIsCancel(true); + getCommands().add(tempVar2); + } + + private void cancel() { + sourceListModel.setConfirmWindow(null); + } + + private void onRemove() { + ArrayList<VdcActionParametersBase> parameterList = new ArrayList<VdcActionParametersBase>(); + for (Provider provider : providers) { + parameterList.add(new ProviderParameters(provider)); + } + + Frontend.RunMultipleAction(VdcActionType.RemoveProvider, parameterList); + + cancel(); + } + + @Override + public void ExecuteCommand(UICommand command) { + super.ExecuteCommand(command); + + if (StringHelper.stringsEqual(command.getName(), CMD_REMOVE)) { + onRemove(); + } else if (StringHelper.stringsEqual(command.getName(), CMD_CANCEL)) { + cancel(); + } + } + +} diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java index b8b7a0a..52d5233 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java @@ -1851,4 +1851,10 @@ @DefaultStringValue("Edit Provider") String editProviderTitle(); + + @DefaultStringValue("Remove Provider(s)") + String removeProviderTitle(); + + @DefaultStringValue("Provider(s)") + String providersMsg(); } -- To view, visit http://gerrit.ovirt.org/14696 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic8dbc9d11519c15306cc33d7af7d0b6e4f4c7a0c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
