forked from MapComplete/MapComplete
Reformat all files with prettier
This commit is contained in:
parent
e22d189376
commit
b541d3eab4
382 changed files with 50893 additions and 35566 deletions
|
|
@ -1,12 +1,11 @@
|
|||
import BaseUIElement from "../BaseUIElement";
|
||||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import {VariableUiElement} from "./VariableUIElement";
|
||||
import Combine from "./Combine";
|
||||
import Locale from "../i18n/Locale";
|
||||
import {Utils} from "../../Utils";
|
||||
import BaseUIElement from "../BaseUIElement"
|
||||
import { UIEventSource } from "../../Logic/UIEventSource"
|
||||
import { VariableUiElement } from "./VariableUIElement"
|
||||
import Combine from "./Combine"
|
||||
import Locale from "../i18n/Locale"
|
||||
import { Utils } from "../../Utils"
|
||||
|
||||
export default class FilteredCombine extends VariableUiElement {
|
||||
|
||||
/**
|
||||
* Only shows item matching the search
|
||||
* If predicate of an item is undefined, it will be filtered out as soon as a non-null or non-empty search term is given
|
||||
|
|
@ -14,27 +13,38 @@ export default class FilteredCombine extends VariableUiElement {
|
|||
* @param searchedValue
|
||||
* @param options
|
||||
*/
|
||||
constructor(entries: {
|
||||
element: BaseUIElement | string,
|
||||
predicate?: (s: string) => boolean
|
||||
}[],
|
||||
searchedValue: UIEventSource<string>,
|
||||
options?: {
|
||||
onEmpty?: BaseUIElement | string,
|
||||
innerClasses: string
|
||||
}
|
||||
constructor(
|
||||
entries: {
|
||||
element: BaseUIElement | string
|
||||
predicate?: (s: string) => boolean
|
||||
}[],
|
||||
searchedValue: UIEventSource<string>,
|
||||
options?: {
|
||||
onEmpty?: BaseUIElement | string
|
||||
innerClasses: string
|
||||
}
|
||||
) {
|
||||
entries = Utils.NoNull(entries)
|
||||
super(searchedValue.map(searchTerm => {
|
||||
if(searchTerm === undefined || searchTerm === ""){
|
||||
return new Combine(entries.map(e => e.element)).SetClass(options?.innerClasses ?? "")
|
||||
}
|
||||
const kept = entries.filter(entry => entry?.predicate !== undefined && entry.predicate(searchTerm))
|
||||
if (kept.length === 0) {
|
||||
return options?.onEmpty
|
||||
}
|
||||
return new Combine(kept.map(entry => entry.element)).SetClass(options?.innerClasses ?? "")
|
||||
}, [Locale.language]))
|
||||
super(
|
||||
searchedValue.map(
|
||||
(searchTerm) => {
|
||||
if (searchTerm === undefined || searchTerm === "") {
|
||||
return new Combine(entries.map((e) => e.element)).SetClass(
|
||||
options?.innerClasses ?? ""
|
||||
)
|
||||
}
|
||||
const kept = entries.filter(
|
||||
(entry) => entry?.predicate !== undefined && entry.predicate(searchTerm)
|
||||
)
|
||||
if (kept.length === 0) {
|
||||
return options?.onEmpty
|
||||
}
|
||||
return new Combine(kept.map((entry) => entry.element)).SetClass(
|
||||
options?.innerClasses ?? ""
|
||||
)
|
||||
},
|
||||
[Locale.language]
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue