Skip to content

Commit 0b24760

Browse files
pawelczakpawelczak
authored andcommitted
Closes #121. When ajax returns no data, item list disappears.
1 parent c18782f commit 0b24760

File tree

4 files changed

+61
-14
lines changed

4 files changed

+61
-14
lines changed

dist/jquery.easy-autocomplete.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1352,17 +1352,15 @@ var EasyAutocomplete = (function(scope) {
13521352
listBuilders = listBuilderService.updateCategories(listBuilders, data);
13531353

13541354
listBuilders = listBuilderService.convertXml(listBuilders);
1355-
1356-
1357-
if (!listBuilderService.checkIfDataExists(listBuilders)) {
1358-
return;
1359-
}
13601355
if (checkInputPhraseMatchResponse(inputPhrase, data)) {
13611356

13621357
listBuilders = listBuilderService.processData(listBuilders, inputPhrase);
13631358

13641359
loadElements(listBuilders, inputPhrase);
1365-
1360+
1361+
}
1362+
1363+
if (listBuilderService.checkIfDataExists(listBuilders)) {
13661364
showContainer();
13671365
}
13681366

dist/jquery.easy-autocomplete.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/core.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -523,18 +523,16 @@ var EasyAutocomplete = (function(scope) {
523523
listBuilders = listBuilderService.convertXml(listBuilders);
524524

525525

526-
if (!listBuilderService.checkIfDataExists(listBuilders)) {
527-
return;
528-
}
529-
530-
531-
//Todo
526+
//TODO
532527
if (checkInputPhraseMatchResponse(inputPhrase, data)) {
533528

534529
listBuilders = listBuilderService.processData(listBuilders, inputPhrase);
535530

536531
loadElements(listBuilders, inputPhrase);
537-
532+
533+
}
534+
535+
if (listBuilderService.checkIfDataExists(listBuilders)) {
538536
showContainer();
539537
}
540538

test/core/response_remote.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,57 @@ QUnit.test("Remote service - Json countries", function( assert ) {
5353
}
5454
});
5555

56+
QUnit.test("Remote service - Json countries - no match", function( assert ) {
57+
expect(1);
58+
59+
//given
60+
var completerOne = new EasyAutocomplete.main($("#inputOne"), {
61+
62+
url: function(phrase) {
63+
return "remote/countrySelectService.php?phrase=" + phrase + "&dataType=json";
64+
},
65+
66+
getValue: function(element) {
67+
return element.name;
68+
},
69+
70+
ajaxCallback: function() {
71+
72+
//assert
73+
74+
assertList();
75+
},
76+
list: {
77+
match: {
78+
enabled: true
79+
}
80+
}
81+
82+
});
83+
84+
85+
//execute
86+
87+
completerOne.init();
88+
89+
var e = $.Event('keyup');
90+
e.keyCode = 50;
91+
$("#inputOne").val("poli").trigger(e);
92+
93+
94+
QUnit.stop();
95+
96+
//assert
97+
98+
function assertList() {
99+
var elements = $("#inputOne").next().find("ul li");
100+
101+
assert.equal(0, elements.length, "Response size");
102+
103+
QUnit.start();
104+
}
105+
});
106+
56107
QUnit.test("Remote service - XML countries", function( assert ) {
57108
expect(5);
58109

0 commit comments

Comments
 (0)