forked from mirrors/homebox
feat: filter details for zero values (#364)
* filter details for zero values * ensure exhaustive checks * update event listener to only bind when collapsable
This commit is contained in:
parent
840d220d4f
commit
40e76bac0c
3 changed files with 95 additions and 20 deletions
|
@ -36,3 +36,23 @@ export type Detail = BaseDetail & {
|
|||
export type AnyDetail = DateDetail | CurrencyDetail | LinkDetail | MarkdownDetail | Detail;
|
||||
|
||||
export type Details = Array<Detail | AnyDetail>;
|
||||
|
||||
export function filterZeroValues(details: Details): Details {
|
||||
return details.filter(detail => {
|
||||
switch (detail.type) {
|
||||
case "date":
|
||||
return validDate(detail.text);
|
||||
case "currency":
|
||||
return !!detail.text;
|
||||
case "link":
|
||||
return !!detail.text && !!detail.href;
|
||||
case undefined:
|
||||
case "text":
|
||||
case "markdown":
|
||||
return detail.text !== null && detail.text !== "" && detail.text !== undefined;
|
||||
default:
|
||||
console.warn("Unknown detail type (this should never happen)", detail);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue