From 9f64ec36d6033877105954ad886e10275e85282a Mon Sep 17 00:00:00 2001 From: The Jared Wilcurt Date: Tue, 9 Mar 2021 00:11:15 -0500 Subject: [PATCH 1/2] Prevent JSON parse error Users can pass in `{ enabled: true }` as the sortOptions, which means `initialSortBy` would be `undefined` and `JSON.parse` throws an error when you hand it `undefined`. So we need to default the value if it is not present. --- src/components/Table.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/Table.vue b/src/components/Table.vue index b3e94fa8..449c62fd 100644 --- a/src/components/Table.vue +++ b/src/components/Table.vue @@ -1581,7 +1581,9 @@ export default { }, initializeSort() { - const { enabled, initialSortBy, multipleColumns } = this.sortOptions; + const enabled = this.sortOptions.enabled; + const multipleColumns = this.sortOptions.multipleColumns; + const initialSortBy = this.sortOptions.initialSortBy || {}; const initSortBy = JSON.parse(JSON.stringify(initialSortBy)); if (typeof enabled === 'boolean') { From 703fc2648f8b7592bf857dd0a70ba6015b5df95e Mon Sep 17 00:00:00 2001 From: The Jared Wilcurt Date: Tue, 9 Mar 2021 10:10:05 -0500 Subject: [PATCH 2/2] Update src/components/Table.vue --- src/components/Table.vue | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/Table.vue b/src/components/Table.vue index 449c62fd..d9969ae0 100644 --- a/src/components/Table.vue +++ b/src/components/Table.vue @@ -1581,10 +1581,8 @@ export default { }, initializeSort() { - const enabled = this.sortOptions.enabled; - const multipleColumns = this.sortOptions.multipleColumns; - const initialSortBy = this.sortOptions.initialSortBy || {}; - const initSortBy = JSON.parse(JSON.stringify(initialSortBy)); + const { enabled, initialSortBy, multipleColumns } = this.sortOptions; + const initSortBy = JSON.parse(JSON.stringify(initialSortBy || {})); if (typeof enabled === 'boolean') { this.sortable = enabled;