From 5753e9677a691423b8871a1e02b28c11dac7768e Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 28 May 2014 10:29:36 +0200 Subject: [PATCH] OO-990: small fix --- .../org/olat/admin/user/imp/ImportStep01.java | 4 +- .../AbstractCSSIconFlexiCellRenderer.java | 76 +++++++++++++++++++ .../table/AbstractFlexiTableRenderer.java | 5 +- .../table/CSSIconFlexiCellRenderer.java | 41 ++-------- .../table/FlexiTableCustomRenderer.java | 2 +- .../gui/components/table/TableController.java | 4 +- 6 files changed, 90 insertions(+), 42 deletions(-) create mode 100644 src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractCSSIconFlexiCellRenderer.java diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep01.java b/src/main/java/org/olat/admin/user/imp/ImportStep01.java index d33b1a90441..4b799b0ec7b 100644 --- a/src/main/java/org/olat/admin/user/imp/ImportStep01.java +++ b/src/main/java/org/olat/admin/user/imp/ImportStep01.java @@ -31,7 +31,7 @@ import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; import org.olat.core.gui.components.form.flexible.impl.Form; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; -import org.olat.core.gui.components.form.flexible.impl.elements.table.CSSIconFlexiCellRenderer; +import org.olat.core.gui.components.form.flexible.impl.elements.table.AbstractCSSIconFlexiCellRenderer; import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; @@ -186,7 +186,7 @@ class ImportStep01 extends BasicStep { * Initial Date: 21.03.2008 <br> * @author gnaegi */ -class UserNewOldCustomFlexiCellRenderer extends CSSIconFlexiCellRenderer { +class UserNewOldCustomFlexiCellRenderer extends AbstractCSSIconFlexiCellRenderer { @Override protected String getCellValue(Object cellValue) { diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractCSSIconFlexiCellRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractCSSIconFlexiCellRenderer.java new file mode 100644 index 00000000000..a3a377ca086 --- /dev/null +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractCSSIconFlexiCellRenderer.java @@ -0,0 +1,76 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.core.gui.components.form.flexible.impl.elements.table; + +import org.apache.commons.lang.StringEscapeUtils; +import org.olat.core.gui.render.StringOutput; +import org.olat.core.gui.render.URLBuilder; +import org.olat.core.gui.translator.Translator; +import org.olat.core.util.StringHelper; + +/** + * + * Initial date: 28.05.2014<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public abstract class AbstractCSSIconFlexiCellRenderer implements FlexiCellRenderer { + + private final FlexiCellRenderer delegate; + + public AbstractCSSIconFlexiCellRenderer() { + this(null); + } + + public AbstractCSSIconFlexiCellRenderer(FlexiCellRenderer delegate) { + this.delegate = delegate; + } + + /** + * Render Date type with Formatter depending on locale. Render all other types with toString. + * @param target + * @param cellValue + * @param translator + */ + @Override + public void render(StringOutput target, Object cellValue, int row, FlexiTableComponent source, + URLBuilder ubu, Translator translator) { + target.append("<span><i class=\"o_icon ") + .append(getCssClass(cellValue)); + String hoverText = getHoverText(cellValue, translator); + if (StringHelper.containsNonWhitespace(hoverText)) { + target.append("\" title=\""); + target.append(StringEscapeUtils.escapeHtml(hoverText)); + } + target.append("\"> </i>"); + if(delegate == null) { + target.append(getCellValue(cellValue)); + } else { + delegate.render(target, cellValue, row, source, ubu, translator); + } + target.append("</span>"); + } + + protected abstract String getCssClass(Object val); + + protected abstract String getCellValue(Object val); + + protected abstract String getHoverText(Object val, Translator translator); +} diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java index cd650321e5d..a00de32f158 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java @@ -75,7 +75,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere renderBody(renderer, sb, ftC, ubu, translator, renderResult); sb.append("</tbody></table>"); - renderFooterButtons(renderer, sb, ftC, ubu, translator, renderResult, args); + renderFooterButtons(sb, ftC, translator); sb.append("</div>"); //source @@ -256,8 +256,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere } } - protected void renderFooterButtons(Renderer renderer, StringOutput sb, FlexiTableComponent ftC, URLBuilder ubu, Translator translator, - RenderResult renderResult, String[] args) { + protected void renderFooterButtons(StringOutput sb, FlexiTableComponent ftC, Translator translator) { FlexiTableElementImpl ftE = ftC.getFlexiTableElement(); if(ftE.isSelectAllEnable()) { diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/CSSIconFlexiCellRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/CSSIconFlexiCellRenderer.java index 8c58d210e96..a2112ea7541 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/CSSIconFlexiCellRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/CSSIconFlexiCellRenderer.java @@ -43,11 +43,7 @@ package org.olat.core.gui.components.form.flexible.impl.elements.table;/** * <p> */ -import org.apache.commons.lang.StringEscapeUtils; -import org.olat.core.gui.render.StringOutput; -import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; -import org.olat.core.util.StringHelper; /** * <h3>Description:</h3> @@ -57,10 +53,9 @@ import org.olat.core.util.StringHelper; * * @author Florian Gnaegi, frentix GmbH, http://www.frentix.com */ -public class CSSIconFlexiCellRenderer implements FlexiCellRenderer { +public class CSSIconFlexiCellRenderer extends AbstractCSSIconFlexiCellRenderer { private final String cssClass; - private final FlexiCellRenderer delegate; public CSSIconFlexiCellRenderer() { this(null, null); @@ -75,43 +70,21 @@ public class CSSIconFlexiCellRenderer implements FlexiCellRenderer { } public CSSIconFlexiCellRenderer(String cssClass, FlexiCellRenderer delegate) { + super(delegate); this.cssClass = cssClass; - this.delegate = delegate; - } - - /** - * Render Date type with Formatter depending on locale. Render all other types with toString. - * @param target - * @param cellValue - * @param translator - */ - @Override - public void render(StringOutput target, Object cellValue, int row, FlexiTableComponent source, - URLBuilder ubu, Translator translator) { - target.append("<span><i class=\"o_icon ") - .append(getCssClass(cellValue)); - String hoverText = getHoverText(cellValue, translator); - if (StringHelper.containsNonWhitespace(hoverText)) { - target.append("\" title=\""); - target.append(StringEscapeUtils.escapeHtml(hoverText)); - } - target.append("\"> </i>"); - if(delegate == null) { - target.append(getCellValue(cellValue)); - } else { - delegate.render(target, cellValue, row, source, ubu, translator); - } - target.append("</span>"); } + @Override protected String getCssClass(Object val) { return cssClass; } - + + @Override protected String getCellValue(Object val) { return " "; } - + + @Override protected String getHoverText(Object val, Translator translator) { return null; } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableCustomRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableCustomRenderer.java index 1d31c8c6574..97c50b952c0 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableCustomRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableCustomRenderer.java @@ -62,7 +62,7 @@ class FlexiTableCustomRenderer extends AbstractFlexiTableRenderer implements Com renderBody(renderer, sb, ftC, ubu, translator, renderResult); sb.append("</div>"); - renderFooterButtons(renderer, sb, ftC, ubu, translator, renderResult, args); + renderFooterButtons(sb, ftC, translator); sb.append("</div>"); //source diff --git a/src/main/java/org/olat/core/gui/components/table/TableController.java b/src/main/java/org/olat/core/gui/components/table/TableController.java index bef87e080e6..c114d642ec4 100644 --- a/src/main/java/org/olat/core/gui/components/table/TableController.java +++ b/src/main/java/org/olat/core/gui/components/table/TableController.java @@ -267,12 +267,12 @@ public class TableController extends BasicController { //preference + download links preferenceLink = LinkFactory.createCustomLink("prefLink", "cmd.changecols", "", Link.BUTTON | Link.NONTRANSLATED, contentVc, this); - preferenceLink.setCustomEnabledLinkCSS("o_icon o_icon-lg o_icon_customize"); + preferenceLink.setIconLeftCSS("o_icon o_icon_customize"); preferenceLink.setTooltip(translate("command.changecols")); downloadLink = LinkFactory.createCustomLink("downloadLink", "cmd.download", "", Link.BUTTON | Link.NONTRANSLATED, contentVc, this); downloadLink.setTooltip(translate("table.export.title")); - downloadLink.setCustomEnabledLinkCSS("o_icon o_icon-lg o_icon_download"); + downloadLink.setIconLeftCSS("o_icon o_icon_download"); putInitialPanel(contentVc); } -- GitLab