Search in sources :

Example 1 with Theme

use of org.olat.core.gui.themes.Theme in project OpenOLAT by OpenOLAT.

the class FormUIFactory method addRichTextElementForQTI21.

/**
 * This is a version with olat media only. The tiny media is disabled because we need to catch the object
 * tag use by QTI and interpret it as a olat video. It enable the strict uri validation for file names.
 *
 * @param name
 * @param i18nLabel
 * @param initialHTMLValue
 * @param rows
 * @param cols
 * @param baseContainer
 * @param formLayout
 * @param usess
 * @param wControl
 * @return
 */
public RichTextElement addRichTextElementForQTI21(String name, String i18nLabel, String initialHTMLValue, int rows, int cols, VFSContainer baseContainer, FormItemContainer formLayout, UserSession usess, WindowControl wControl) {
    // Create rich text element with bare bone configuration
    RichTextElement rte = new RichTextElementImpl(name, initialHTMLValue, rows, cols, formLayout.getRootForm(), formLayout.getTranslator().getLocale());
    setLabelIfNotNull(i18nLabel, rte);
    // Now configure editor
    Theme theme = wControl.getWindowBackOffice().getWindow().getGuiTheme();
    rte.getEditorConfiguration().setConfigProfileFormCompactEditor(usess, theme, baseContainer);
    rte.getEditorConfiguration().setInvalidElements(RichTextConfiguration.INVALID_ELEMENTS_FORM_FULL_VALUE_UNSAVE_WITH_SCRIPT);
    rte.getEditorConfiguration().setExtendedValidElements("script[src|type|defer]");
    rte.getEditorConfiguration().disableTinyMedia();
    rte.getEditorConfiguration().setFilenameUriValidation(true);
    rte.getEditorConfiguration().setFigCaption(false);
    // Add to form and finish
    formLayout.add(rte);
    return rte;
}
Also used : RichTextElement(org.olat.core.gui.components.form.flexible.elements.RichTextElement) RichTextElementImpl(org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextElementImpl) Theme(org.olat.core.gui.themes.Theme)

Example 2 with Theme

use of org.olat.core.gui.themes.Theme in project OpenOLAT by OpenOLAT.

the class FormUIFactory method addRichTextElementForStringDataCompact.

public RichTextElement addRichTextElementForStringDataCompact(String name, String i18nLabel, String initialHTMLValue, int rows, int cols, VFSContainer baseContainer, FormItemContainer formLayout, UserSession usess, WindowControl wControl) {
    // Create rich text element with bare bone configuration
    RichTextElement rte = new RichTextElementImpl(name, initialHTMLValue, rows, cols, formLayout.getRootForm(), formLayout.getTranslator().getLocale());
    setLabelIfNotNull(i18nLabel, rte);
    // Now configure editor
    Theme theme = wControl.getWindowBackOffice().getWindow().getGuiTheme();
    rte.getEditorConfiguration().setConfigProfileFormCompactEditor(usess, theme, baseContainer);
    // Add to form and finish
    formLayout.add(rte);
    return rte;
}
Also used : RichTextElement(org.olat.core.gui.components.form.flexible.elements.RichTextElement) RichTextElementImpl(org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextElementImpl) Theme(org.olat.core.gui.themes.Theme)

Example 3 with Theme

use of org.olat.core.gui.themes.Theme in project OpenOLAT by OpenOLAT.

the class FormUIFactory method addRichTextElementForStringData.

/**
 * Add a rich text formattable element that offers simple formatting
 * functionality and loads the data form the given string value. Use
 * item.getEditorConfiguration() to add more editor features if you need
 * them
 *
 * @param name
 *            Name of the form item
 * @param i18nLabel
 *            The i18n key of the label or NULL when no label is used
 * @param initialValue
 *            The initial value or NULL if no initial value is available
 * @param rows
 *            The number of lines the editor should offer. Use -1 to
 *            indicate no specific height
 * @param cols
 *            The number of characters width the editor should offer. Use -1
 *            to indicate no specific width
 * @param externalToolbar
 *            true: use an external toolbar that is only visible when the
 *            user clicks into the text area; false: use the static toolbar
 * @param fullProfile
 *            false: load only the necessary plugins; true: load all plugins
 *            from the full profile
 * @param baseContainer
 *            The VFS container where to load resources from (images etc) or
 *            NULL to not allow embedding of media files at all
 * @param formLayout
 *            The form item container where to add the richt text element
 * @param customLinkTreeModel A custom link tree model or NULL not not use a
 *          custom model
 * @param formLayout The form item container where to add the rich
 *          text element
 * @param usess The user session that dispatches the images
 * @param wControl the current window controller
 * @param wControl
 *            the current window controller
 * @return The rich text element instance
 */
public RichTextElement addRichTextElementForStringData(String name, String i18nLabel, String initialHTMLValue, int rows, int cols, boolean fullProfile, VFSContainer baseContainer, CustomLinkTreeModel customLinkTreeModel, FormItemContainer formLayout, UserSession usess, WindowControl wControl) {
    // Create richt text element with bare bone configuration
    WindowBackOffice backoffice = wControl.getWindowBackOffice();
    RichTextElement rte = new RichTextElementImpl(name, initialHTMLValue, rows, cols, formLayout.getRootForm(), formLayout.getTranslator().getLocale());
    setLabelIfNotNull(i18nLabel, rte);
    // Now configure editor
    Theme theme = backoffice.getWindow().getGuiTheme();
    rte.getEditorConfiguration().setConfigProfileFormEditor(fullProfile, usess, theme, baseContainer, customLinkTreeModel);
    // Add to form and finish
    formLayout.add(rte);
    return rte;
}
Also used : RichTextElement(org.olat.core.gui.components.form.flexible.elements.RichTextElement) RichTextElementImpl(org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextElementImpl) WindowBackOffice(org.olat.core.gui.control.WindowBackOffice) Theme(org.olat.core.gui.themes.Theme)

Example 4 with Theme

use of org.olat.core.gui.themes.Theme in project openolat by klemens.

the class FormUIFactory method addRichTextElementForStringDataCompact.

public RichTextElement addRichTextElementForStringDataCompact(String name, String i18nLabel, String initialHTMLValue, int rows, int cols, VFSContainer baseContainer, FormItemContainer formLayout, UserSession usess, WindowControl wControl) {
    // Create rich text element with bare bone configuration
    RichTextElement rte = new RichTextElementImpl(name, initialHTMLValue, rows, cols, formLayout.getRootForm(), formLayout.getTranslator().getLocale());
    setLabelIfNotNull(i18nLabel, rte);
    // Now configure editor
    Theme theme = wControl.getWindowBackOffice().getWindow().getGuiTheme();
    rte.getEditorConfiguration().setConfigProfileFormCompactEditor(usess, theme, baseContainer);
    // Add to form and finish
    formLayout.add(rte);
    return rte;
}
Also used : RichTextElement(org.olat.core.gui.components.form.flexible.elements.RichTextElement) RichTextElementImpl(org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextElementImpl) Theme(org.olat.core.gui.themes.Theme)

Example 5 with Theme

use of org.olat.core.gui.themes.Theme in project OpenOLAT by OpenOLAT.

the class BaseFullWebappController method addThemeJS.

/**
 * adds the theme custom js-code to the mainVc
 */
private void addThemeJS() {
    Theme currentTheme = getWindowControl().getWindowBackOffice().getWindow().getGuiTheme();
    if (currentTheme.hasCustomJS()) {
        String relPath = currentTheme.getRelPathToCustomJS();
        CustomJSComponent customJS = new CustomJSComponent("customThemejs", new String[] { relPath });
        if (isLogDebugEnabled()) {
            logDebug("injecting custom javascript from current OLAT-Theme", relPath);
        }
        // no need to wrap in panel, will never change
        mainVc.put(customJS.getComponentName(), customJS);
    }
}
Also used : Theme(org.olat.core.gui.themes.Theme) CustomJSComponent(org.olat.core.gui.components.htmlheader.jscss.CustomJSComponent)

Aggregations

Theme (org.olat.core.gui.themes.Theme)10 RichTextElement (org.olat.core.gui.components.form.flexible.elements.RichTextElement)8 RichTextElementImpl (org.olat.core.gui.components.form.flexible.impl.elements.richText.RichTextElementImpl)8 CustomJSComponent (org.olat.core.gui.components.htmlheader.jscss.CustomJSComponent)2 WindowBackOffice (org.olat.core.gui.control.WindowBackOffice)2