Gilad Chaplik has submitted this change and it was merged. Change subject: webadmin,userportal: Allow dialogs to open dialogs ......................................................................
webadmin,userportal: Allow dialogs to open dialogs This patch refactors existing UiCommon dialog support, allowing dialogs (popup presenter widgets) to open other dialogs, based on the corresponding UiCommon dialog model hierarchy. For example, we have the HostListModel for which we handle its dialog (Window/ConfirmWindow) model properties. So when HostListModel decides to show a dialog (e.g. HostModel), we know about this and resolve the correct UI popup widget. But what if HostModel (dialog model) itself wants to show another dialog, e.g. by calling HostModel.setWindow(...)? Well, this patch solves this. Summary of changes: 1. New interface ModelBoundPopupResolver, its implementations are responsible for "dialog model -> popup widget" resolution [TabModelProvider and AbstractModelBoundPopupPresenterWidget both implement ModelBoundPopupResolver] 2. Logic for handling UiCommon dialog models, in cooperation with the ModelBoundPopupResolver interface, moved into new dedicated class: ModelBoundPopupHandler [TabModelProvider and AbstractModelBoundPopupPresenterWidget both use ModelBoundPopupHandler] 3. getModelPopup(lastExecutedCommand) + getModelPopup(windowModel) methods unified into single getModelPopup() for consistency, when somebody overrides this method, he can choose how he wants to resolve the popup widget 4. Updated code for all model providers Change-Id: Iab89670a970e94cf5401b441bb76441b57338caf --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/AbstractModelBoundPopupPresenterWidget.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupHandler.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/ModelBoundPopupResolver.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/template/TemplateInterfaceListModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/template/TemplatePermissionListModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/template/UserPortalTemplateListProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/vm/UserPortalListProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/vm/VmDiskListModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/vm/VmInterfaceListModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/vm/VmPermissionListModelProvider.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/model/vm/VmSnapshotListModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/ClusterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/DataCenterModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/DiskModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/HostModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/PoolModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/QuotaModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/StorageModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/TemplateModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/UserModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/VirtualMachineModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/VolumeModule.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/BookmarkModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/GuideModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/QuotaModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/RoleModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/RolePermissionModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemPermissionModelProvider.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TagModelProvider.java 30 files changed, 720 insertions(+), 452 deletions(-) Approvals: Gilad Chaplik: Verified; Looks good to me, approved -- To view, visit http://gerrit.ovirt.org/3619 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iab89670a970e94cf5401b441bb76441b57338caf Gerrit-PatchSet: 2 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Vojtech Szocs <vsz...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com> Gerrit-Reviewer: Kanagaraj M <kmayi...@redhat.com> Gerrit-Reviewer: Vojtech Szocs <vsz...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches