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

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

Introduction

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

Prototype

long size();

Source Link

Document

Gets total number of items in the collection represented by the DataProvider

Usage

From source file:com.evolveum.midpoint.web.page.admin.server.TaskWfChildPanel.java

License:Apache License

private void initLayout(final IModel<TaskDto> taskDtoModel) {

    changesModel = new PropertyModel<>(taskDtoModel, TaskDto.F_CHANGE_BEING_APPROVED);
    TaskChangesPanel changesPanel = new TaskChangesPanel(ID_CHANGES, changesModel);
    changesPanel.setOutputMarkupId(true);
    add(changesPanel);//  w w w  .j a  va2 s.  c o m

    final ItemApprovalHistoryPanel history = new ItemApprovalHistoryPanel(ID_HISTORY,
            new PropertyModel<WfContextType>(taskDtoModel, TaskDto.F_WORKFLOW_CONTEXT),
            UserProfileStorage.TableId.PAGE_TASK_HISTORY_PANEL,
            (int) parentPage.getItemsPerPage(UserProfileStorage.TableId.PAGE_TASK_HISTORY_PANEL));
    history.setOutputMarkupId(true);
    add(history);
    add(WebComponentUtil.createHelp(ID_HISTORY_HELP));

    WebMarkupContainer workItemsContainer = new WebMarkupContainer(ID_CURRENT_WORK_ITEMS_CONTAINER);
    final ISortableDataProvider<WorkItemDto, String> provider = new ListDataProvider(this,
            new PropertyModel<List<WorkItemDto>>(taskDtoModel, TaskDto.F_WORK_ITEMS));
    final WorkItemsPanel workItemsPanel = new WorkItemsPanel(ID_CURRENT_WORK_ITEMS, provider,
            UserProfileStorage.TableId.PAGE_TASK_CURRENT_WORK_ITEMS_PANEL,
            (int) parentPage.getItemsPerPage(UserProfileStorage.TableId.PAGE_TASK_CURRENT_WORK_ITEMS_PANEL),
            WorkItemsPanel.View.ITEMS_FOR_PROCESS);
    workItemsPanel.setOutputMarkupId(true);
    workItemsContainer.add(workItemsPanel);
    workItemsContainer.setOutputMarkupId(true);
    workItemsContainer.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return provider.size() > 0;
        }
    });
    workItemsContainer.add(WebComponentUtil.createHelp(ID_CURRENT_WORK_ITEMS_HELP));
    add(workItemsContainer);

    final PropertyModel<List<ProcessInstanceDto>> relatedRequestsModel = new PropertyModel<>(taskDtoModel,
            TaskDto.F_WORKFLOW_REQUESTS);

    WebMarkupContainer relatedRequestsContainer = new WebMarkupContainer(ID_RELATED_REQUESTS_CONTAINER);
    relatedRequestsContainer.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return CollectionUtils.isNotEmpty(relatedRequestsModel.getObject());
        }
    });
    relatedRequestsContainer.setOutputMarkupId(true);
    add(relatedRequestsContainer);
    ISortableDataProvider<ProcessInstanceDto, String> requestsProvider = new ListDataProvider(this,
            relatedRequestsModel);
    relatedRequestsContainer.add(new ProcessInstancesPanel(ID_RELATED_REQUESTS, requestsProvider, null, 10,
            ProcessInstancesPanel.View.TASKS_FOR_PROCESS, null));
    relatedRequestsContainer.add(WebComponentUtil.createHelp(ID_RELATED_REQUESTS_HELP));

    add(new AjaxFallbackLink(ID_SHOW_PARENT) {
        public void onClick(AjaxRequestTarget target) {
            String oid = taskDtoModel.getObject().getParentTaskOid();
            if (oid != null) {
                PageParameters parameters = new PageParameters();
                parameters.add(OnePageParameterEncoder.PARAMETER, oid);
                setResponsePage(PageTaskEdit.class, parameters);
            }
        }
    });
    add(WebComponentUtil.createHelp(ID_SHOW_PARENT_HELP));
}

From source file:org.artifactory.common.wicket.component.table.columns.checkbox.SelectAllCheckboxColumn.java

License:Open Source License

@SuppressWarnings({ "unchecked" })
private void selectAll(SortableTable<T> table, AjaxRequestTarget target) {
    ISortableDataProvider<T> dataProvider = table.getSortableDataProvider();
    Iterator<T> iterator = (Iterator<T>) dataProvider.iterator(0, dataProvider.size());
    while (iterator.hasNext()) {
        T rowObject = iterator.next();//from   www  .  ja v  a 2  s  .co m
        if (canChangeItemSelectionState(rowObject)) {
            PropertyResolver.setValue(getExpression(), rowObject, isSelectAll(), null);
        }
    }
    onSelectAll(iterator, target);
    target.add(table);
}

From source file:org.cast.cwm.service.ResponseService.java

License:Open Source License

@Override
public void setResponseSortOrder(IModel<? extends Prompt> mPrompt, IModel<Response> mResponse, Integer index) {

    // DataProvider for Responses for this Prompt.
    // It is assumed that the target Response is included in this list.
    ISortableDataProvider<Response, String> dataProvider = getResponseProviderForPrompt(mPrompt);
    dataProvider.getSortState().setPropertySortOrder("sortOrder", SortOrder.ASCENDING);

    if (index == null)
        index = (int) dataProvider.size() - 1;

    if (index < 0)
        throw new IllegalArgumentException("Index cannot be negative.");

    if (index >= (dataProvider.size()))
        throw new IndexOutOfBoundsException(
                "Index {" + index + "} exceeds the number of Responses {" + dataProvider.size() + "}.");

    Iterator<? extends Response> iterator = dataProvider.iterator(0, dataProvider.size());

    int iteratorIndex = 0;
    boolean foundResponse = false;

    while (iterator.hasNext()) {
        Response r = iterator.next();

        // Reached the target response
        if (r.equals(mResponse.getObject()))
            foundResponse = true;/*from www. ja v a 2 s. c  o m*/

        // Overwrite sortOrder; making room for insertion if necessary
        if (iteratorIndex >= index && !foundResponse)
            r.setSortOrder(iteratorIndex + 1);
        else
            r.setSortOrder(iteratorIndex);

        iteratorIndex++;
    }

    if (!foundResponse)
        throw new IllegalStateException("Unknown behavior - Response was not found in iterator.");

    mResponse.getObject().setSortOrder(index);

    cwmService.flushChanges();

}

From source file:org.hippoecm.frontend.editor.workflow.dialog.SelectableDocumentsView.java

License:Apache License

public SelectableDocumentsView(final String id, final IModel<String> message,
        final ISortableDataProvider<Node, String> provider, final IEditorManager editorManager) {
    super(id);/*www .j  ava  2s .c  o  m*/

    this.provider = provider;
    this.editorMgr = editorManager;

    setOutputMarkupId(true);

    add(new Label("message", message));

    dataTable = new ListDataTable("datatable", getTableDefinition(), provider, new TableSelectionListener() {
        public void selectionChanged(IModel model) {
        }
    }, true, this);
    dataTable.add(CssClass.append(DocumentListColumn.DOCUMENT_LIST_CSS_CLASS));

    dataTable.add(CssClass.append(new AbstractReadOnlyModel<String>() {
        @Override
        public String getObject() {
            return provider.size() > getPageSize() ? "hippo-paging" : "";
        }
    }));

    add(dataTable);

    add(actionContainer = new WebMarkupContainer("actions"));

    add(CssClass.append("hippo-selectable-documents"));
    add(CssClass.append(new LoadableDetachableModel<String>() {
        @Override
        protected String load() {
            if (SelectableDocumentsView.this.provider.size() == 0) {
                return "hippo-empty";
            }
            return "";
        }
    }));

    AjaxLink selectAll = new AjaxLink("select-all") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            selectedDocuments.clear();
            ISortableDataProvider<Node, String> provider = SelectableDocumentsView.this.provider;
            Iterator<? extends Node> iter = provider.iterator(0, provider.size());
            while (iter.hasNext()) {
                selectedDocuments.add(provider.model(iter.next()));
            }
            target.add(SelectableDocumentsView.this);
        }
    };
    actionContainer.add(selectAll);

    AjaxLink selectNone = new AjaxLink("select-none") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            selectedDocuments.clear();
            target.add(SelectableDocumentsView.this);
        }
    };
    actionContainer.add(selectNone);

    openButton = new AjaxLink("open") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            openEditor();
        }
    };
    if (editorMgr == null) {
        openButton.setEnabled(false);
    }
    add(openButton);
}

From source file:org.opensingular.form.wicket.mapper.masterdetail.MasterDetailBSDataTableBuilder.java

License:Apache License

@Override
protected BSDataTable<T, S> newDatatable(String id, List<? extends IColumn<T, S>> columns,
        ISortableDataProvider<T, S> dataProvider) {
    return new BSDataTable<T, S>(id, columns, dataProvider) {
        @Override/*ww w .j  a  va2 s . co  m*/
        protected AbstractToolbar newNoRecordsToolbar() {
            if (isShowNoRecordsToolbar()) {
                return new MasterDetailNoRecordsToolbar(this);
            } else {
                return null;
            }
        }

        @Override
        protected AbstractToolbar newPaginationToolbar() {
            return new BSPaginationToolbar(this) {
                @Override
                protected BSPaginationPanel newPagination(String id, DataTable<?, ?> table) {
                    return new BSPaginationPanel(id, table) {
                        @Override
                        protected NumberedPageLink newNumberedPageLink(ListItem<Long> item) {
                            NumberedPageLink link = super.newNumberedPageLink(item);
                            item.add($b.classAppender("has-error", $m.get(() -> (!SValidationFeedbackHandler
                                    .collectNestedErrors(new FeedbackFence(item)).isEmpty()))));

                            SValidationFeedbackHandler.bindTo(new FeedbackFence(item)).addListener(
                                    (handler, target, container, baseInstances, oldErrors, newErrors) -> {
                                        if (target != null)
                                            target.add(item);
                                    }).setInstanceModels($m.get(() -> {

                                        final IDataProvider<SInstance> dataProvider = (IDataProvider<SInstance>) table
                                                .getDataProvider();

                                        final long pageIndex = item.getModelObject();
                                        final long first = pageIndex * table.getItemsPerPage();
                                        final long count = Math.min(table.getItemsPerPage(),
                                                dataProvider.size() - first);

                                        final Iterator<? extends SInstance> it = dataProvider.iterator(first,
                                                count);
                                        final List<IModel<? extends SInstance>> list = Lists.newArrayList();
                                        while (it.hasNext())
                                            list.add(dataProvider.model(it.next()));
                                        return list;
                                    }));
                            return link;
                        }
                    };
                }
            };
        }
    };
}