Vojtech Szocs has uploaded a new change for review. Change subject: webadmin: UI plugin API - setSearchString ......................................................................
webadmin: UI plugin API - setSearchString This patch adds new UI plugin API function ('setSearchString') that can be used to apply given search string in WebAdmin's search panel. Just like the Search button, calling setSearchString function triggers transition to the corresponding application place, e.g. following code: api.setSearchString('Vms:'); causes the application to reveal following place: WebAdmin.html#vms // 'VM' main tab place API signature: setSearchString(searchString) Example usage: api.setSearchString('Hosts: name = abc'); Change-Id: I36eb8647577e974bddefe9462d302165a39b1c27 Bug-Url: https://bugzilla.redhat.com/1081028 Signed-off-by: Vojtech Szocs <vsz...@redhat.com> --- M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/SearchPanelPresenterWidget.java 3 files changed, 35 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/40405/1 diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java index 137bd91..05790f1 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java @@ -513,6 +513,11 @@ uifunctio...@org.ovirt.engine.ui.webadmin.plugin.api.PluginUiFunctions::revealPlace(Ljava/lang/String;)(placeToken); } }, + setSearchString: function(searchString) { + if (canDoPluginAction(this.pluginName)) { + uifunctio...@org.ovirt.engine.ui.webadmin.plugin.api.PluginUiFunctions::setSearchString(Ljava/lang/String;)(searchString); + } + }, loginUserName: function() { if (canDoPluginAction(this.pluginName)) { return us...@org.ovirt.engine.ui.common.auth.CurrentUser::getFullUserName()(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java index 8d2eef7..fb1f72a 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java @@ -14,6 +14,7 @@ import org.ovirt.engine.ui.webadmin.plugin.jsni.JsFunctionResultHelper; import org.ovirt.engine.ui.webadmin.section.main.presenter.DynamicUrlContentTabProxyFactory; import org.ovirt.engine.ui.webadmin.section.main.presenter.MainTabPanelPresenter; +import org.ovirt.engine.ui.webadmin.section.main.presenter.SearchPanelPresenterWidget; import org.ovirt.engine.ui.webadmin.section.main.presenter.SetDynamicTabContentUrlEvent; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.CloseDynamicPopupEvent; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.DynamicUrlContentPopupPresenterWidget; @@ -46,16 +47,22 @@ private final DynamicUrlContentTabProxyFactory dynamicUrlContentTabProxyFactory; private final Provider<DynamicUrlContentPopupPresenterWidget> dynamicUrlContentPopupPresenterWidgetProvider; + // Injecting search panel through Provider interface since search panel instantiation + // triggers CommonModel instantiation that requires prior UiCommon infra setup. + private final Provider<SearchPanelPresenterWidget> searchPanelPresenterWidgetProvider; + private final WebAdminPlaceManager placeManager; @Inject public PluginUiFunctions(EventBus eventBus, DynamicUrlContentTabProxyFactory dynamicUrlContentTabProxyFactory, Provider<DynamicUrlContentPopupPresenterWidget> dynamicUrlContentPopupPresenterWidgetProvider, + Provider<SearchPanelPresenterWidget> searchPanelPresenterWidgetProvider, WebAdminPlaceManager placeManager) { this.eventBus = eventBus; this.dynamicUrlContentTabProxyFactory = dynamicUrlContentTabProxyFactory; this.dynamicUrlContentPopupPresenterWidgetProvider = dynamicUrlContentPopupPresenterWidgetProvider; + this.searchPanelPresenterWidgetProvider = searchPanelPresenterWidgetProvider; this.placeManager = placeManager; } @@ -255,4 +262,16 @@ }); } + /** + * Applies the given search string, which triggers transition to the corresponding application place. + */ + public void setSearchString(final String searchString) { + Scheduler.get().scheduleDeferred(new ScheduledCommand() { + @Override + public void execute() { + searchPanelPresenterWidgetProvider.get().applySearchString(searchString); + } + }); + } + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/SearchPanelPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/SearchPanelPresenterWidget.java index be5385d..3065949 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/SearchPanelPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/SearchPanelPresenterWidget.java @@ -105,7 +105,7 @@ registerHandler(getView().getClearButton().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - commonModel.getClearSearchStringCommand().execute(); + clearModelSearchString(); } })); @@ -137,6 +137,16 @@ updateViewHasSearchStringPrefix(); } + public void applySearchString(String searchString) { + clearModelSearchString(); + getView().setSearchString(searchString); + updateModelSearchString(); + } + + void clearModelSearchString() { + commonModel.getClearSearchStringCommand().execute(); + } + void updateModelSearchString() { commonModel.setSearchString(getView().getSearchString()); commonModel.search(); -- To view, visit https://gerrit.ovirt.org/40405 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I36eb8647577e974bddefe9462d302165a39b1c27 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Vojtech Szocs <vsz...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches