From 17d3dd41ea0da6e05e57d01f176dd2c076660274 Mon Sep 17 00:00:00 2001 From: Nick Thurow Date: Thu, 16 Jun 2016 09:11:30 -0500 Subject: [PATCH] fix(typeahead): Set parse key to valid when selecting exact match --- src/typeahead/test/typeahead.spec.js | 10 ++++++++++ src/typeahead/typeahead.js | 1 + 2 files changed, 11 insertions(+) diff --git a/src/typeahead/test/typeahead.spec.js b/src/typeahead/test/typeahead.spec.js index 1261067..a6f9174 100644 --- a/src/typeahead/test/typeahead.spec.js +++ b/src/typeahead/test/typeahead.spec.js @@ -599,6 +599,16 @@ describe('typeahead tests', function () { expect(element).toBeOpenWithActive(2, 0); }); + + it('should set \'parse\' key as valid when selecting a perfect match and not editable', function () { + var element = prepareInputEl('
'); + var inputEl = findInput(element); + + changeInputValueTo(element, 'Alaska'); + triggerKeyDown(element, 13); + + expect($scope.test.typeahead.$error.parse).toBeUndefined(); + }); }); describe('input formatting', function () { diff --git a/src/typeahead/typeahead.js b/src/typeahead/typeahead.js index e9a4600..97e7cce 100644 --- a/src/typeahead/typeahead.js +++ b/src/typeahead/typeahead.js @@ -212,6 +212,7 @@ angular.module('mm.foundation.typeahead', ['mm.foundation.position', 'mm.foundat model = parserResult.modelMapper(originalScope, locals); $setModelValue(originalScope, model); modelCtrl.$setValidity('editable', true); + modelCtrl.$setValidity('parse', true); onSelectCallback(originalScope, { $item: item,