List of usage examples for org.apache.wicket.extensions.markup.html.repeater.util SortableDataProvider size
long size();
From source file:org.headsupdev.agile.web.components.issues.IssueListPanel.java
License:Open Source License
public IssueListPanel(String id, final SortableDataProvider<Issue> issues, final HeadsUpPage page, final boolean hideProject, final boolean hideMilestone, final Milestone milestone) { super(id);/*from w w w . j a v a2 s. c o m*/ add(CSSPackageResource.getHeaderContribution(getClass(), "issue.css")); this.page = page; this.milestone = milestone; this.hideMilestone = hideMilestone; this.hideProject = hideProject; quickIssue = createIssue(); final boolean timeEnabled = Boolean.parseBoolean( page.getProject().getConfigurationValue(StoredProject.CONFIGURATION_TIMETRACKING_ENABLED)); rowAdd = new WebMarkupContainer("rowAdd"); rowAdd.setMarkupId("rowAdd"); Form<Issue> inlineForm = getInlineForm(); add(inlineForm); inlineForm.add(new WebMarkupContainer("hours-header").setVisible(timeEnabled)); final DataView dataView = new StripedDataView<Issue>("issues", issues, ITEMS_PER_PAGE) { protected void populateItem(final Item<Issue> item) { super.populateItem(item); Issue issue = item.getModelObject(); item.add(new IssuePanelRow("issue", issue, page, hideProject, hideMilestone, false)); } }; inlineForm.add(dataView); AttributeModifier colspanModifier = new AttributeModifier("colspan", true, new Model<Integer>() { @Override public Integer getObject() { int cols = 9; if (hideMilestone) { cols--; } if (hideProject) { cols--; } return cols; } }); pagingFooter = new StyledPagingNavigator("footerPaging", dataView); pagingFooter.setOutputMarkupPlaceholderTag(true); inlineForm.add(pagingFooter.add(colspanModifier).setVisible(issues.size() > ITEMS_PER_PAGE)); pagingHeader = new StyledPagingNavigator("headerPaging", dataView); pagingHeader.setOutputMarkupPlaceholderTag(true); inlineForm.add(pagingHeader.add(colspanModifier).setVisible(issues.size() > ITEMS_PER_PAGE)); inlineForm.add(new OrderByBorder("orderById", "id.id", issues)); inlineForm.add(quickAdd); inlineForm.add(new OrderByBorder("orderBySummary", "summary", issues)); inlineForm.add(new OrderByBorder("orderByStatus", "status", issues)); inlineForm.add(new OrderByBorder("orderByPriority", "priority", issues)); inlineForm.add(new OrderByBorder("orderByOrder", "rank", issues)); inlineForm.add(new OrderByBorder("orderByAssigned", "assignee", issues)); inlineForm.add(new OrderByBorder("orderByMilestone", "milestone.name", issues).setVisible(!hideMilestone)); inlineForm.add(new OrderByBorder("orderByProject", "id.project.id", issues).setVisible(!hideProject)); final WebMarkupContainer totalRow = new WebMarkupContainer("totals"); inlineForm.add(totalRow.setVisible(issues.size() > ITEMS_PER_PAGE || timeEnabled)); final WebMarkupContainer allCell = new WebMarkupContainer("allCell"); totalRow.add(allCell.add(new AttributeModifier("colspan", true, new Model<Integer>() { @Override public Integer getObject() { int cols = 7; if (hideMilestone) { cols--; } if (hideProject) { cols--; } return cols; } }))); allCell.add(new Link("allLink") { @Override public void onClick() { dataView.setItemsPerPage(Integer.MAX_VALUE); setVisible(false); totalRow.setVisible(timeEnabled); pagingFooter.setVisible(false); pagingHeader.setVisible(false); } }.setVisible(issues.size() > ITEMS_PER_PAGE)); totalRow.add(new WebMarkupContainer("requiredlabel").setVisible(timeEnabled)); totalRow.add(new Label("hours", new IssueTotalHoursModel((Iterator<Issue>) issues.iterator(0, issues.size()), page.getProject()) { @Override public String getObject() { setIssues(issues.iterator(0, dataView.getItemCount())); // we could do this if the total is suppose to reflect the current page // setIssues( issues.iterator( dataView.getCurrentPage() * dataView.getItemsPerPage(), dataView.getItemsPerPage() ) ); return super.getObject(); } }).setVisible(timeEnabled)); }
From source file:org.headsupdev.agile.web.components.milestones.MilestoneListPanel.java
License:Open Source License
public MilestoneListPanel(String id, final SortableDataProvider<Milestone> provider, final HeadsUpPage page, final boolean hideProject, MilestoneGroup group, int groupNumber) { super(id);// w w w . j av a 2 s .c om add(CSSPackageResource.getHeaderContribution(getClass(), "milestone.css")); this.page = page; this.group = group; this.hideProject = hideProject; if (groupNumber == UNGROUPED_NUMBER) { this.groupReference = "group"; } else { this.groupReference = "group" + groupNumber; } rowAdd = new WebMarkupContainer("rowAddMilestone"); rowAdd.setMarkupId("rowAddMilestone" + groupNumber); Form<Milestone> inlineForm = getInlineForm(); add(inlineForm); final DataView dataView; inlineForm.add(dataView = new StripedDataView<Milestone>("milestones", provider, ITEMS_PER_PAGE) { protected void populateItem(Item<Milestone> listItem) { super.populateItem(listItem); Milestone milestone = listItem.getModelObject(); PageParameters params = new PageParameters(); params.add("project", milestone.getProject().getId()); params.add("id", milestone.getName()); WebMarkupContainer cell = new WebMarkupContainer("id-cell"); Link idLink = new BookmarkablePageLink("id-link", page.getPageClass("milestones/view"), params); idLink.add(new Label("id-label", milestone.getName())); cell.add(idLink); listItem.add(cell); 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); label = new Label("open", String.valueOf(open)); listItem.add(label); label = new Label("project", milestone.getProject().toString()); listItem.add(label.setVisible(!hideProject)); label = new Label("due", new FormattedDateModel(milestone.getDueDate(), ((HeadsUpSession) getSession()).getTimeZone())); label.add(new MilestoneStatusModifier("due", milestone)); listItem.add(label); } }); AttributeModifier colspanModifier = new AttributeModifier("colspan", true, new Model<Integer>() { @Override public Integer getObject() { int cols = 7; if (hideProject) { cols--; } return cols; } }); inlineForm.add(quickAdd); inlineForm.add(new OrderByBorder("orderByName", "name.name", provider)); inlineForm.add(new OrderByBorder("orderByDue", "due", provider)); inlineForm.add(new OrderByBorder("orderByProject", "name.project.id", provider).setVisible(!hideProject)); pagingFooter = new StyledPagingNavigator("footerPaging", dataView); pagingFooter.setOutputMarkupPlaceholderTag(true); inlineForm.add(pagingFooter.add(colspanModifier)); pagingHeader = new StyledPagingNavigator("headerPaging", dataView); pagingHeader.setOutputMarkupPlaceholderTag(true); inlineForm.add(pagingHeader.add(colspanModifier)); final WebMarkupContainer allCell = new WebMarkupContainer("allCell"); inlineForm.add(allCell.add(colspanModifier).setVisible(provider.size() > ITEMS_PER_PAGE)); allCell.add(new Link("allLink") { @Override public void onClick() { dataView.setItemsPerPage(Integer.MAX_VALUE); setVisible(false); allCell.setVisible(false); pagingFooter.setVisible(false); pagingHeader.setVisible(false); } }); }