/* * Copyright 2004 original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.extremecomponents.table.view.html; import org.apache.commons.lang.StringUtils; import org.extremecomponents.table.core.TableModel; /** * @author Jeff Johnston */ public class BuilderUtils { private BuilderUtils() { } public static boolean showPagination(TableModel model) { return model.getTableHandler().getTable().isShowPagination(); } public static boolean showExports(TableModel model) { if (!model.getTableHandler().getTable().isShowExports()) { return false; } return model.getExportHandler().getExports().size() > 0; } public static boolean showStatusBar(TableModel model) { return model.getTableHandler().getTable().isShowStatusBar(); } public static boolean showTitle(TableModel model) { return model.getTableHandler().getTable().isShowTitle(); } public static boolean filterable(TableModel model) { return model.getTableHandler().getTable().isFilterable(); } public static boolean isFirstPageEnabled(int page) { if (page == 1) { return false; } return true; } public static boolean isPrevPageEnabled(int page) { if (page - 1 < 1) { return false; } return true; } public static boolean isNextPageEnabled(int page, int totalPages) { if (page + 1 > totalPages) { return false; } return true; } public static boolean isLastPageEnabled(int page, int totalPages) { if (page == totalPages || totalPages == 0) { return false; } return true; } public static int getTotalPages(TableModel model) { int currentRowsDisplayed = model.getLimit().getCurrentRowsDisplayed(); if (currentRowsDisplayed == 0) { currentRowsDisplayed = model.getLimit().getTotalRows(); } int totalRows = model.getLimit().getTotalRows(); int totalPages = 1; if (currentRowsDisplayed != 0) { totalPages = totalRows / currentRowsDisplayed; } if ((currentRowsDisplayed != 0) && ((totalRows % currentRowsDisplayed) > 0)) { totalPages++; } return totalPages; } public static String getImage(TableModel model, String imageName) { String imagePath = model.getTableHandler().getTable().getImagePath(); if (StringUtils.isNotBlank(imagePath)) { int index = imagePath.indexOf("*."); return imagePath.substring(0, index) + imageName + imagePath.substring(index + 1); } return null; } /** * Get the form to use. If the Table form attribute * is declared then use that, else use the tableId. * * @return The name of the form. */ public static String getForm(TableModel model) { String form = model.getTableHandler().getTable().getForm(); if (StringUtils.isBlank(form)) { form = model.getTableHandler().getTable().getTableId(); } return form; } }