FIX: ensures scoped search category is searching in all categories (#9031)

This commit is contained in:
Joffrey JAFFEUX 2020-02-24 19:19:53 +01:00 committed by GitHub
parent 832a0e410a
commit f336aeee6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 14 deletions

View File

@ -66,15 +66,7 @@ export default ComboBoxComponent.extend({
search(filter) {
if (filter) {
let content = this.content;
if (this.selectKit.options.scopedCategoryId) {
content = this.categoriesByScope(
this.selectKit.options.scopedCategoryId
);
}
return content.filter(item => {
return this.content.filter(item => {
const category = Category.findById(this.getValue(item));
const categoryName = this.getName(item);
@ -93,8 +85,12 @@ export default ComboBoxComponent.extend({
}
},
content: computed("selectKit.options.scopedCategoryId", function() {
return this.categoriesByScope(this.selectKit.options.scopedCategoryId);
content: computed("selectKit.{filter,options.scopedCategoryId}", function() {
if (!this.selectKit.filter && this.selectKit.options.scopedCategoryId) {
return this.categoriesByScope(this.selectKit.options.scopedCategoryId);
} else {
return this.categoriesByScope();
}
}),
categoriesByScope(scopedCategoryId = null) {

View File

@ -52,11 +52,15 @@ componentTest("with scopedCategoryId", {
"My idea here is to have mini specs for features we would like built but have no bandwidth to build"
);
assert.equal(this.subject.rowByIndex(1).value(), 26);
assert.equal(this.subject.rows().length, 2);
assert.equal(this.subject.rows().length, 2, "default content is scoped");
await this.subject.fillInFilter("spec");
await this.subject.fillInFilter("bug");
assert.equal(this.subject.rows().length, 1);
assert.equal(
this.subject.rowByIndex(0).name(),
"bug",
"search finds outside of scope"
);
}
});