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