Incorrect select field filtering 73/10773/2
authorAnaël Closson <ac2550@intl.att.com>
Thu, 7 Sep 2017 08:50:24 +0000 (10:50 +0200)
committerSébastien Determe <sd378r@intl.att.com>
Thu, 7 Sep 2017 09:00:36 +0000 (09:00 +0000)
The filtering of select input fields was incorrectly
handled and resulte in inconsistent state

Issue-Id: CLAMP-49

Change-Id: I1678a861ca4fcb8b384fb75356ff95eee88f2fc6
Signed-off-by: Anaël Closson <ac2550@intl.att.com>
src/main/resources/META-INF/resources/designer/partials/portfolios/holmes_properties.html
src/main/resources/META-INF/resources/designer/partials/portfolios/stringMatch_properties.html
src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html
src/main/resources/META-INF/resources/designer/scripts/aOnBoot.js

index 98c6432..3c7607b 100644 (file)
@@ -46,7 +46,7 @@
           <label for="operationalPolicy" class="col-sm-4 control-label">Operational policy</label>
         </div>
     <div class="col-sm-8">
-    <select class="form-control" id="operationalPolicy" name="operationalPolicy" autofocus="autofocus" required ng-trim="true">
+    <select class="form-control" id="operationalPolicy" name="operationalPolicy" autofocus="autofocus" required ng-trim="true" enableFilter="true">
                  <option ng-repeat="x in operationalPolicies" value="{{x}}">{{x}}</option>
                </select>
         </div>
index 7549118..018a453 100644 (file)
@@ -227,7 +227,7 @@ label{
                                                                <label class="col-sm-4 control-label">Ops Policy:</label>
                                                                <div class="col-sm-8">
                                                                        <select class="form-control" id="policyName" name="policyName"
-                                                                               autofocus="autofocus" required ng-trim="true">
+                                                                               autofocus="autofocus" required ng-trim="true" enableFilter="true">
                                                                                <option ng-repeat="x in policyNames" value="{{x}}">{{x}}</option>
                                                                        </select>
                                                                </div>
@@ -972,4 +972,4 @@ label{
                        $(".stringMatchPanel").css("display", "unset");
                }
        </script>
-</div>
\ No newline at end of file
+</div>
index 3219fe4..7305fd9 100644 (file)
                                                <div class="col-sm-8 form-group">
                                                        <label class="col-sm-3"> Policy </label>
                                                        <div class="col-sm-9" style="padding:0px;">
-                                                               <select name="tcaPol" id="tcaPol" enableFilter="false"></select>
+                                                               <select name="tcaPol" id="tcaPol" enableFilter="true"></select>
                                                        </div>
                                                </div>
                                                
                        });
                }
        </script>
-</div>
\ No newline at end of file
+</div>
index 97dd42e..01a39b6 100644 (file)
@@ -113,61 +113,36 @@ function loadPropertyWindow(type) {
 
 function setMultiSelect() {
   $("select").each(function(index, mySelect) {
-    if ($(mySelect).parents(".multiselect-native-select") &&
-      $(mySelect).parents(".multiselect-native-select").length < 1) {
-      if (!$(mySelect).attr("multiple")) {
-        if ($(mySelect).attr("enableFilter")) {
-          $(mySelect).multiselect({
-            numberDisplayed: 1,
-            maxHeight: 200
-          });
-        } else {
-          $(mySelect).multiselect({
-            numberDisplayed: 1,
-            enableFiltering: true,
-            maxHeight: 200
-          });
-        }
 
-      } else {
-        $(mySelect).multiselect({
-          numberDisplayed: 1,
-          includeSelectAllOption: true,
-          enableFiltering: true,
-          maxHeight: 200,
-          enableCaseInsensitiveFiltering: true
-        });
-      }
+    var mySelectObj = $(mySelect);
+    if (! mySelectObj.parents(".multiselect-native-select")) {
+      // keep native for this one
+      return;
+    }
 
-    } else if ($(mySelect).parents(".multiselect-native-select") &&
-      $(mySelect).parents(".multiselect-native-select").length > 0) {
-      var selectDrop = $(mySelect).parent(".multiselect-native-select").find("select");
-      $(mySelect).parent(".multiselect-native-select").parent().html(selectDrop);
-      if (!$(mySelect).attr("multiple")) {
-        if ($(mySelect).attr("enableFilter")) {
-          $(mySelect).multiselect({
-            numberDisplayed: 1,
-            maxHeight: 200
-          });
-        } else {
-          $(mySelect).multiselect({
-            numberDisplayed: 1,
-            enableFiltering: true,
-            maxHeight: 200
-          });
-        }
-      } else {
-        $(mySelect).multiselect({
-          numberDisplayed: 1,
-          includeSelectAllOption: true,
-          enableFiltering: true,
-          maxHeight: 200,
-          enableCaseInsensitiveFiltering: true
-        });
-      }
+    if (mySelectObj.parents(".multiselect-native-select").length > 0) {
+      var selectDrop = mySelectObj.parent(".multiselect-native-select").find("select");
+      mySelectObj.parent(".multiselect-native-select").parent().html(selectDrop);
     }
+
+    var options = {
+      numberDisplayed: 1,
+      maxHeight: 200
+    };
+
+    if (mySelectObj.attr("multiple")
+        && mySelectObj.attr("multiple") != 'false') {
+      options.includeSelectAllOption = true;
+    }
+    
+    if (mySelectObj.attr("enableFilter")
+        && mySelectObj.attr("enableFilter") != 'false') {
+      options.enableCaseInsensitiveFiltering = true;
+      options.enableFiltering = true;
+    }
+
+    mySelectObj.multiselect(options);
   });
-  //refeshMultiSelect();
 }
 
 function loadSharedPropertyByService(onChangeUUID, refresh, callBack) {