1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.panels;
20
21 import org.apache.commons.lang3.StringUtils;
22 import org.apache.syncope.client.console.commons.KeywordSearchEvent;
23 import org.apache.syncope.client.console.rest.CommandRestClient;
24 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxTextFieldPanel;
25 import org.apache.wicket.PageReference;
26 import org.apache.wicket.ajax.AjaxRequestTarget;
27 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
28 import org.apache.wicket.event.Broadcast;
29 import org.apache.wicket.markup.html.WebMarkupContainer;
30 import org.apache.wicket.markup.html.form.Form;
31 import org.apache.wicket.markup.html.panel.Panel;
32 import org.apache.wicket.model.Model;
33 import org.apache.wicket.spring.injection.annot.SpringBean;
34
35 public class CommandsPanel extends Panel {
36
37 private static final long serialVersionUID = -4716856239434102405L;
38
39 @SpringBean
40 protected CommandRestClient commandRestClient;
41
42 public CommandsPanel(final String id, final PageReference pageRef) {
43 super(id);
44
45 Model<String> keywordModel = new Model<>(StringUtils.EMPTY);
46
47 WebMarkupContainer searchBoxContainer = new WebMarkupContainer("searchBox");
48 add(searchBoxContainer);
49
50 Form<?> form = new Form<>("form");
51 searchBoxContainer.add(form);
52
53 AjaxTextFieldPanel filter = new AjaxTextFieldPanel("filter", "filter", keywordModel, true);
54 form.add(filter.hideLabel().setOutputMarkupId(true).setRenderBodyOnly(true));
55
56 AjaxButton search = new AjaxButton("search") {
57
58 private static final long serialVersionUID = 8390605330558248736L;
59
60 @Override
61 protected void onSubmit(final AjaxRequestTarget target) {
62 send(CommandsPanel.this, Broadcast.DEPTH, new KeywordSearchEvent(target, keywordModel.getObject()));
63 }
64 };
65 search.setOutputMarkupId(true);
66 form.add(search);
67 form.setDefaultButton(search);
68
69 add(new CommandDirectoryPanel("commands", commandRestClient, pageRef).setOutputMarkupId(true));
70 }
71 }