/******************************************************************************* * Copyright (c) 2015 Development Gateway, Inc and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the MIT License (MIT) * which accompanies this distribution, and is available at * https://opensource.org/licenses/MIT * * Contributors: * Development Gateway - initial API and implementation *******************************************************************************/ package org.devgateway.toolkit.forms.wicket.components.table; import org.apache.wicket.AttributeModifier; import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigation; import org.apache.wicket.markup.html.list.LoopItem; import org.apache.wicket.markup.html.navigation.paging.IPageable; import org.apache.wicket.markup.html.navigation.paging.IPagingLabelProvider; import org.apache.wicket.model.AbstractReadOnlyModel; /** * @author idobre * @since 11/25/14 */ public class BootstrapPagingNavigation extends AjaxPagingNavigation { private static final long serialVersionUID = 5153575341725990502L; public BootstrapPagingNavigation(final String id, final IPageable pageable) { super(id, pageable); } public BootstrapPagingNavigation(final String id, final IPageable pageable, final IPagingLabelProvider labelProvider) { super(id, pageable, labelProvider); } @Override protected void populateItem(final LoopItem loopItem) { super.populateItem(loopItem); final long pageIndex = getStartIndex() + loopItem.getIndex(); // Add disabled class to enclosing list item. loopItem.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (pageable.getCurrentPage() == pageIndex) { return "active"; } else { return ""; } } })); // Do not mask disabled link by em tag. // ((AbstractLink) // loopItem.get("pageLink")).setBeforeDisabledLink("").setAfterDisabledLink(""); } }