001
014
015 package com.liferay.portlet.dynamicdatamapping.render;
016
017 import com.liferay.portal.kernel.language.LanguageUtil;
018 import com.liferay.portal.kernel.util.HtmlUtil;
019 import com.liferay.portal.kernel.util.StringUtil;
020 import com.liferay.portlet.dynamicdatamapping.model.DDMFormFieldType;
021 import com.liferay.portlet.dynamicdatamapping.model.Value;
022 import com.liferay.portlet.dynamicdatamapping.storage.DDMFormFieldValue;
023
024 import java.util.Locale;
025
026
029 public class TextHTMLDDMFormFieldValueRenderer
030 extends BaseTextDDMFormFieldValueRenderer {
031
032 @Override
033 public String getSupportedDDMFormFieldType() {
034 return DDMFormFieldType.TEXT_HTML;
035 }
036
037 @Override
038 protected ValueAccessor getValueAcessor(Locale locale) {
039 return new ValueAccessor(locale) {
040
041 @Override
042 public String get(DDMFormFieldValue ddmFormFieldValue) {
043 Value value = ddmFormFieldValue.getValue();
044
045 return StringUtil.replace(
046 _HTML,
047 new String[] {"[$DDM_FORM_FIELD_VALUE$]", "[$PREVIEW$]"},
048 new String[] {
049 HtmlUtil.escapeJS(value.getString(locale)),
050 LanguageUtil.get(locale, "preview")
051 });
052 }
053
054 };
055 }
056
057 private static final String _HTML =
058 "<a href=\"\" onclick=\"Liferay.DDLUtil.openPreviewDialog(" +
059 "'[$DDM_FORM_FIELD_VALUE$]');\">([$PREVIEW$])</a>";
060
061 }