Example usage for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable getColumns

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable getColumns

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.data.table DataTable getColumns.

Prototype

public final List<? extends IColumn<T, S>> getColumns() 

Source Link

Usage

From source file:ca.travelagency.reconciliation.CommissionPageTest.java

License:Apache License

@Test
public void testDataTable() {
    tester.startPage(CommissionPage.class);
    tester.assertRenderedPage(CommissionPage.class);

    tester.assertComponent(CommissionPage.DATA_TABLE, AjaxFallbackDefaultDataTable.class);

    @SuppressWarnings("unchecked")
    DataTable<InvoiceItem, String> dataTable = (DataTable<InvoiceItem, String>) tester
            .getComponentFromLastRenderedPage(CommissionPage.DATA_TABLE);

    Assert.assertEquals(3, dataTable.getItemCount());

    List<? extends IColumn<InvoiceItem, String>> columns = dataTable.getColumns();
    Assert.assertEquals(13, columns.size());

    validateNotSortableColumn(CommissionPage.INVOICE_PATH + Invoice.Properties.invoiceNumber.name(),
            columns.get(0));/*from  w  w w.  j av a2 s .  c o  m*/
    validateNotSortableColumn(InvoiceItem.PROPERTY_ID, columns.get(1));
    validateSortableColumn(InvoiceItem.Properties.supplier.name(), columns.get(2));
    validateSortableColumn(InvoiceItem.Properties.description.name(), columns.get(3));
    validateNotSortableColumn(CommissionPage.INVOICE_PATH + Invoice.Properties.invoiceTravelers.name(),
            columns.get(4));
    validateNotSortableColumn(InvoiceItem.Properties.saleAsString.name(), columns.get(5));
    validateNotSortableColumn(InvoiceItem.Properties.qty.name(), columns.get(6));
    validateNotSortableColumn(CommissionPage.SALES_AMOUNTS_PATH + SalesAmounts.Properties.saleAsString.name(),
            columns.get(7));
    validateNotSortableColumn(
            CommissionPage.SALES_AMOUNTS_PATH + SalesAmounts.Properties.taxOnCommissionAsString.name(),
            columns.get(8));
    validateNotSortableColumn(
            CommissionPage.SALES_AMOUNTS_PATH + SalesAmounts.Properties.commissionAsString.name(),
            columns.get(9));
    validateNotSortableColumn(InvoiceItem.Properties.commissionStatus.name(), columns.get(10));
    validateNotSortableColumn(InvoiceItem.Properties.bookingDate.name(), columns.get(11));
    validateNotSortableColumn(CommissionPage.INVOICE_PATH + Invoice.Properties.invoiceDestinations.name(),
            columns.get(12));
}

From source file:ca.travelagency.reconciliation.PaymentPageTest.java

License:Apache License

@Test
public void testDataTable() {
    tester.startPage(PaymentPage.class);
    tester.assertRenderedPage(PaymentPage.class);

    tester.assertComponent(PaymentPage.DATA_TABLE, AjaxFallbackDefaultDataTable.class);

    @SuppressWarnings("unchecked")
    DataTable<InvoicePayment, String> dataTable = (DataTable<InvoicePayment, String>) tester
            .getComponentFromLastRenderedPage(PaymentPage.DATA_TABLE);

    Assert.assertEquals(3, dataTable.getItemCount());

    List<? extends IColumn<InvoicePayment, String>> columns = dataTable.getColumns();
    Assert.assertEquals(9, columns.size());

    validateNotSortableColumn(InvoicePayment.Properties.paymentType.name(), columns.get(0));
    validateNotSortableColumn(InvoicePayment.Properties.date.name(), columns.get(1));
    validateNotSortableColumn(InvoicePayment.Properties.amountAsString.name(), columns.get(2));
    validateNotSortableColumn(InvoicePayment.Properties.reconciled.name(), columns.get(3));
    validateNotSortableColumn(PaymentPage.INVOICE_PATH + Invoice.Properties.invoiceNumber.name(),
            columns.get(4));/* ww w.j  a  v  a 2 s .c  o m*/
    validateNotSortableColumn(PaymentPage.INVOICE_PATH + Invoice.PROPERTY_ID, columns.get(5));
    validateNotSortableColumn(PaymentPage.INVOICE_PATH + Invoice.Properties.date.name(), columns.get(6));
    validateNotSortableColumn(PaymentPage.INVOICE_PATH + Invoice.Properties.customer.name(), columns.get(7));
    validateNotSortableColumn(PaymentPage.INVOICE_PATH + Invoice.Properties.invoiceTravelers.name(),
            columns.get(8));

}

From source file:ca.travelagency.traveler.TravelerLookupPanelTest.java

License:Apache License

@Test
public void testComponents() {
    TravelerLookupPanel travelerLookupPanel = new TravelerLookupPanel(COMPONENT_ID, travelerForm, null);
    tester.startComponentInPage(travelerLookupPanel);

    tester.assertComponent(COMPONENT_PATH + TravelerLookupPanel.FORM, Form.class);

    tester.assertComponent(/*from  ww  w.j av  a  2s. c  om*/
            COMPONENT_PATH + TravelerLookupPanel.FORM + BasePage.PATH_SEPARATOR + TravelerLookupPanel.FEEDBACK,
            ComponentFeedbackPanel.class);
    tester.assertComponent(
            COMPONENT_PATH + TravelerLookupPanel.FORM + BasePage.PATH_SEPARATOR + TravelerLookupPanel.SEARCH,
            IndicatingAjaxButton.class);
    tester.assertComponent(COMPONENT_PATH + TravelerLookupPanel.DATA, AjaxFallbackDefaultDataTable.class);

    tester.assertComponent(COMPONENT_PATH + TravelerLookupPanel.FORM + BasePage.PATH_SEPARATOR
            + TravelerFilter.Properties.searchText, TextField.class);
    tester.assertModelValue(COMPONENT_PATH + TravelerLookupPanel.FORM + BasePage.PATH_SEPARATOR
            + TravelerFilter.Properties.searchText, travelerForm.getModelObject().getLastName());

    Component component = tester.getComponentFromLastRenderedPage(COMPONENT_PATH + TravelerLookupPanel.DATA,
            false);
    @SuppressWarnings("unchecked")
    DataTable<Traveler, String> dataTable = (DataTable<Traveler, String>) component;

    Assert.assertEquals(1, dataTable.getItemCount());

    List<? extends IColumn<Traveler, String>> columns = dataTable.getColumns();
    Assert.assertEquals(4, columns.size());

    validateSortableColumn(Traveler.Properties.lastName.name(), Traveler.PROPERTY_NAME, columns.get(0));
    validateNotSortableColumn(Traveler.Properties.documentType.name(), columns.get(1));
    validateNotSortableColumn(Traveler.Properties.documentNumber.name(), columns.get(2));
    validateNotSortableColumn(Traveler.Properties.dateOfBirth.name(), columns.get(3));
}

From source file:com.norconex.commons.wicket.bootstrap.table.BootstrapNavigationToolbar.java

License:Apache License

public BootstrapNavigationToolbar(final DataTable<?, ?> table, boolean showNavigationLabel) {
    super(table);
    this.showNavigationLabel = showNavigationLabel;
    WebMarkupContainer span = new WebMarkupContainer("span");
    add(span);/*  ww  w  .  ja  v a 2 s .c o  m*/
    span.add(AttributeModifier.replace("colspan", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return String.valueOf(table.getColumns().size());
        }
    }));
    span.add(newPagingNavigator("navigator", table));
    span.add(newNavigatorLabel("navigatorLabel", table));
}

From source file:com.swordlord.gozer.components.wicket.action.button.list.GWListFilterToolbar.java

License:Open Source License

/**
 * Constructor/*from   w ww  .  j a  v  a2  s.  co m*/
 * 
 * @param table
 *            data table this toolbar will be added to
 * @param form
 *            the filter form
 * @param stateLocator
 *            locator responsible for finding object used to store filter's state
 */
public GWListFilterToolbar(final DataTable<?, String> table, final FilterForm form,
        final IFilterStateLocator stateLocator) {
    super(table);

    add(form);

    if (table == null) {
        throw new IllegalArgumentException("argument [table] cannot be null");
    }
    if (stateLocator == null) {
        throw new IllegalArgumentException("argument [stateLocator] cannot be null");
    }

    // populate the toolbar with components provided by filtered columns

    RepeatingView filters = new RepeatingView("filters");
    filters.setRenderBodyOnly(true);
    form.add(filters);

    Iterator<?> it = table.getColumns().iterator();
    while (it.hasNext()) {
        WebMarkupContainer item = new WebMarkupContainer(filters.newChildId());
        item.setRenderBodyOnly(true);

        IColumn<?, String> col = (IColumn<?, String>) it.next();
        Component filter = null;

        if (col instanceof IFilteredColumn) {
            IFilteredColumn<?, String> filteredCol = (IFilteredColumn<?, String>) col;
            filter = filteredCol.getFilter(FILTER_COMPONENT_ID, form);
        }

        if (filter == null) {
            filter = new NoFilter(FILTER_COMPONENT_ID);
        } else {
            if (!filter.getId().equals(FILTER_COMPONENT_ID)) {
                throw new IllegalStateException(
                        "filter component returned  with an invalid component id. invalid component id ["
                                + filter.getId() + "] required component id [" + FILTER_COMPONENT_ID
                                + "] generating column [" + col.toString() + "] ");
            }
        }

        item.add(filter);

        filters.add(item);
    }

}

From source file:com.zh.snmp.snmpweb.components.ZhNavigationToolbar.java

License:Open Source License

/**
 * Constructor//from  w ww .j a va2s. c om
 *
 * @param table
 *            data table this toolbar will be attached to
 */
public ZhNavigationToolbar(final DataTable<?> table) {
    super(table);
    this.table = table;

    WebMarkupContainer span = new WebMarkupContainer("span");
    add(span);
    span.add(new AttributeModifier("colspan", true,
            new Model<String>(String.valueOf(table.getColumns().length))));

    span.add(newPagingNavigator("navigator", table));
    span.add(newNavigatorLabel("navigatorLabel", table));
}

From source file:gr.interamerican.wicket.markup.html.panel.listTable.TestListTablePanel.java

License:Open Source License

/**
 * Tests creation of {@link ListTablePanel}.
 *//*  w  w w . j  a  v  a  2 s. c  o  m*/
@Test
public void testCreation() {
    tester.startPage(getTestPage(new ListTablePanel<BeanWithOrderedFields>(createDef())));
    tester.assertComponent(path("tableForm:listTable"), DataTable.class);
    tester.assertVisible(path("tableForm:listTable"));
    DataTable<BeanWithOrderedFields> table = (DataTable<BeanWithOrderedFields>) tester
            .getComponentFromLastRenderedPage(path("tableForm:listTable"));
    assertEquals(3, table.getColumns().size());
    assertEquals(7, table.getDataProvider().size());
}

From source file:net.unbewaff.wicketcrudr.components.StyledHeadersToolbar.java

License:Apache License

/**
 * Constructor//from   www .  j  ava 2 s  .com
 *
 * @param <T>
 *            the column data type
 * @param table
 *            data table this toolbar will be attached to
 * @param stateLocator
 *            locator for the ISortState implementation used by sortable
 *            headers
 */
public <T> StyledHeadersToolbar(final DataTable<T> table, final ISortStateLocator stateLocator) {
    super(table);

    RepeatingView headers = new RepeatingView("headers");
    add(headers);

    final List<IColumn<T>> columns = table.getColumns();
    for (final IColumn<T> column : columns) {
        AbstractItem item = new AbstractItem(headers.newChildId());
        headers.add(item);

        WebMarkupContainer header = null;
        if (column.isSortable()) {
            header = newSortableHeader("header", column.getSortProperty(), stateLocator);
        } else {
            header = new WebMarkupContainer("header");
        }

        if (column instanceof IMultipleStyledColumn) {
            AttributeAppender classAppender = new AttributeAppender("class",
                    ((IMultipleStyledColumn<?>) column).getCssClassForHeader()).setSeparator(" ");

            header.add(classAppender);
        } else if (column instanceof IStyledColumn) {
            AttributeAppender classAppender = new AttributeAppender("class",
                    ((IStyledColumn<?>) column).getCssClass()).setSeparator(" ");

            header.add(classAppender);
        }

        item.add(header);
        item.setRenderBodyOnly(true);
        header.add(column.getHeader("label"));
    }
}

From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.IsisAjaxHeadersToolbar.java

License:Apache License

/**
 * Constructor/*from  w  w w.ja  va 2 s  . co  m*/
 * 
 * @param <T>
 *            the column data type
 * @param table
 *            data table this toolbar will be attached to
 * @param stateLocator
 *            locator for the ISortState implementation used by sortable headers
 */
public <T> IsisAjaxHeadersToolbar(final DataTable<T, S> table, final ISortStateLocator<S> stateLocator) {
    super(table);

    RefreshingView<IColumn<T, S>> headers = new RefreshingView<IColumn<T, S>>("headers") {
        private static final long serialVersionUID = 1L;

        @Override
        protected Iterator<IModel<IColumn<T, S>>> getItemModels() {
            List<IModel<IColumn<T, S>>> columnsModels = new LinkedList<IModel<IColumn<T, S>>>();

            for (IColumn<T, S> column : table.getColumns()) {
                columnsModels.add(Model.of(column));
            }

            return columnsModels.iterator();
        }

        @Override
        protected void populateItem(Item<IColumn<T, S>> item) {
            final IColumn<T, S> column = item.getModelObject();

            WebMarkupContainer header;

            if (column.isSortable()) {
                header = newSortableHeader("header", column.getSortProperty(), stateLocator);

                if (column instanceof IStyledColumn) {
                    CssAttributeBehavior cssAttributeBehavior = new CssAttributeBehavior() {
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected String getCssClass() {
                            return ((IStyledColumn<?, S>) column).getCssClass();
                        }
                    };

                    header.add(cssAttributeBehavior);
                }

            } else {
                header = new WebMarkupContainer("header");
            }

            item.add(header);
            item.setRenderBodyOnly(true);
            Component label = column.getHeader("label");
            Component sortIcon = newSortIcon("sortIcon", column, stateLocator);
            header.add(label, sortIcon);

            if (column instanceof ObjectAdapterTitleColumn) {
                header.add(new CssClassAppender("title-column"));
            }
        }
    };
    add(headers);
}

From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.MyHeadersToolbar.java

License:Apache License

/**
 * Constructor//www  . jav a 2s . c  o m
 * 
 * @param <T>
 *            the column data type
 * @param table
 *            data table this toolbar will be attached to
 * @param stateLocator
 *            locator for the ISortState implementation used by sortable headers
 */
public <T> MyHeadersToolbar(final DataTable<T, S> table, final ISortStateLocator<S> stateLocator) {
    super(table);

    RefreshingView<IColumn<T, S>> headers = new RefreshingView<IColumn<T, S>>("headers") {
        private static final long serialVersionUID = 1L;

        @Override
        protected Iterator<IModel<IColumn<T, S>>> getItemModels() {
            List<IModel<IColumn<T, S>>> columnsModels = new LinkedList<IModel<IColumn<T, S>>>();

            for (IColumn<T, S> column : table.getColumns()) {
                columnsModels.add(Model.of(column));
            }

            return columnsModels.iterator();
        }

        @Override
        protected void populateItem(Item<IColumn<T, S>> item) {
            final IColumn<T, S> column = item.getModelObject();

            WebMarkupContainer header = null;

            if (column.isSortable()) {
                header = newSortableHeader("header", column.getSortProperty(), stateLocator);
            } else {
                header = new WebMarkupContainer("header");
            }

            if (column instanceof IStyledColumn) {
                CssAttributeBehavior cssAttributeBehavior = new CssAttributeBehavior() {
                    private static final long serialVersionUID = 1L;

                    @Override
                    protected String getCssClass() {
                        return ((IStyledColumn<?, S>) column).getCssClass();
                    }
                };

                header.add(cssAttributeBehavior);
            }

            item.add(header);
            item.setRenderBodyOnly(true);

            Component label;
            //Component checkBox;
            //if(column instanceof ObjectAdapterToggleboxColumn) {
            label = new Label("label");
            //    checkBox = column.getHeader("checkbox");
            //    label.setVisible(false);
            //} else {
            label = column.getHeader("label");
            //    checkBox = new CheckBox("checkbox");
            //    checkBox.setVisible(false);
            // }
            header.add(label);
            //header.add(checkBox);
        }
    };
    add(headers);
}