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

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

Introduction

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

Prototype

ISortableDataProvider

Source Link

Usage

From source file:ca.travelagency.invoice.view.InvoicePanel.java

License:Apache License

private Component addInvoiceTravelers(final IModel<Invoice> model) {
    List<IColumn<InvoiceTraveler, String>> columns = new ArrayList<IColumn<InvoiceTraveler, String>>();
    columns.add(new PropertyColumn<InvoiceTraveler, String>(new ResourceModel("invoice.panel.traveler.name"),
            InvoiceTraveler.PROPERTY_NAME));
    columns.add(new PropertyColumn<InvoiceTraveler, String>(
            new ResourceModel("invoice.panel.traveler.documentType"),
            InvoiceTraveler.Properties.documentType.name()));
    columns.add(new PropertyColumn<InvoiceTraveler, String>(
            new ResourceModel("invoice.panel.traveler.documentNumber"),
            InvoiceTraveler.Properties.documentNumber.name()));
    columns.add(//  ww  w  . ja  va2  s .co m
            new PropertyColumn<InvoiceTraveler, String>(new ResourceModel("invoice.panel.traveler.dateOfBirth"),
                    InvoiceTraveler.Properties.dateOfBirth.name()) {
                private static final long serialVersionUID = 1L;

                @Override
                public void populateItem(Item<ICellPopulator<InvoiceTraveler>> item, String componentId,
                        IModel<InvoiceTraveler> rowModel) {
                    item.add(DateLabel.forDateStyle(componentId,
                            Model.of(rowModel.getObject().getDateOfBirth()), DateUtils.DATE_STYLE));
                }
            });

    ISortableDataProvider<InvoiceTraveler, String> dataProvider = new ISortableDataProvider<InvoiceTraveler, String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<? extends InvoiceTraveler> iterator(long first, long count) {
            return model.getObject().getInvoiceTravelers().iterator();
        }

        @Override
        public long size() {
            return model.getObject().getInvoiceTravelers().size();
        }

        @Override
        public IModel<InvoiceTraveler> model(InvoiceTraveler invoiceTraveler) {
            return DaoEntityModelFactory.make(invoiceTraveler);
        }

        @Override
        public void detach() {
        }

        @Override
        public ISortState<String> getSortState() {
            return null;
        }
    };
    DefaultDataTable<InvoiceTraveler, String> dataTable = new DefaultDataTable<InvoiceTraveler, String>(
            Invoice.Properties.invoiceTravelers.name(), columns, dataProvider,
            Math.max(model.getObject().getInvoiceTravelers().size(), 1));

    return dataTable;
}

From source file:ca.travelagency.invoice.view.InvoicePanel.java

License:Apache License

private Component addInvoiceDestinations(final IModel<Invoice> model) {
    List<IColumn<InvoiceDestination, String>> columns = new ArrayList<IColumn<InvoiceDestination, String>>();
    columns.add(new PropertyColumn<InvoiceDestination, String>(
            new ResourceModel("invoice.panel.destination.departurePlace"),
            InvoiceDestination.Properties.departurePlace.name()));
    columns.add(new PropertyColumn<InvoiceDestination, String>(
            new ResourceModel("invoice.panel.destination.departureDate"),
            InvoiceDestination.Properties.departureDate.name()) {
        private static final long serialVersionUID = 1L;

        @Override/*www.j a v a  2  s.  com*/
        public void populateItem(Item<ICellPopulator<InvoiceDestination>> item, String componentId,
                IModel<InvoiceDestination> rowModel) {
            item.add(DateLabel.forDateStyle(componentId, Model.of(rowModel.getObject().getDepartureDate()),
                    DateUtils.DATE_STYLE));
        }
    });
    columns.add(new PropertyColumn<InvoiceDestination, String>(
            new ResourceModel("invoice.panel.destination.arrivalPlace"),
            InvoiceDestination.Properties.arrivalPlace.name()));
    columns.add(new PropertyColumn<InvoiceDestination, String>(
            new ResourceModel("invoice.panel.destination.arrivalDate"),
            InvoiceDestination.Properties.arrivalDate.name()) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<InvoiceDestination>> item, String componentId,
                IModel<InvoiceDestination> rowModel) {
            item.add(DateLabel.forDateStyle(componentId, Model.of(rowModel.getObject().getArrivalDate()),
                    DateUtils.DATE_STYLE));
        }
    });

    ISortableDataProvider<InvoiceDestination, String> dataProvider = new ISortableDataProvider<InvoiceDestination, String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<? extends InvoiceDestination> iterator(long first, long count) {
            return model.getObject().getInvoiceDestinations().iterator();
        }

        @Override
        public long size() {
            return model.getObject().getInvoiceDestinations().size();
        }

        @Override
        public IModel<InvoiceDestination> model(InvoiceDestination invoiceDestination) {
            return DaoEntityModelFactory.make(invoiceDestination);
        }

        @Override
        public void detach() {
        }

        @Override
        public ISortState<String> getSortState() {
            return null;
        }
    };
    DefaultDataTable<InvoiceDestination, String> dataTable = new DefaultDataTable<InvoiceDestination, String>(
            Invoice.Properties.invoiceDestinations.name(), columns, dataProvider,
            Math.max(model.getObject().getInvoiceDestinations().size(), 1));

    return dataTable;
}

From source file:ca.travelagency.invoice.view.InvoicePanel.java

License:Apache License

private Component addInvoiceNotes(final IModel<Invoice> model) {
    List<IColumn<InvoiceNote, String>> columns = new ArrayList<IColumn<InvoiceNote, String>>();
    columns.add(new PropertyColumn<InvoiceNote, String>(new ResourceModel("invoice.panel.note.text"),
            InvoiceNote.Properties.text.name()) {
        private static final long serialVersionUID = 1L;

        @Override/* w w  w.  ja v  a  2 s .  c o  m*/
        public void populateItem(Item<ICellPopulator<InvoiceNote>> item, String componentId,
                IModel<InvoiceNote> rowModel) {
            item.add(new Label(componentId, rowModel.getObject().getText().replaceAll("\\<.*?>", "")));
        }
    });
    columns.add(new PropertyColumn<InvoiceNote, String>(new ResourceModel("invoice.panel.note.private"),
            InvoiceNote.Properties.privateNote.name()) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<InvoiceNote>> item, String componentId,
                IModel<InvoiceNote> rowModel) {
            item.add(new CheckMarkPanel(componentId, rowModel.getObject().isPrivateNote()));
        }
    });
    columns.add(new PropertyColumn<InvoiceNote, String>(new ResourceModel("invoice.panel.note.date"),
            InvoiceNote.Properties.date.name()) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<InvoiceNote>> item, String componentId,
                IModel<InvoiceNote> rowModel) {
            item.add(DateLabel.forDateStyle(componentId, Model.of(rowModel.getObject().getDate()),
                    DateUtils.DATE_STYLE));
        }
    });

    ISortableDataProvider<InvoiceNote, String> dataProvider = new ISortableDataProvider<InvoiceNote, String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<? extends InvoiceNote> iterator(long first, long count) {
            return model.getObject().getInvoiceNotes().iterator();
        }

        @Override
        public long size() {
            return model.getObject().getInvoiceNotes().size();
        }

        @Override
        public IModel<InvoiceNote> model(InvoiceNote invoiceNote) {
            return DaoEntityModelFactory.make(invoiceNote);
        }

        @Override
        public void detach() {
        }

        @Override
        public ISortState<String> getSortState() {
            return null;
        }
    };
    DefaultDataTable<InvoiceNote, String> dataTable = new DefaultDataTable<InvoiceNote, String>(
            Invoice.Properties.invoiceNotes.name(), columns, dataProvider,
            Math.max(model.getObject().getInvoiceNotes().size(), 1));

    return dataTable;
}

From source file:ca.travelagency.invoice.view.InvoicePanel.java

License:Apache License

private Component addInvoicePayments(final IModel<Invoice> model) {
    List<IColumn<InvoicePayment, String>> columns = new ArrayList<IColumn<InvoicePayment, String>>();
    columns.add(new PropertyColumn<InvoicePayment, String>(new ResourceModel("invoice.panel.payment.date"),
            InvoicePayment.Properties.date.name()) {
        private static final long serialVersionUID = 1L;

        @Override//from  w ww  . j  a v a 2s  .  c om
        public void populateItem(Item<ICellPopulator<InvoicePayment>> item, String componentId,
                IModel<InvoicePayment> rowModel) {
            item.add(DateLabel.forDateStyle(componentId, Model.of(rowModel.getObject().getDate()),
                    DateUtils.DATE_STYLE));
        }
    });
    columns.add(new NumberPropertyColumn<InvoicePayment>(new ResourceModel("invoice.panel.payment.amount"),
            InvoicePayment.Properties.amountAsString.name()));
    columns.add(new NumberPropertyColumn<InvoicePayment>(new ResourceModel("invoice.panel.payment.reconciled"),
            InvoicePayment.Properties.reconciled.name()) {
        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<InvoicePayment>> item, String componentId,
                IModel<InvoicePayment> rowModel) {
            item.add(new CheckMarkPanel(componentId, rowModel.getObject().isReconciled()));
        }
    });
    columns.add(new PropertyColumn<InvoicePayment, String>(new ResourceModel("invoice.panel.payment.type"),
            InvoicePayment.Properties.paymentType.name()));

    ISortableDataProvider<InvoicePayment, String> dataProvider = new ISortableDataProvider<InvoicePayment, String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<? extends InvoicePayment> iterator(long first, long count) {
            return model.getObject().getInvoicePayments().iterator();
        }

        @Override
        public long size() {
            return model.getObject().getInvoicePayments().size();
        }

        @Override
        public IModel<InvoicePayment> model(InvoicePayment invoicePayment) {
            return DaoEntityModelFactory.make(invoicePayment);
        }

        @Override
        public void detach() {
        }

        @Override
        public ISortState<String> getSortState() {
            return null;
        }
    };
    DefaultDataTable<InvoicePayment, String> dataTable = new DefaultDataTable<InvoicePayment, String>(
            Invoice.Properties.invoicePayments.name(), columns, dataProvider,
            Math.max(model.getObject().getInvoicePayments().size(), 1));

    return dataTable;
}

From source file:org.hippoecm.frontend.plugins.reviewedactions.dialogs.RevisionHistoryView.java

License:Apache License

public RevisionHistoryView(String id, RevisionHistory history) {
    super(id);/*from  www . ja v a 2  s .c  om*/

    this.history = history;

    final SortState state = new SortState();
    final ISortableDataProvider<Revision, String> provider = new ISortableDataProvider<Revision, String>() {
        @Override
        public ISortState<String> getSortState() {
            return state;
        }

        @Override
        public void detach() {
        }

        @Override
        public long size() {
            return getRevisions().size();
        }

        @Override
        public IModel<Revision> model(Revision revision) {
            return Model.of(revision);
        }

        @Override
        public Iterator<Revision> iterator(long first, long count) {
            return getRevisions().subList((int) first, (int) (first + count)).iterator();
        }
    };

    final ListDataTable<Revision> dataTable = new ListDataTable<>("datatable", getTableDefinition(), provider,
            new TableSelectionListener<Revision>() {
                @Override
                public void selectionChanged(IModel<Revision> model) {
                    onSelect(model);
                }
            }, true, this);
    add(dataTable);

    add(CssClass.append(new LoadableDetachableModel<String>() {
        protected String load() {
            return getRevisions().isEmpty() ? "hippo-empty" : "";
        }
    }));

    add(CssClass.append("hippo-history-documents"));
}