mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #13973 from guerler/add_any_001
Allow any as value for boolean default parameters in filter text
This commit is contained in:
+2
-2
@@ -19,7 +19,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
options: [
|
||||
{ text: "Any", value: null },
|
||||
{ text: "Any", value: "any" },
|
||||
{ text: "Yes", value: true },
|
||||
{ text: "No", value: false },
|
||||
],
|
||||
@@ -46,7 +46,7 @@ export default {
|
||||
methods: {
|
||||
getValue(name) {
|
||||
const value = this.settings[`${name}:`];
|
||||
return value !== undefined ? value : null;
|
||||
return value !== undefined ? value : "any";
|
||||
},
|
||||
onChange(name, value) {
|
||||
value = value !== null ? value : undefined;
|
||||
|
||||
@@ -28,6 +28,15 @@ describe("filtering", () => {
|
||||
const queryDict = HistoryFilters.getQueryDict("name of item");
|
||||
expect(queryDict["name-contains"]).toBe("name of item");
|
||||
});
|
||||
test("parse any for default parameters", () => {
|
||||
const filters = HistoryFilters.getFilters("deleted:any");
|
||||
expect(filters.length).toBe(0);
|
||||
const queryDict = HistoryFilters.getQueryDict("deleted:any");
|
||||
expect(Object.keys(queryDict).length).toBe(0);
|
||||
const filtersAny = HistoryFilters.getFilters("name:any");
|
||||
expect(filtersAny[0][0]).toBe("name");
|
||||
expect(filtersAny[0][1]).toBe("any");
|
||||
});
|
||||
test("parse check filter", () => {
|
||||
expect(HistoryFilters.checkFilter(filterTexts[0], "name", "name of item")).toBe(true);
|
||||
expect(HistoryFilters.checkFilter(filterTexts[0], "tag", "first")).toBe(true);
|
||||
|
||||
@@ -266,12 +266,15 @@ export default class Filtering<T> {
|
||||
}
|
||||
// check if any default filter keys have been used
|
||||
let hasDefaults = false;
|
||||
for (const defaultKey in this.defaultFilters) {
|
||||
if (result[defaultKey]) {
|
||||
Object.keys(this.defaultFilters).forEach((defaultKey) => {
|
||||
const value = result[defaultKey];
|
||||
if (value !== undefined) {
|
||||
if (value == "any") {
|
||||
delete result[defaultKey];
|
||||
}
|
||||
hasDefaults = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
// use default filters if none of the default filters has been explicitly specified
|
||||
if (!hasDefaults && this.useDefaultFilters) {
|
||||
result = { ...result, ...this.defaultFilters };
|
||||
|
||||
Reference in New Issue
Block a user