Fix text undefined error
This commit fixes the 'text is undefined' error in gr-autocomplete by setting a default value for text, as well as catching the case where text is set to undefined. This commit also disables the built-in autocomplete on the input element in the gr-autocomplete element to avoid redundancy. Bug: Issue 4276 Change-Id: Ia4d084068da223d10273110a402690e3b0af2e94
This commit is contained in:
parent
a979ab7281
commit
4e3c7ecc9a
|
@ -55,7 +55,8 @@ limitations under the License.
|
|||
bind-value="{{text}}"
|
||||
placeholder="[[placeholder]]"
|
||||
on-keydown="_handleInputKeydown"
|
||||
on-focus="_updateSuggestions" />
|
||||
on-focus="_updateSuggestions"
|
||||
autocomplete="off" />
|
||||
<div
|
||||
id="suggestions"
|
||||
hidden$="[[_computeSuggestionsHidden(_suggestions)]]">
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
|
||||
text: {
|
||||
type: String,
|
||||
value: '',
|
||||
observer: '_updateSuggestions',
|
||||
notify: true,
|
||||
},
|
||||
|
@ -131,7 +132,7 @@
|
|||
},
|
||||
|
||||
_updateSuggestions: function() {
|
||||
if (this._disableSuggestions) { return; }
|
||||
if (!this.text || this._disableSuggestions) { return; }
|
||||
if (this.text.length < this.threshold) {
|
||||
this._suggestions = [];
|
||||
this.value = null;
|
||||
|
|
|
@ -215,6 +215,13 @@ limitations under the License.
|
|||
assert.equal(element._computeClass(true), 'borderless');
|
||||
});
|
||||
|
||||
test('undefined or empty text results in no suggestions', function() {
|
||||
sinon.spy(element, '_updateSuggestions');
|
||||
element.text = undefined;
|
||||
assert(element._updateSuggestions.calledOnce);
|
||||
assert.equal(element._suggestions.length, 0);
|
||||
});
|
||||
|
||||
test('multi completes only the last part of the query', function(done) {
|
||||
var promise;
|
||||
var queryStub = sinon.stub()
|
||||
|
|
Loading…
Reference in New Issue