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 <[email protected]>
---
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
[email protected]::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 <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches