From d48c5b85cd6925a84eb6c80f809ec967fab41fac Mon Sep 17 00:00:00 2001 From: marosoft Date: Thu, 26 Jul 2018 18:37:36 +0100 Subject: [PATCH] fix(input): remove unnecessary warnings when ng-messages not provided (#11352) There is no requirement to include the messages in case of an error. Highlighting the field can be enough. Fixes #10461 --- src/components/input/input-animations.spec.js | 52 ------------------- src/components/input/input.js | 19 +++---- 2 files changed, 7 insertions(+), 64 deletions(-) diff --git a/src/components/input/input-animations.spec.js b/src/components/input/input-animations.spec.js index 01f3ac5aad7..80ee3d991e8 100644 --- a/src/components/input/input-animations.spec.js +++ b/src/components/input/input-animations.spec.js @@ -90,58 +90,6 @@ describe('md-input-container animations', function() { describe('method tests', function() { - describe('#showInputMessages', function() { - it('logs a warning with no messages element', inject(function($log) { - // Note that the element does NOT have a parent md-input-messages-animation class - var element = angular.element('
'); - var done = jasmine.createSpy('done'); - var warnSpy = spyOn($log, 'warn'); - - $$mdInput.messages.show(element, done); - - expect(done).toHaveBeenCalled(); - expect(warnSpy).toHaveBeenCalled(); - })); - - it('logs a warning with no messages children', inject(function($log) { - // Note that the element does NOT have any child md-input-message-animation divs - var element = angular.element('
'); - var done = jasmine.createSpy('done'); - var warnSpy = spyOn($log, 'warn'); - - $$mdInput.messages.show(element, done); - - expect(done).toHaveBeenCalled(); - expect(warnSpy).toHaveBeenCalled(); - })); - }); - - describe('#hideInputMessages', function() { - it('logs a warning with no messages element', inject(function($log) { - // Note that the element does NOT have a parent md-input-messages-animation class - var element = angular.element('
'); - var done = jasmine.createSpy('done'); - var warnSpy = spyOn($log, 'warn'); - - $$mdInput.messages.hide(element, done); - - expect(done).toHaveBeenCalled(); - expect(warnSpy).toHaveBeenCalled(); - })); - - it('logs a warning with no messages children', inject(function($log) { - // Note that the element does NOT have any child md-input-message-animation divs - var element = angular.element('
'); - var done = jasmine.createSpy('done'); - var warnSpy = spyOn($log, 'warn'); - - $$mdInput.messages.hide(element, done); - - expect(done).toHaveBeenCalled(); - expect(warnSpy).toHaveBeenCalled(); - })); - }); - describe('#getMessagesElement', function() { it('finds the messages element itself', function() { diff --git a/src/components/input/input.js b/src/components/input/input.js index 6949c2db69c..65e42c3d6b7 100644 --- a/src/components/input/input.js +++ b/src/components/input/input.js @@ -26,8 +26,6 @@ if (window._mdMocksIncluded) { return { // special accessor to internals... useful for testing messages: { - show : showInputMessages, - hide : hideInputMessages, getElement : getMessagesElement } }; @@ -687,7 +685,7 @@ function mdMaxlengthDirective($animate, $mdUtil) { attr.$observe('ngTrim', function (value) { ngTrim = angular.isDefined(value) ? $mdUtil.parseAttributeBoolean(value) : true; }); - + scope.$watch(attr.mdMaxlength, function(value) { if (angular.isNumber(value) && value > 0) { if (!charCountEl.parent().length) { @@ -945,10 +943,10 @@ function ngMessageDirective($mdUtil) { } } -var $$AnimateRunner, $animateCss, $mdUtil, $log; +var $$AnimateRunner, $animateCss, $mdUtil; -function mdInputInvalidMessagesAnimation($$AnimateRunner, $animateCss, $mdUtil, $log) { - saveSharedServices($$AnimateRunner, $animateCss, $mdUtil, $log); +function mdInputInvalidMessagesAnimation($$AnimateRunner, $animateCss, $mdUtil) { + saveSharedServices($$AnimateRunner, $animateCss, $mdUtil); return { addClass: function(element, className, done) { @@ -959,8 +957,8 @@ function mdInputInvalidMessagesAnimation($$AnimateRunner, $animateCss, $mdUtil, }; } -function ngMessagesAnimation($$AnimateRunner, $animateCss, $mdUtil, $log) { - saveSharedServices($$AnimateRunner, $animateCss, $mdUtil, $log); +function ngMessagesAnimation($$AnimateRunner, $animateCss, $mdUtil) { + saveSharedServices($$AnimateRunner, $animateCss, $mdUtil); return { enter: function(element, done) { @@ -1013,7 +1011,6 @@ function showInputMessages(element, done) { var children = messages.children(); if (messages.length == 0 || children.length == 0) { - $log.warn('mdInput messages show animation called on invalid messages element: ', element); done(); return; } @@ -1033,7 +1030,6 @@ function hideInputMessages(element, done) { var children = messages.children(); if (messages.length == 0 || children.length == 0) { - $log.warn('mdInput messages hide animation called on invalid messages element: ', element); done(); return; } @@ -1113,9 +1109,8 @@ function getMessagesElement(element) { return angular.element(element[0].querySelector('.md-input-messages-animation')); } -function saveSharedServices(_$$AnimateRunner_, _$animateCss_, _$mdUtil_, _$log_) { +function saveSharedServices(_$$AnimateRunner_, _$animateCss_, _$mdUtil_) { $$AnimateRunner = _$$AnimateRunner_; $animateCss = _$animateCss_; $mdUtil = _$mdUtil_; - $log = _$log_; }