List of usage examples for org.apache.wicket.markup.html.form CheckGroup CheckGroup
public CheckGroup(String id)
From source file:at.molindo.esi4j.example.web.HomePage.java
License:Apache License
public HomePage() { add(new UrlSubmissionForm("urlForm")); _searchModel = new AbstractReadOnlyModel<Search>() { private final Search _search = new Search(); @Override//from w ww .j a v a 2 s . co m public Search getObject() { return _search; } }; _searchResponseModel = new LoadableDetachableModel<ListenableActionFuture<SearchResponseWrapper>>() { @Override protected ListenableActionFuture<SearchResponseWrapper> load() { Search search = _searchModel.getObject(); return _searchService.search(search.getQuery(), search.getCategories()); } }; IModel<List<SearchHitWrapper>> articlesModel = new AbstractReadOnlyModel<List<SearchHitWrapper>>() { @Override public List<SearchHitWrapper> getObject() { return _searchResponseModel.getObject().actionGet().getSearchHits(); } }; IModel<List<? extends TermsFacet.Entry>> facetsModel = new AbstractReadOnlyModel<List<? extends TermsFacet.Entry>>() { @Override public List<? extends TermsFacet.Entry> getObject() { Facets facets = _searchResponseModel.getObject().actionGet().getSearchResponse().getFacets(); if (facets == null) { return Collections.emptyList(); } TermsFacet facet = (TermsFacet) facets.facet("categories"); if (facet == null) { return Collections.emptyList(); } return facet.getEntries(); } }; add(new TextField<String>("search", new PropertyModel<String>(_searchModel, "query")) .add(new OnChangeUpdateSearchBehavior())); // category select add(_facetsContainer = new CheckGroup<String>("facetsContainer")); _facetsContainer.setOutputMarkupId(true).setRenderBodyOnly(false); _facetsContainer.add(new ListView<TermsFacet.Entry>("categoryFacets", facetsModel) { @Override protected IModel<TermsFacet.Entry> getListItemModel( IModel<? extends List<TermsFacet.Entry>> listViewModel, int index) { return new CompoundPropertyModel<TermsFacet.Entry>(super.getListItemModel(listViewModel, index)); } @Override protected void populateItem(final ListItem<Entry> item) { CheckBox box; item.add(box = new CheckBox("check", new IModel<Boolean>() { @Override public Boolean getObject() { return _searchModel.getObject().getCategories().contains(item.getModelObject().getTerm()); } @Override public void setObject(Boolean checked) { List<String> categories = _searchModel.getObject().getCategories(); String category = item.getModelObject().getTerm().string(); if (Boolean.TRUE.equals(checked)) { categories.add(category); } else { categories.remove(category); } } @Override public void detach() { } })); box.add(new OnChangeUpdateSearchBehavior()); item.add(new SimpleFormComponentLabel("term", box.setLabel(new PropertyModel<String>(item.getModel(), "term")))); item.add(new Label("count")); } }); // search results add(_container = new WebMarkupContainer("container")); _container.setOutputMarkupId(true); _container.add(new Label("query", _searchModel.getObject().getQuery())); _container.add(new ListView<SearchHitWrapper>("result", articlesModel) { @Override protected IModel<SearchHitWrapper> getListItemModel( IModel<? extends List<SearchHitWrapper>> listViewModel, int index) { return new CompoundPropertyModel<SearchHitWrapper>(super.getListItemModel(listViewModel, index)); } @Override protected void populateItem(final ListItem<SearchHitWrapper> item) { item.add(new Label("object.subject")); item.add(new Label("object.date")); item.add(new Label("object.body", new AbstractReadOnlyModel<String>() { @Override public String getObject() { SearchHitWrapper wrapper = item.getModelObject(); HighlightField field = wrapper.getSearchHit().getHighlightFields().get("body"); if (field == null) { return wrapper.getObject(Article.class).getBody(); } Object[] fragments = field.getFragments(); if (fragments == null) { return wrapper.getObject(Article.class).getBody(); } return StringUtils.join(" ... ", fragments); } })); item.add(new ExternalLink("link", new PropertyModel<String>(item.getModel(), "object.url"))); item.add(new ListView<String>("categories", new PropertyModel<List<String>>(item.getModel(), "object.categories")) { @Override protected void populateItem(ListItem<String> item) { item.add(new Label("name", item.getModel())); } }); } }); add(new IndicatingAjaxLink<Void>("rebuild") { @Override public void onClick(AjaxRequestTarget target) { _searchService.rebuild(); updateSearch(target); } }); add(new IndicatingAjaxLink<Void>("delete") { @Override public void onClick(AjaxRequestTarget target) { _articleService.deleteArticles(); _searchService.refresh(); updateSearch(target); } }); }
From source file:org.headsupdev.agile.app.milestones.EditMilestoneGroupForm.java
License:Open Source License
protected void layout(Form<MilestoneGroup> form) { form.setModel(new CompoundPropertyModel<MilestoneGroup>(group)); form.add(new Label("project", group.getProject().getAlias())); if (creating) { form.add(new TextField<String>("name").add(new NamePatternValidator()).setRequired(true)); form.add(new WebMarkupContainer("name-label").setVisible(false)); // form.add( new Label( "created", new FormattedDateModel( new Date() ) ) ); } else {/*w w w . jav a2s . co m*/ form.add(new Label("name-label", group.getName())); form.add(new WebMarkupContainer("name").setVisible(false)); // form.add( new Label( "created", new FormattedDateModel( milestone.getCreated() ) ) ); } form.add(new TextArea("description")); CheckGroup<Milestone> checkGroup = new CheckGroup<Milestone>("milestones"); form.add(checkGroup); checkGroup.add(new StripedListView<Milestone>("list", new Model<ArrayList<? extends Milestone>>() { @Override public ArrayList<? extends Milestone> getObject() { return getMilestones(); } }) { protected void populateItem(ListItem<Milestone> listItem) { super.populateItem(listItem); Milestone milestone = listItem.getModelObject(); listItem.add(new Label("id", milestone.getName())); listItem.add(new Check<Milestone>("check", listItem.getModel())); double part = milestone.getCompleteness(); int percent = (int) (part * 100); Panel panel = new PercentagePanel("bar", percent); listItem.add(panel); int total = milestone.getIssues().size(); int open = milestone.getOpenIssues().size(); Label label = new Label("issues", String.valueOf(total)); listItem.add(label); // TODO display project if "all" project for group label = new Label("open", String.valueOf(open)); listItem.add(label); label = new Label("due", new FormattedDateModel(milestone.getDueDate(), ((HeadsUpSession) getSession()).getTimeZone())); label.add(new org.headsupdev.agile.web.components.milestones.MilestoneStatusModifier("due", milestone)); listItem.add(label); } }); }