Explorar o código

[Web] Highlight select boxes with missing required attrs

andryyy %!s(int64=4) %!d(string=hai) anos
pai
achega
9d0d826337
Modificáronse 2 ficheiros con 22 adicións e 0 borrados
  1. 10 0
      data/web/css/build/008-mailcow.css
  2. 12 0
      data/web/js/build/012-api.js

+ 10 - 0
data/web/css/build/008-mailcow.css

@@ -187,3 +187,13 @@ nav .glyphicon {
   border-bottom:1px solid #f5f5f5!important;
   opacity: 0.3;
 }
+.btn-input-missing,
+.btn-input-missing:hover,
+.btn-input-missing:active,
+.btn-input-missing:focus,
+.btn-input-missing:active:hover,
+.btn-input-missing:active:focus {
+  color: #000 !important;
+  background-color: #ff4136;
+  border-color: #ff291c;
+}

+ 12 - 0
data/web/js/build/012-api.js

@@ -107,8 +107,14 @@ $(document).ready(function() {
         if ($(this).prop('required')) {
           if (!$(this).val() && $(this).prop('disabled') === false) {
             invalid = true;
+            if ($(this).is("select")) {
+              $(this).selectpicker('setStyle', 'btn-input-missing', 'add');
+            }
             $(this).addClass('inputMissingAttr');
           } else {
+            if ($(this).is("select")) {
+              $(this).selectpicker('setStyle', 'btn-input-missing', 'remove');
+            }
             $(this).removeClass('inputMissingAttr');
           }
         }
@@ -219,8 +225,14 @@ $(document).ready(function() {
         if ($(this).prop('required')) {
           if (!$(this).val() && $(this).prop('disabled') === false) {
             invalid = true;
+            if ($(this).is("select")) {
+              $(this).selectpicker('setStyle', 'btn-input-missing', 'add');
+            }
             $(this).addClass('inputMissingAttr');
           } else {
+            if ($(this).is("select")) {
+              $(this).selectpicker('setStyle', 'btn-input-missing', 'remove');
+            }
             $(this).removeClass('inputMissingAttr');
           }
         }