From 53ce888ee338a1c6fb9ef37fc7284990f4462291 Mon Sep 17 00:00:00 2001 From: Andre Azzolini Date: Fri, 10 Jan 2014 13:31:40 -0600 Subject: [PATCH] #180 - Add admin field hint, help, and tooltip support --- .../openadmin/web/form/entity/Field.java | 46 ++++++++++++++++++- .../web/service/FormBuilderServiceImpl.java | 5 +- .../open_admin_style/css/admin/blc-admin.css | 12 +++++ .../templates/components/entityForm.html | 3 ++ .../templates/components/fieldTooltip.html | 3 ++ .../templates/components/ruleBuilder.html | 3 +- .../fields/additional_foreign_key.html | 1 + .../templates/fields/asset_lookup.html | 2 + .../templates/fields/asset_url.html | 2 + .../templates/fields/boolean.html | 1 + .../fields/broadleaf_enumeration.html | 1 + .../templates/fields/color.html | 1 + .../templates/fields/combo_field.html | 1 + .../fields/data_driven_enumeration.html | 1 + .../templates/fields/date.html | 1 + .../templates/fields/decimal.html | 1 + .../fields/explicit_enumeration.html | 1 + .../templates/fields/html.html | 1 + .../templates/fields/html_basic.html | 1 + .../open_admin_style/templates/fields/id.html | 1 + .../templates/fields/integer.html | 1 + .../templates/fields/media.html | 5 +- .../templates/fields/money.html | 1 + .../templates/fields/password.html | 1 + .../templates/fields/readonly.html | 1 + .../templates/fields/string.html | 11 ++++- .../templates/fields/text.html | 1 + 27 files changed, 102 insertions(+), 7 deletions(-) create mode 100644 admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/fieldTooltip.html diff --git a/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/form/entity/Field.java b/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/form/entity/Field.java index e714f7aaa3c..631d691ebba 100644 --- a/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/form/entity/Field.java +++ b/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/form/entity/Field.java @@ -17,6 +17,7 @@ package org.broadleafcommerce.openadmin.web.form.entity; import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.broadleafcommerce.common.presentation.client.SupportedFieldType; @@ -49,6 +50,9 @@ public class Field { protected Boolean isFilterSortDisabled; protected Boolean isDerived; protected Boolean isLargeEntry; + protected String hint; + protected String tooltip; + protected String help; /* ************ */ /* WITH METHODS */ @@ -143,11 +147,26 @@ public Field withDerived(Boolean isDerived) { setDerived(isDerived); return this; } - + public Field withLargeEntry(Boolean isLargeEntry) { setLargeEntry(isLargeEntry); return this; } + + public Field withHint(String hint) { + setHint(hint); + return this; + } + + public Field withHelp(String help) { + setHelp(help); + return this; + } + + public Field withTooltip(String tooltip) { + setTooltip(tooltip); + return this; + } /* ************************ */ /* CUSTOM GETTERS / SETTERS */ @@ -348,5 +367,28 @@ public Boolean getIsLargeEntry() { public void setLargeEntry(Boolean isLargeEntry) { this.isLargeEntry = isLargeEntry; } - + + public String getHint() { + return StringUtils.isBlank(hint) ? null : hint; + } + + public void setHint(String hint) { + this.hint = hint; + } + + public String getTooltip() { + return StringUtils.isBlank(tooltip) ? null : tooltip; + } + + public void setTooltip(String tooltip) { + this.tooltip = tooltip; + } + + public String getHelp() { + return StringUtils.isBlank(help) ? null : help; + } + + public void setHelp(String help) { + this.help = help; + } } diff --git a/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/service/FormBuilderServiceImpl.java b/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/service/FormBuilderServiceImpl.java index ab1f1e83a2b..63eec08021a 100644 --- a/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/service/FormBuilderServiceImpl.java +++ b/admin/broadleaf-open-admin-platform/src/main/java/org/broadleafcommerce/openadmin/web/service/FormBuilderServiceImpl.java @@ -483,7 +483,10 @@ protected void setEntityFormFields(EntityForm ef, List properties) { .withReadOnly(fmd.getReadOnly()) .withTranslatable(fmd.getTranslatable()) .withAlternateOrdering((Boolean) fmd.getAdditionalMetadata().get(Field.ALTERNATE_ORDERING)) - .withLargeEntry(fmd.isLargeEntry()); + .withLargeEntry(fmd.isLargeEntry()) + .withHint(fmd.getHint()) + .withTooltip(fmd.getTooltip()) + .withHelp(fmd.getHelpText()); if (StringUtils.isBlank(f.getFriendlyName())) { f.setFriendlyName(f.getName()); diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/css/admin/blc-admin.css b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/css/admin/blc-admin.css index 8c23b0c7213..b227c9f2aae 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/css/admin/blc-admin.css +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/css/admin/blc-admin.css @@ -89,6 +89,12 @@ span.error { color: inherit; } +.field-tooltip { + color: #8EAA2B; + cursor: pointer; + padding: 0 3px; +} + input[type="search"] { -webkit-appearance: none; padding: 0px; @@ -105,6 +111,7 @@ input[type="text"], input[type="password"], input[type="date"], input[type="date .foreign-key-value-container, .entity-form .custom.dropdown, +span.field-help, .indented-form-value, .entity-form input[type="text"], .entity-form input[type="password"], .entity-form input[type="date"], .entity-form input[type="datetime"], .entity-form input[type="email"], .entity-form input[type="number"], .entity-form input[type="search"], .entity-form input[type="tel"], .entity-form input[type="time"], .entity-form input[type="url"], .entity-form textarea { margin: 7px 0 0px 0px; @@ -136,11 +143,16 @@ fieldset div.field-box:last-child { margin-bottom: 0; } +span.field-help, .indented-form-value { display: block; font-size: 12px; } +span.field-help { + color: #555; +} + fieldset { background-color: #FAFAFA; margin: 0 0 25px 0; diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/entityForm.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/entityForm.html index 75a96168804..9a0ff6cb63d 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/entityForm.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/entityForm.html @@ -59,6 +59,9 @@
+ + +
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/fieldTooltip.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/fieldTooltip.html new file mode 100644 index 00000000000..5f56e969a3b --- /dev/null +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/fieldTooltip.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/ruleBuilder.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/ruleBuilder.html index 5265183fd79..9cb0cfb5bee 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/ruleBuilder.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/components/ruleBuilder.html @@ -1,6 +1,7 @@ -
+
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/additional_foreign_key.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/additional_foreign_key.html index be45a389c52..5d26992e384 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/additional_foreign_key.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/additional_foreign_key.html @@ -1,5 +1,6 @@
+
+

diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/combo_field.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/combo_field.html index 780541b94fd..4853a7291e8 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/combo_field.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/combo_field.html @@ -1,4 +1,5 @@
+
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/decimal.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/decimal.html index d8762c3207c..8a5bb178a1a 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/decimal.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/decimal.html @@ -1,3 +1,4 @@
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/explicit_enumeration.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/explicit_enumeration.html index 5363e55bf54..6c6cc4dd56e 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/explicit_enumeration.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/explicit_enumeration.html @@ -1,4 +1,5 @@
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/integer.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/integer.html index d8762c3207c..8a5bb178a1a 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/integer.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/integer.html @@ -1,3 +1,4 @@
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/media.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/media.html index ee3a87f50b8..7ebf54ba126 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/media.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/media.html @@ -1,5 +1,8 @@
-
+
+
+
+ +
\ No newline at end of file diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/password.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/password.html index 33393621f57..312f5444a08 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/password.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/password.html @@ -1,3 +1,4 @@
+
\ No newline at end of file diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/readonly.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/readonly.html index 434279a674d..83d3d71a00a 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/readonly.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/readonly.html @@ -1,4 +1,5 @@
+
diff --git a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/string.html b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/string.html index 20d91964af6..4944f781849 100644 --- a/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/string.html +++ b/admin/broadleaf-open-admin-platform/src/main/resources/open_admin_style/templates/fields/string.html @@ -1,7 +1,14 @@
+
+
-