Skip to content

Commit 21b2ab4

Browse files
committed
Adds watch for error message changes #8
1 parent ba603d3 commit 21b2ab4

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

‎dist/angular-bootstrap-material.js‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,20 @@ angular.module('angularBootstrapMaterial')
147147
templateUrl: 'templates/form-group.html',
148148
controller: ['$scope', '$element', function ($scope, $element) {
149149
$scope.errorMessageMap = {};
150-
$scope.showErrors = abmConfig.getErrorState() && $scope.errorMessages !== false;
151-
if ($scope.showErrors) {
152-
var globalErrors = abmConfig.getErrors() || {};
153-
if ($scope.errorMessages instanceof Object)
154-
angular.extend($scope.errorMessageMap, globalErrors, $scope.errorMessages);
155-
else
156-
angular.extend($scope.errorMessageMap, globalErrors);
150+
151+
function updateErrorMessages() {
152+
$scope.showErrors = abmConfig.getErrorState() && $scope.errorMessages !== false;
153+
if ($scope.showErrors) {
154+
var globalErrors = abmConfig.getErrors() || {};
155+
if ($scope.errorMessages instanceof Object)
156+
angular.extend($scope.errorMessageMap, globalErrors, $scope.errorMessages);
157+
else
158+
angular.extend($scope.errorMessageMap, globalErrors);
159+
}
157160
}
161+
162+
$scope.$watch('errorMessages', updateErrorMessages);
163+
158164
this.toggleFocus = function (state) {
159165
$element.toggleClass("is-focused", state);
160166
};

‎dist/angular-bootstrap-material.min.js‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/scripts/directives/form-group.js‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,20 @@ angular.module('angularBootstrapMaterial')
1313
templateUrl: 'templates/form-group.html',
1414
controller: ['$scope', '$element', function ($scope, $element) {
1515
$scope.errorMessageMap = {};
16-
$scope.showErrors = abmConfig.getErrorState() && $scope.errorMessages !== false;
17-
if ($scope.showErrors) {
18-
var globalErrors = abmConfig.getErrors() || {};
19-
if ($scope.errorMessages instanceof Object)
20-
angular.extend($scope.errorMessageMap, globalErrors, $scope.errorMessages);
21-
else
22-
angular.extend($scope.errorMessageMap, globalErrors);
16+
17+
function updateErrorMessages() {
18+
$scope.showErrors = abmConfig.getErrorState() && $scope.errorMessages !== false;
19+
if ($scope.showErrors) {
20+
var globalErrors = abmConfig.getErrors() || {};
21+
if ($scope.errorMessages instanceof Object)
22+
angular.extend($scope.errorMessageMap, globalErrors, $scope.errorMessages);
23+
else
24+
angular.extend($scope.errorMessageMap, globalErrors);
25+
}
2326
}
27+
28+
$scope.$watch('errorMessages', updateErrorMessages);
29+
2430
this.toggleFocus = function (state) {
2531
$element.toggleClass("is-focused", state);
2632
};

0 commit comments

Comments
 (0)