001
014
015 package com.liferay.taglib.aui;
016
017 import com.liferay.portal.kernel.util.StringBundler;
018 import com.liferay.portal.kernel.util.StringPool;
019 import com.liferay.portal.kernel.util.Validator;
020
021 import java.util.Map;
022
023
026 public class AUIUtil {
027
028
031 public static final String BUTTON_INPUT_PREFIX = "btn-input";
032
033 public static final String BUTTON_PREFIX = "btn";
034
035 public static final String FIELD_PREFIX = "field";
036
037
040 public static final String INPUT_PREFIX = "field-input";
041
042
045 public static final String LABEL_CHOICE_PREFIX = "choice-label";
046
047
050 public static final String LABEL_FIELD_PREFIX = "field-label";
051
052 public static String buildCss(
053 String prefix, boolean disabled, boolean first, boolean last,
054 String cssClass) {
055
056 StringBundler sb = new StringBundler();
057
058 sb.append(prefix);
059
060 if (disabled) {
061 sb.append(StringPool.SPACE);
062 sb.append("disabled");
063 }
064
065 if (first) {
066 sb.append(StringPool.SPACE);
067 sb.append(prefix);
068 sb.append("-first");
069 }
070 else if (last) {
071 sb.append(StringPool.SPACE);
072 sb.append(prefix);
073 sb.append("-last");
074 }
075
076 if (Validator.isNotNull(cssClass)) {
077 sb.append(StringPool.SPACE);
078 sb.append(cssClass);
079 }
080
081 return sb.toString();
082 }
083
084
088 public static String buildCss(
089 String prefix, String baseTypeCss, boolean disabled, boolean first,
090 boolean last, String cssClass) {
091
092 return buildCss(prefix, disabled, first, last, cssClass);
093 }
094
095 public static String buildData(Map<String, Object> data) {
096 if ((data == null) || data.isEmpty()) {
097 return StringPool.BLANK;
098 }
099
100 StringBundler sb = new StringBundler(data.size() * 5);
101
102 for (Map.Entry<String, Object> entry : data.entrySet()) {
103 String dataKey = entry.getKey();
104 String dataValue = String.valueOf(entry.getValue());
105
106 sb.append("data-");
107 sb.append(dataKey);
108 sb.append("=\"");
109 sb.append(dataValue);
110 sb.append("\" ");
111 }
112
113 return sb.toString();
114 }
115
116 public static String buildLabel(
117 String baseType, boolean inlineField, boolean showForLabel,
118 String forLabel) {
119
120 StringBundler sb = new StringBundler(4);
121
122 if (baseType.equals("boolean")) {
123 baseType = "checkbox";
124 }
125
126 if (baseType.equals("checkbox") || baseType.equals("radio")) {
127 sb.append("class=\"" + baseType);
128
129 if (inlineField) {
130 sb.append(" inline");
131 }
132
133 sb.append("\" ");
134 }
135 else {
136 sb.append("class=\"control-label\" ");
137 }
138
139 if (showForLabel) {
140 sb.append("for=\"" + forLabel + "\"");
141 }
142
143 return sb.toString();
144 }
145
146
150 public static String buildLabel(
151 String inlineLabel, boolean showForLabel, String forLabel,
152 boolean choiceField) {
153
154 return buildLabel(StringPool.BLANK, false, showForLabel, forLabel);
155 }
156
157 }