package com.constellio.app.ui.framework.components.fields; import org.vaadin.openesignforms.ckeditor.CKEditorConfig; import org.vaadin.openesignforms.ckeditor.CKEditorTextField; import com.constellio.app.services.factories.ConstellioFactories; import com.constellio.app.ui.application.ConstellioUI; import com.constellio.model.services.factories.ModelLayerFactory; import com.vaadin.data.Property; public class BaseRichTextArea extends CKEditorTextField { public BaseRichTextArea() { super(newConfig()); init(); } public BaseRichTextArea(String caption) { super(newConfig()); setCaption(caption); init(); } public BaseRichTextArea(Property<?> dataSource) { super(newConfig()); setPropertyDataSource(dataSource); init(); } public BaseRichTextArea(String caption, Property<?> dataSource) { super(newConfig()); setCaption(caption); setPropertyDataSource(dataSource); init(); } public BaseRichTextArea(String caption, String value) { super(newConfig()); setCaption(caption); setValue(value); init(); } private void init() { setWidth("100%"); } private static CKEditorConfig newConfig() { ConstellioFactories constellioFactories = ConstellioUI.getCurrent().getConstellioFactories(); ModelLayerFactory modelLayerFactory = constellioFactories.getModelLayerFactory(); String toolbarConfig = modelLayerFactory.getSystemConfigs().getCKEditorToolbarConfig(); CKEditorConfig config = new CKEditorConfig(); config.addCustomToolbarLine(toolbarConfig); config.setWidth("100%"); return config; } }