From 06f3e004b65c3941e86618c0c7e4016872d20088 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 9 Jul 2012 15:16:00 +0200 Subject: [PATCH] OO-294: add css class for the button in the different Settings Panels --- .../flexible/impl/elements/FormButtonRenderer.java | 4 ++++ .../form/flexible/impl/elements/FormCancel.java | 5 +++++ .../org/olat/core/gui/components/link/Link.java | 10 +++++++++- .../olat/core/gui/components/link/LinkRenderer.java | 4 ++++ .../java/org/olat/user/ChangePrefsController.java | 13 +++++++++---- .../org/olat/user/PreferencesFormController.java | 8 ++++++-- 6 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java index 70bed0a6480..7dc44570979 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java @@ -35,6 +35,7 @@ import org.olat.core.gui.render.RenderingState; 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; /** * Description:<br> @@ -69,6 +70,9 @@ class FormButtonRenderer implements ComponentRenderer { } sb.append(FormJSHelper.getRawJSFor(fs.getRootForm(), id, fs.getAction())); sb.append(" class=\"b_button "); + if(StringHelper.containsNonWhitespace(fs.getElementCssClass())) { + sb.append(fs.getElementCssClass()); + } if(!source.isEnabled()){ sb.append(" b_disabled "); } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java index 9f88c25def2..a82d05e546d 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormCancel.java @@ -141,6 +141,11 @@ public class FormCancel extends FormItemImpl implements Disposable, Cancel { cancelLink.setCustomEnabledLinkCSS(customEnabledLinkCSS); } + @Override + public void setElementCssClass(String elementCssClass) { + cancelLink.setElementCssClass(elementCssClass); + } + /** * @see org.olat.core.gui.components.form.flexible.elements.Cancel#setI18nKey(java.lang.String) */ diff --git a/src/main/java/org/olat/core/gui/components/link/Link.java b/src/main/java/org/olat/core/gui/components/link/Link.java index ad293c9d6ce..ad09683dac7 100644 --- a/src/main/java/org/olat/core/gui/components/link/Link.java +++ b/src/main/java/org/olat/core/gui/components/link/Link.java @@ -80,6 +80,7 @@ public class Link extends Component { private String customDisplayText; private String customEnabledLinkCSS; private String customDisabledLinkCSS; + private String elementCssClass; private String target; boolean markIt = false; private Object internalAttachedObj; @@ -338,8 +339,15 @@ public class Link extends Component { } setDirty(true); } - + public String getElementCssClass() { + return elementCssClass; + } + + public void setElementCssClass(String elementCssClass) { + this.elementCssClass = elementCssClass; + } + public void removeCSS(){ this.presentation = presentationBeforeCustomCSS; setDirty(true); diff --git a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java index da4a9275285..a0ad96d2d35 100644 --- a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java +++ b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java @@ -43,6 +43,7 @@ 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.logging.AssertException; +import org.olat.core.util.StringHelper; /** * Description: Renders the link component depending of features and style. @@ -84,6 +85,9 @@ public class LinkRenderer implements ComponentRenderer { if (!link.isEnabled()) { cssSb.append(" b_disabled "); } + if(StringHelper.containsNonWhitespace(link.getElementCssClass())) { + cssSb.append(link.getElementCssClass()).append(" "); + } if (presentation == Link.BUTTON_XSMALL) { cssSb.append("b_button b_xsmall"); } else if (presentation == Link.BUTTON_SMALL) { diff --git a/src/main/java/org/olat/user/ChangePrefsController.java b/src/main/java/org/olat/user/ChangePrefsController.java index 833ea7ac0c7..e200dd649f0 100644 --- a/src/main/java/org/olat/user/ChangePrefsController.java +++ b/src/main/java/org/olat/user/ChangePrefsController.java @@ -36,17 +36,19 @@ import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElem import org.olat.core.gui.components.form.flexible.elements.SingleSelection; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; +import org.olat.core.gui.components.form.flexible.impl.elements.FormCancel; +import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.id.Identity; -import org.olat.core.util.UserSession; import org.olat.core.id.User; import org.olat.core.id.context.HistoryManager; import org.olat.core.id.context.HistoryModule; import org.olat.core.util.StringHelper; +import org.olat.core.util.UserSession; import org.olat.core.util.prefs.Preferences; import org.olat.core.util.prefs.PreferencesFactory; import org.olat.properties.PropertyManager; @@ -253,8 +255,10 @@ class SpecialPrefsForm extends FormBasicController { final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator()); formLayout.add(buttonLayout); - uifactory.addFormSubmitButton("submit", buttonLayout); - uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); + FormSubmit submitButton = uifactory.addFormSubmitButton("submit", buttonLayout); + submitButton.setElementCssClass("o_sel_home_settings_gui_submit"); + FormCancel cancelButton = uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); + cancelButton.setElementCssClass("o_sel_home_settings_gui_cancel"); } private void update() { @@ -330,7 +334,8 @@ class UserPrefsResetForm extends FormBasicController { final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator()); formLayout.add(buttonLayout); - uifactory.addFormSubmitButton("reset.submit", buttonLayout); + FormSubmit submitButton = uifactory.addFormSubmitButton("reset.submit", buttonLayout); + submitButton.setElementCssClass("o_sel_home_settings_reset_sysprefs_submit"); } @Override diff --git a/src/main/java/org/olat/user/PreferencesFormController.java b/src/main/java/org/olat/user/PreferencesFormController.java index a3778f25f79..938ef3eabb0 100644 --- a/src/main/java/org/olat/user/PreferencesFormController.java +++ b/src/main/java/org/olat/user/PreferencesFormController.java @@ -34,6 +34,8 @@ import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; +import org.olat.core.gui.components.form.flexible.impl.elements.FormCancel; +import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowBackOffice; @@ -224,8 +226,10 @@ public class PreferencesFormController extends FormBasicController { // Submit and cancel buttons final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator()); formLayout.add(buttonLayout); - uifactory.addFormSubmitButton("submit", buttonLayout); - uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); + FormSubmit submitButton = uifactory.addFormSubmitButton("submit", buttonLayout); + submitButton.setElementCssClass("o_sel_home_settings_prefs_submit"); + FormCancel cancelButton = uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); + cancelButton.setElementCssClass("o_sel_home_settings_prefs_cancel"); } protected void formInnerEvent (UserRequest ureq, FormItem source, FormEvent event) { -- GitLab