Skip to content
Snippets Groups Projects
Commit f7775afe authored by srosse's avatar srosse
Browse files

OO-280: add css class for selenium test in FormItem

parent c2a2348f
No related branches found
No related tags found
No related merge requests found
Showing with 58 additions and 8 deletions
......@@ -173,6 +173,10 @@ public interface FormItem extends FormBaseComponentIdProvider {
*/
public boolean hasFocus();
public String getElementCssClass();
public void setElementCssClass(String cssClass);
/**
* called if this component is dispatched, e.g. was clicked (double clicked,
* ...)
......
......@@ -31,6 +31,7 @@ import org.olat.core.gui.components.form.flexible.FormDecorator;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.SpacerElement;
import org.olat.core.util.StringHelper;
/**
* Description:<br>
......@@ -115,6 +116,14 @@ public class FormDecoratorImpl implements FormDecorator {
else
return (item instanceof SpacerElement);
}
public String getElementCssClass(String formItemName) {
FormItem item = getFormItem(formItemName);
if (item != null && StringHelper.containsNonWhitespace(item.getElementCssClass())) {
return " " + item.getElementCssClass();
}
return "";
}
/**
* Internal helper to get a form item for the given name
......
......@@ -81,6 +81,7 @@ public abstract class FormItemImpl implements FormItem, InlineElement {
private boolean isInlineEditingOn;
private Component inlineEditingComponent;
private String i18nKey4EmptyText="inline.empty.click.for.edit";
private String elementCssClass;
/**
*
......@@ -114,6 +115,14 @@ public abstract class FormItemImpl implements FormItem, InlineElement {
return name;
}
public String getElementCssClass() {
return elementCssClass;
}
public void setElementCssClass(String elementCssClass) {
this.elementCssClass = elementCssClass;
}
@Override
public boolean isInlineEditingOn() {
if(!isInlineEditingElement) throw new AssertException("isInlineEditingOn called although it is not a inlineEditingElement");
......
......@@ -8,9 +8,9 @@
#foreach ($item in $formitemnames)
#if ($f.isVisible($item))
#if($f.hasError($item))
<div class="b_form_element_wrapper b_form_error b_clearfix">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_form_error b_clearfix">
#else
<div class="b_form_element_wrapper b_clearfix">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_clearfix">
#end
#if ($f.hasLabel($item))
<div class="b_form_element_label">
......
......@@ -8,9 +8,9 @@
#foreach ($item in $formitemnames)
#if ($f.isVisible($item))
#if($f.hasError($item))
<div class="b_form_element_wrapper b_form_horizontal b_form_error">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_form_horizontal b_form_error">
#else
<div class="b_form_element_wrapper b_form_horizontal">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_form_horizontal">
#end
#if ($f.hasLabel($item))
<div class="b_form_element_label b_form_horizontal">
......
......@@ -7,10 +7,11 @@
#foreach ($item in $formitemnames)
#if ($f.isVisible($item))
$f.getElementCssClass($item)
#if($f.hasError($item))
<div class="b_form_element_wrapper b_form_vertical b_form_error b_clearfix">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_form_vertical b_form_error b_clearfix">
#else
<div class="b_form_element_wrapper b_form_vertical b_clearfix">
<div class="b_form_element_wrapper$f.getElementCssClass($item) b_form_vertical$f.getElementCssClass($item) b_clearfix">
#end
#if ($f.hasLabel($item))
<div class="b_form_element_label b_form_vertical">
......
......@@ -225,25 +225,33 @@ public class SearchForm extends FormBasicController{
setFormTitle("search.generic");
displayName = uifactory.addTextElement("cif_displayname", "cif.displayname", 255, "", formLayout);
displayName.setElementCssClass("o_sel_repo_search_displayname");
displayName.setFocus(true);
author = uifactory.addTextElement("cif_author", "cif.author", 255, "", formLayout);
author.setElementCssClass("o_sel_repo_search_author");
if (limitUsername != null) {
author.setValue(limitUsername);
author.setEnabled(false);
}
description = uifactory.addTextElement("cif_description", "cif.description", 255, "", formLayout);
description.setElementCssClass("o_sel_repo_search_description");
id = uifactory.addTextElement("cif_id", "cif.id", 12, "", formLayout);
id.setElementCssClass("o_sel_repo_search_id");
id.setVisible(isAdmin);
id.setRegexMatchCheck("\\d*", "search.id.format");
typesSelection = uifactory.addCheckboxesVertical("search.limit.type", formLayout, new String[]{"xx"}, new String[]{""}, new String[]{null}, 1);
typesSelection.addActionListener(listener, FormEvent.ONCLICK);
typesSelection.setElementCssClass("o_sel_repo_search_type_limit");
String[] typeKeys = getResources().toArray(new String[0]);
String[] typeCssClasess = getCssResources(getResources());
types = uifactory.addCheckboxesVertical("cif_types", "cif.type", formLayout, typeKeys, getTranslatedResources(getResources()), typeCssClasess, 1);
types.setElementCssClass("o_sel_repo_search_types");
types = uifactory.addCheckboxesVertical("cif_types", "cif.type", formLayout, getResources().toArray(new String[0]), getTranslatedResources(getResources()), null, 1);
FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
formLayout.add(buttonLayout);
......@@ -269,6 +277,15 @@ public class SearchForm extends FormBasicController{
return l.toArray(new String[0]);
}
private String[] getCssResources(List<String> resources) {
String[] cssClasses= new String[resources.size()];
int count = 0;
for(String key: resources){
cssClasses[count++] = "o_sel_repo_search_" + key.toLowerCase().replace(".", "_");
}
return cssClasses;
}
private List<String> getResources() {
List<String> resources = new ArrayList<String>();
resources.add(CourseModule.getCourseTypeName());
......
......@@ -238,13 +238,16 @@ class SpecialPrefsForm extends FormBasicController {
setFormContextHelp(this.getClass().getPackage().getName(), "home-prefs-special.html", "help.hover.home.prefs.special");
prefsElement = uifactory.addCheckboxesVertical("prefs", "title.prefs.accessibility", formLayout, keys, values, null, 1);
prefsElement.setElementCssClass("o_sel_home_settings_accessibility");
//fxdiff BAKS-7 Resume function
HistoryModule historyModule = (HistoryModule)CoreSpringFactory.getBean("historyModule");
if(historyModule.isResumeEnabled()) {
resumeElement = uifactory.addRadiosVertical("resume", "resume.label", formLayout, resumeKeys, resumeValues);
resumeElement.setElementCssClass("o_sel_home_settings_resume");
}
if(historyModule.isBackEnabled()) {
backElement = uifactory.addRadiosVertical("back-enabling", "back.label", formLayout, yesNoKeys, yesNoValues);
backElement.setElementCssClass("o_sel_home_settings_back_enabling");
}
update();
......@@ -323,6 +326,7 @@ class UserPrefsResetForm extends FormBasicController {
values = new String[] {translate("reset.elements.guiprefs"), translate("reset.elements.sysprefs"), translate("reset.elements.resume")};
resetElements = uifactory.addCheckboxesVertical("prefs", "reset.elements", formLayout, keys, values, null, 1);
resetElements.setElementCssClass("o_sel_home_settings_reset_sysprefs");
final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
formLayout.add(buttonLayout);
......
......@@ -143,6 +143,7 @@ public class PreferencesFormController extends FormBasicController {
// Username
StaticTextElement username = uifactory.addStaticTextElement("form.username", tobeChangedIdentity.getName(), formLayout);
username.setElementCssClass("o_sel_home_settings_username");
username.setEnabled(false);
// Language
......@@ -151,6 +152,7 @@ public class PreferencesFormController extends FormBasicController {
String[] langValues = StringHelper.getMapValuesAsStringArray(languages);
ArrayHelper.sort(langKeys, langValues, false, true, false);
language = uifactory.addDropdownSingleselect("form.language", formLayout, langKeys, langValues, null);
language.setElementCssClass("o_sel_home_settings_language");
String langKey = prefs.getLanguage();
// Preselect the users language if available. Maye not anymore enabled on
// this server
......@@ -170,6 +172,7 @@ public class PreferencesFormController extends FormBasicController {
translate("form.fontsize.presentation")
};
fontsize = uifactory.addDropdownSingleselect("form.fontsize", formLayout, cssFontsizeKeys, cssFontsizeValues, null);
fontsize.setElementCssClass("o_sel_home_settings_fontsize");
fontsize.select(prefs.getFontsize(), true);
fontsize.addActionListener(this, FormEvent.ONCHANGE);
......@@ -185,6 +188,7 @@ public class PreferencesFormController extends FormBasicController {
intervalValues[i] = translate(i18nPrefix + intervalKeys[i]);
}
notificationInterval = uifactory.addDropdownSingleselect("form.notification", formLayout, intervalKeys, intervalValues, null);
notificationInterval.setElementCssClass("o_sel_home_settings_notification_interval");
notificationInterval.select(prefs.getNotificationInterval(), true);
}
//fxdiff VCRP-16: intern mail system
......@@ -193,6 +197,7 @@ public class PreferencesFormController extends FormBasicController {
String userEmail = tobeChangedIdentity.getUser().getProperty(UserConstants.EMAIL, getLocale());
String[] mailInternLabels = new String[] { translate("mail." + mailIntern[0], userEmail), translate("mail." + mailIntern[1], userEmail) };
mailSystem = uifactory.addRadiosVertical("mail-system", "mail.system", formLayout, mailIntern, mailInternLabels);
mailSystem.setElementCssClass("o_sel_home_settings_mail");
String mailPrefs = prefs.getReceiveRealMail();
if(StringHelper.containsNonWhitespace(mailPrefs)) {
......@@ -213,6 +218,7 @@ public class PreferencesFormController extends FormBasicController {
String currentCharset = UserManager.getInstance().getUserCharset(tobeChangedIdentity);
String[] csKeys = StringHelper.getMapKeysAsStringArray(charsets);
charset = uifactory.addDropdownSingleselect("form.charset", formLayout, csKeys, csKeys, null);
charset.setElementCssClass("o_sel_home_settings_cahrset");
charset.select(currentCharset, true);
// Submit and cancel buttons
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment