fix(DataTable): undefined cell value fallback (#745)

* fix(DataTable): undefined cell value fallback

* Update DataTable.svelte

* fix(data-table): remove "" as the default value for table cells

Co-authored-by: Eric Y Liu <ericyl.us@gmail.com>
This commit is contained in:
Nguyễn Trường Minh 2021-07-15 06:37:42 -07:00 committed by GitHub
commit 89513fb4cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -127,14 +127,11 @@
.map(({ key }, i) => ({ key, id: $headerItems[i] })) .map(({ key }, i) => ({ key, id: $headerItems[i] }))
.reduce((a, c) => ({ ...a, [c.key]: c.id }), {}) .reduce((a, c) => ({ ...a, [c.key]: c.id }), {})
); );
const resolvePath = (object, path, defaultValue) => const resolvePath = (object, path) =>
path path
.split(/[\.\[\]\'\"]/) .split(/[\.\[\]\'\"]/)
.filter((p) => p) .filter((p) => p)
.reduce( .reduce((o, p) => (o && typeof o === "object" ? o[p] : o), object);
(o, p) => (o && typeof o === "object" && o[p] ? o[p] : defaultValue),
object
);
setContext("DataTable", { setContext("DataTable", {
sortHeader, sortHeader,
@ -172,7 +169,7 @@
...row, ...row,
cells: headerKeys.map((key, index) => ({ cells: headerKeys.map((key, index) => ({
key, key,
value: resolvePath(row, key, ""), value: resolvePath(row, key),
display: headers[index].display, display: headers[index].display,
})), })),
})); }));