List of usage examples for org.apache.wicket.markup.html.list LoopItem setVisible
public final Component setVisible(final boolean visible)
From source file:au.org.theark.core.web.component.worksheet.ArkExcelWorkSheetAsGrid.java
License:Open Source License
@SuppressWarnings({ "serial", "unchecked" }) private Loop createMainGrid() { // We create a Loop instance and uses PropertyModel to bind the Loop iteration to ExcelMetaData "rows" value return new Loop("rows", new PropertyModel(sheetMetaData, "rows")) { @Override//from w w w . j ava 2s .c om public void populateItem(LoopItem item) { final int row = item.getIndex(); if (!insertRows.isEmpty() || !updateRows.isEmpty() || !warningRows.isEmpty()) { setRowCssStyle(row, item); } if (row > 0 && row <= rowsToDisplay) { // creates the row numbers item.add(new Label("rowNo", new Model(String.valueOf(row)))); // We create an inner Loop instance and uses PropertyModel to bind the Loop iteration to ExcelMetaData "cols" value item.add(new Loop("cols", new PropertyModel<Integer>(sheetMetaData, "cols")) { @Override public void populateItem(LoopItem item) { final int col = item.getIndex(); /* * this model used for Label component gets data from cell instance Because we are interacting directly with the sheet instance * which gets updated each time we upload a new Excel File, the value for each cell is automatically updated */ IModel<Object> model = new Model() { /** * */ private static final long serialVersionUID = 1144128566137457199L; @Override public Serializable getObject() { Cell cell = sheet.getCell(col, row); if (cell instanceof DateCell) { DateCell dc = (DateCell) cell; Date d = dc.getDate(); return (sdf.format(d)); } return cell.getContents(); } }; Label cellData = new Label("cellData", model); item.add(cellData); ArkGridCell cell = new ArkGridCell(col, row); if (errorCells.contains(cell)) { item.add(errorCellBehavior); } else if (warningCells.contains(cell)) { item.add(warningCellBehavior); } else if (updateCells.contains(cell)) { item.add(updateCellBehavior); } else if (insertCells.contains(cell)) { item.add(insertCellBehavior); } } }); } else { item.add(new Label("rowNo", new Model(""))); item.setVisible(false); item.add(new Loop("cols", new PropertyModel(sheetMetaData, "cols")) { @Override protected void populateItem(LoopItem item) { Label cellData = new Label("cellData", new Model("")); item.add(cellData); } }); item.setVisible(false); } } /** * Determines whether row data is an insert or an update and amends the css of the * accordingly * <tr> * @param cell */ private void setRowCssStyle(Integer row, LoopItem item) { if (updateRows.contains(row)) { item.add(updateCellBehavior); } else if (warningRows.contains(row)) { item.add(warningCellBehavior); } else if (insertRows.contains(row)) { item.add(insertCellBehavior); } } }; }
From source file:au.org.theark.core.web.component.worksheet.ArkExcelWorkSheetAsGrid.java
License:Open Source License
@SuppressWarnings({ "serial", "unchecked" }) private Loop createMainGrid(final boolean header) { // We create a Loop instance and uses PropertyModel to bind the Loop iteration to ExcelMetaData "rows" value return new Loop("rows", new PropertyModel(sheetMetaData, "rows")) { @Override// ww w .j a va2 s.c o m public void populateItem(LoopItem item) { final int row = item.getIndex(); if (!insertRows.isEmpty() || !updateRows.isEmpty() || !warningRows.isEmpty()) { setRowCssStyle(row, item); } if ((header && row > 0 && row <= rowsToDisplay) || (!header && row <= rowsToDisplay)) { // creates the row numbers item.add(new Label("rowNo", new Model(String.valueOf(row)))); // We create an inner Loop instance and uses PropertyModel to bind the Loop iteration to ExcelMetaData "cols" value item.add(new Loop("cols", new PropertyModel<Integer>(sheetMetaData, "cols")) { @Override public void populateItem(LoopItem item) { final int col = item.getIndex(); /* * this model used for Label component gets data from cell instance Because we are interacting directly with the sheet instance * which gets updated each time we upload a new Excel File, the value for each cell is automatically updated */ IModel<Object> model = new Model() { /** * */ private static final long serialVersionUID = 1144128566137457199L; @Override public Serializable getObject() { Cell cell = sheet.getCell(col, row); if (cell instanceof DateCell) { DateCell dc = (DateCell) cell; Date d = dc.getDate(); return (sdf.format(d)); } return cell.getContents(); } }; Label cellData = new Label("cellData", model); item.add(cellData); ArkGridCell cell = new ArkGridCell(col, row); if (errorCells.contains(cell)) { item.add(errorCellBehavior); } else if (warningCells.contains(cell)) { item.add(warningCellBehavior); } else if (updateCells.contains(cell)) { item.add(updateCellBehavior); } else if (insertCells.contains(cell)) { item.add(insertCellBehavior); } } }); } else { item.add(new Label("rowNo", new Model(""))); item.setVisible(false); item.add(new Loop("cols", new PropertyModel(sheetMetaData, "cols")) { @Override protected void populateItem(LoopItem item) { Label cellData = new Label("cellData", new Model("")); item.add(cellData); } }); item.setVisible(false); } } /** * Determines whether row data is an insert or an update and amends the css of the * accordingly * <tr> * @param cell */ private void setRowCssStyle(Integer row, LoopItem item) { if (updateRows.contains(row)) { item.add(updateCellBehavior); } else if (warningRows.contains(row)) { item.add(warningCellBehavior); } else if (insertRows.contains(row)) { item.add(insertCellBehavior); } } }; }
From source file:com.googlecode.wicket.kendo.ui.widget.accordion.AccordionPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); final WebMarkupContainer root = new WebMarkupContainer("root"); this.add(root); root.add(new Loop("tabs", this.getCountModel()) { private static final long serialVersionUID = 1L; @Override//from w w w .ja v a2 s .c om protected LoopItem newItem(final int index) { ITab tab = AccordionPanel.this.getModelObject().get(index); LoopItem item = super.newItem(index); item.setVisible(tab.isVisible()); return item; } @Override protected void populateItem(LoopItem item) { int index = item.getIndex(); final ITab tab = AccordionPanel.this.getModelObject().get(index); item.add(AccordionPanel.this.newTitleLabel("title", tab.getTitle())); item.add(tab.getPanel("panel")); } }); this.widgetBehavior = JQueryWidget.newWidgetBehavior(this, root); this.add(this.widgetBehavior); }