ソースを参照

Improve form errors popovers and colors

Emmanuel Vella 12 年 前
コミット
0f3da3caaf
2 ファイル変更17 行追加15 行削除
  1. 12 14
      Resources/public/base.js
  2. 5 1
      Resources/public/css/colors.css

+ 12 - 14
Resources/public/base.js

@@ -34,32 +34,30 @@ var Admin = {
      */
     add_pretty_errors: function(subject) {
         jQuery('div.sonata-ba-field-error', subject).each(function(index, element) {
-            var input = jQuery('input, textarea, select', element);
+            var input = jQuery(':input', element);
+
+            if (!input.length) {
+                return;
+            }
 
             var message = jQuery('div.sonata-ba-field-error-messages', element).html();
             jQuery('div.sonata-ba-field-error-messages', element).html('');
-            if (!message) {
-                message = '';
-            }
 
-            if (message.length == 0) {
+            if (!message || message.length == 0) {
                 return;
             }
 
-            var target;
+            var target = input,
+                fieldShortDescription = input.closest('.field-container').find('.field-short-description')
+            ;
 
-            /* Hack to handle qTip on select */
-            if(jQuery(input).is('select')) {
-                input.wrap('<span></span>');
-                target = input.parent();
-            }
-            else {
-                target = input;
+            if (fieldShortDescription.length) {
+                target = fieldShortDescription;
             }
 
             target.popover({
                 content: message,
-                trigger:'focus',
+                trigger: 'hover',
                 html: true,
                 placement: 'right',
                 template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><div class="popover-content alert-error"><p></p></div></div></div>'

+ 5 - 1
Resources/public/css/colors.css

@@ -47,4 +47,8 @@ div.sonata-ba-field-error textarea{
 
 div.sonata-ba-field-error select{
     border: 1px solid #f79992;
-}
+}
+
+div.sonata-ba-field-error .field-short-description {
+    border: 1px solid #B94A48;
+}