From 2a11846d6e0cbbdc39ee71dc5dbec4ce6022f333 Mon Sep 17 00:00:00 2001 From: Denis Bykhov <bykhov.denis@gmail.com> Date: Thu, 13 Apr 2023 23:24:52 +0600 Subject: [PATCH] Fix list undefined group (#2979) Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com> --- .../src/components/list/ListCategories.svelte | 2 +- plugins/view-resources/src/utils.ts | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/plugins/view-resources/src/components/list/ListCategories.svelte b/plugins/view-resources/src/components/list/ListCategories.svelte index 2ed26825eb..713db288e2 100644 --- a/plugins/view-resources/src/components/list/ListCategories.svelte +++ b/plugins/view-resources/src/components/list/ListCategories.svelte @@ -132,7 +132,7 @@ </script> {#each categories as category, i (typeof category === 'object' ? category.name : category)} - {@const items = groupByKey === noCategory || category === undefined ? docs : getGroupByValues(groupByDocs, category)} + {@const items = groupByKey === noCategory ? docs : getGroupByValues(groupByDocs, category)} <ListCategory {elementByIndex} {indexById} diff --git a/plugins/view-resources/src/utils.ts b/plugins/view-resources/src/utils.ts index c841b1fec7..d071a12d69 100644 --- a/plugins/view-resources/src/utils.ts +++ b/plugins/view-resources/src/utils.ts @@ -506,11 +506,7 @@ export type FixedWidthStore = Record<string, number> export const fixedWidthStore = writable<FixedWidthStore>({}) -export function groupBy<T extends Doc> ( - docs: T[], - key: string, - categories?: CategoryType[] -): { [key: string | number]: T[] } { +export function groupBy<T extends Doc> (docs: T[], key: string, categories?: CategoryType[]): Record<any, T[]> { return docs.reduce((storage: { [key: string]: T[] }, item: T) => { let group = getObjectValue(key, item) ?? undefined @@ -536,16 +532,12 @@ export function groupBy<T extends Doc> ( /** * @public */ -export function getGroupByValues<T extends Doc> ( - groupByDocs: Record<string | number, T[]>, - category: CategoryType -): T[] { +export function getGroupByValues<T extends Doc> (groupByDocs: Record<any, T[]>, category: CategoryType): T[] { if (typeof category === 'object') { return groupByDocs[category.name] ?? [] - } else if (category !== undefined) { - return groupByDocs[category] ?? [] + } else { + return groupByDocs[category as any] ?? [] } - return [] } /**