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;
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
*/
vm.sortField = sortField;
vm.sortAsc = !vm.sortAsc;
vm.parametersList.applyValsForFilters();
+ $timeout(vm.validateNamesUnique);
}
/**
*/
function removeParam(paramObj) {
vm.parametersList.deleteParameterItem(paramObj);
+ $timeout(vm.validateNamesUnique);
}
/**
<!-- 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" />