List of usage examples for org.apache.wicket.markup.html.basic Label findParent
public final <Z> Z findParent(final Class<Z> c)
From source file:org.projectforge.web.fibu.MonthlyEmployeeReportPage.java
License:Open Source License
private void addReport() { final RepeatingView headcolRepeater = new RepeatingView("headcolRepeater"); table.add(headcolRepeater);//from w w w.j a va2 s . co m if (MapUtils.isEmpty(report.getKost2Rows()) == false) { headcolRepeater.add(new Label(headcolRepeater.newChildId(), getString("fibu.kost2"))); headcolRepeater.add(new Label(headcolRepeater.newChildId(), getString("fibu.kunde"))); headcolRepeater.add(new Label(headcolRepeater.newChildId(), getString("fibu.projekt"))); headcolRepeater.add(new Label(headcolRepeater.newChildId(), getString("fibu.kost2.art"))); } else { // No kost 2 entries, so only task as head is useful. headcolRepeater.add(new Label(headcolRepeater.newChildId(), getString("task")) .add(AttributeModifier.replace("colspan", "4"))); } final RepeatingView headcolWeekRepeater = new RepeatingView("headcolWeekRepeater"); table.add(headcolWeekRepeater); for (final MonthlyEmployeeReportWeek week : report.getWeeks()) { headcolWeekRepeater.add(new Label(headcolWeekRepeater.newChildId(), week.getFormattedFromDayOfMonth() + ".-" + week.getFormattedToDayOfMonth() + ".")); } final RepeatingView rowRepeater = new RepeatingView("rowRepeater"); table.add(rowRepeater); int rowCounter = 0; for (final Map.Entry<String, Kost2Row> rowEntry : report.getKost2Rows().entrySet()) { final WebMarkupContainer row = new WebMarkupContainer(rowRepeater.newChildId()); rowRepeater.add(row); if (rowCounter++ % 2 == 0) { row.add(AttributeModifier.replace("class", "even")); } else { row.add(AttributeModifier.replace("class", "odd")); } final Kost2Row kost2Row = rowEntry.getValue(); final Kost2DO cost2 = kost2Row.getKost2(); addLabelCols(row, cost2, null, "kost2.nummer:" + cost2.getFormattedNumber(), report.getUser(), report.getFromDate().getTime(), report.getToDate().getTime()); final RepeatingView colWeekRepeater = new RepeatingView("colWeekRepeater"); row.add(colWeekRepeater); for (final MonthlyEmployeeReportWeek week : report.getWeeks()) { final MonthlyEmployeeReportEntry entry = week.getKost2Entries().get(kost2Row.getKost2().getId()); colWeekRepeater.add( new Label(colWeekRepeater.newChildId(), entry != null ? entry.getFormattedDuration() : "")); } row.add(new Label("sum", report.getKost2Durations().get(cost2.getId()).getFormattedDuration())); } for (final Map.Entry<String, TaskDO> rowEntry : report.getTaskEntries().entrySet()) { final WebMarkupContainer row = new WebMarkupContainer(rowRepeater.newChildId()); rowRepeater.add(row); if (rowCounter++ % 2 == 0) { row.add(AttributeModifier.replace("class", "even")); } else { row.add(AttributeModifier.replace("class", "odd")); } final TaskDO task = rowEntry.getValue(); addLabelCols(row, null, task, null, report.getUser(), report.getFromDate().getTime(), report.getToDate().getTime()); final RepeatingView colWeekRepeater = new RepeatingView("colWeekRepeater"); row.add(colWeekRepeater); for (final MonthlyEmployeeReportWeek week : report.getWeeks()) { final MonthlyEmployeeReportEntry entry = week.getTaskEntries().get(task.getId()); colWeekRepeater.add( new Label(colWeekRepeater.newChildId(), entry != null ? entry.getFormattedDuration() : "")); } row.add(new Label("sum", report.getTaskDurations().get(task.getId()).getFormattedDuration())); } { // Sum row. final WebMarkupContainer row = new WebMarkupContainer(rowRepeater.newChildId()); rowRepeater.add(row); if (rowCounter++ % 2 == 0) { row.add(AttributeModifier.replace("class", "even")); } else { row.add(AttributeModifier.replace("class", "odd")); } addLabelCols(row, null, null, null, report.getUser(), report.getFromDate().getTime(), report.getToDate().getTime()).add(AttributeModifier.replace("style", "text-align: right;")); final RepeatingView colWeekRepeater = new RepeatingView("colWeekRepeater"); row.add(colWeekRepeater); for (final MonthlyEmployeeReportWeek week : report.getWeeks()) { colWeekRepeater.add(new Label(colWeekRepeater.newChildId(), week.getFormattedTotalDuration())); } row.add(new Label("sum", report.getFormattedTotalNetDuration()) .add(AttributeModifier.replace("style", "font-weight: bold; color:red; text-align: right;"))); } if (report.getTotalGrossDuration() != report.getTotalNetDuration()) { // Net sum row. final WebMarkupContainer row = new WebMarkupContainer(rowRepeater.newChildId()); rowRepeater.add(row); if (rowCounter++ % 2 == 0) { row.add(AttributeModifier.replace("class", "even")); } else { row.add(AttributeModifier.replace("class", "odd")); } final Component comp = new WebMarkupContainer("cost2").setVisible(false); row.add(comp); row.add(new Label("customer", "").setVisible(false)); row.add(new Label("project", "").setVisible(false)); final Label title = addCostType(row, getString("fibu.monthlyEmployeeReport.totalSum")); WicketUtils.addTooltip(title, new ResourceModel("fibu.monthlyEmployeeReport.totalSum.tooltip")); final WebMarkupContainer tdContainer = title.findParent(WebMarkupContainer.class); tdContainer.add(AttributeModifier.replace("colspan", "4")); tdContainer.add(AttributeModifier.replace("style", "font-weight: bold; text-align: right;")); final RepeatingView colWeekRepeater = new RepeatingView("colWeekRepeater"); row.add(colWeekRepeater); for (@SuppressWarnings("unused") final MonthlyEmployeeReportWeek week : report.getWeeks()) { colWeekRepeater.add(new Label(colWeekRepeater.newChildId(), "")); } row.add(new Label("sum", report.getFormattedTotalGrossDuration()) .add(AttributeModifier.replace("style", "font-weight: bold; text-align: right;"))); } }