Yangman - fix parameters validation 09/42609/2
authorStanislav Jamrich <sjamrich@cisco.com>
Wed, 27 Jul 2016 08:26:20 +0000 (10:26 +0200)
committerStanislav Jamrich <sjamrich@cisco.com>
Wed, 27 Jul 2016 08:27:34 +0000 (10:27 +0200)
Change-Id: I58c320e922b6ffcccb4d7f2f9364c13d9f7ca26a
Signed-off-by: Stanislav Jamrich <sjamrich@cisco.com>
modules/yangman-resources/src/main/resources/yangman/controllers/params-admin.controller.js
modules/yangman-resources/src/main/resources/yangman/views/popup/parameters-admin.tpl.html

index c5c37f243672dba2f50c3fa264e399cba519c6f9..6a0cb8618a692713fe69d4ee87305b2d1ea744ed 100644 (file)
@@ -5,9 +5,9 @@ define([
 
     angular.module('app.yangman').controller('ParamsAdminCtrl', ParamsAdminCtrl);
 
-    ParamsAdminCtrl.$inject = ['$mdDialog', '$scope', 'YangmanService', 'YMHandleFileService', 'parametersList'];
+    ParamsAdminCtrl.$inject = ['$mdDialog', '$scope', '$timeout', 'YangmanService', 'YMHandleFileService', 'parametersList'];
 
-    function ParamsAdminCtrl($mdDialog, $scope, YangmanService, YMHandleFileService, parametersList) {
+    function ParamsAdminCtrl($mdDialog, $scope, $timeout, YangmanService, YMHandleFileService, parametersList) {
         var vm = this;
 
         vm.parametersList = parametersList;
@@ -26,10 +26,18 @@ define([
         vm.exportParameters = exportParameters;
         vm.importParameters = importParameters;
         vm.validateNamesUnique = validateNamesUnique;
+        vm.filterChange = filterChange;
 
         init();
 
 
+        /**
+         * Force validation after some filter is applied
+         */
+        function filterChange() {
+            $timeout(vm.validateNamesUnique);
+        }
+
         /**
          * Loop over all name inputs in form and validate duplicities
          */
@@ -93,6 +101,7 @@ define([
             vm.sortField = sortField;
             vm.sortAsc = !vm.sortAsc;
             vm.parametersList.applyValsForFilters();
+            $timeout(vm.validateNamesUnique);
         }
 
         /**
@@ -134,6 +143,7 @@ define([
          */
         function removeParam(paramObj) {
             vm.parametersList.deleteParameterItem(paramObj);
+            $timeout(vm.validateNamesUnique);
         }
 
         /**
index 63e3d3bed8cc521a46093ed9a6150fdaf7eb0f53..29deca069b21bb4ad89f2513fd06333fc3946879 100644 (file)
 
                     <!-- search icon, form, clear button -->
                     <md-icon class="material-icons">search</md-icon>
-                    <input class="ng-pristine ng-valid ng-touched"
+                    <input class=""
                            type="text"
                            flex
+                           ng-change="paramsAdmin.filterChange()"
                            placeholder="{{'YANGMAN_SEARCH' | translate}}"
                            ng-model="paramsAdmin.search"
                            aria-invalid="false" />