Skip to content

Commit 4f8c19f

Browse files
authored
Merge pull request #135 from nih-sparc/fix-none-heirarchal-dropdown-multiselect
Fix none heirarchal dropdown multiselect
2 parents ec979ec + b1608a8 commit 4f8c19f

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nih-sparc/sparc-design-system-components",
3-
"version": "0.27.0",
3+
"version": "0.27.1",
44
"private": false,
55
"scripts": {
66
"serve": "vue-cli-service serve",

src/components/DropdownMultiselect/src/DropdownMultiselect.vue

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -243,15 +243,15 @@ export default {
243243
this.$refs.tree.filter()
244244
},
245245
updateParentFacetsSelectedStatus() {
246-
let visibleCheckedParents = this.visibleCheckedNodes.filter(visibleNode => {
246+
let visibleCheckedParents = this.visibleCheckedNodes?.filter(visibleNode => {
247247
return !visibleNode.label.includes('.')
248248
})
249-
let visibleCheckedChildren = this.visibleCheckedNodes.filter(visibleNode => {
249+
let visibleCheckedChildren = this.visibleCheckedNodes?.filter(visibleNode => {
250250
return visibleNode.label.includes('.')
251251
})
252252
253253
// First check for any subfacets that have a parent that is not set
254-
visibleCheckedChildren.forEach(checkedChild => {
254+
visibleCheckedChildren?.forEach(checkedChild => {
255255
const parentLabel = checkedChild.label.split('.')[0]
256256
if (!visibleCheckedParents.some(parent => parent.label == parentLabel)) {
257257
this.$refs.tree.setChecked(checkedChild.id, true, true)
@@ -261,7 +261,7 @@ export default {
261261
const halfCheckedNodes = this.$refs.tree.getHalfCheckedNodes()
262262
// set the half checked nodes checked status based upon what facets are actually visible since navigating between tabs might
263263
// cause some to be hidden so the parent facet should now possibly be checked/unchecked instead of half checked
264-
halfCheckedNodes.forEach(halfCheckedNode => {
264+
halfCheckedNodes?.forEach(halfCheckedNode => {
265265
const visibleChildren = halfCheckedNode.children.filter((child) => {
266266
return this.allVisibleDataIds.includes(child.label)
267267
})
@@ -280,17 +280,17 @@ export default {
280280
}
281281
})
282282
283-
visibleCheckedParents = this.visibleCheckedNodes.filter(visibleNode => {
283+
visibleCheckedParents = this.visibleCheckedNodes?.filter(visibleNode => {
284284
return !visibleNode.label.includes('.')
285285
})
286-
visibleCheckedChildren = this.visibleCheckedNodes.filter(visibleNode => {
286+
visibleCheckedChildren = this.visibleCheckedNodes?.filter(visibleNode => {
287287
return visibleNode.label.includes('.')
288288
})
289289
290-
visibleCheckedParents.forEach(checkedParent => {
290+
visibleCheckedParents?.forEach(checkedParent => {
291291
// If any children are unselected then select one deep so that the parent is half-checked
292-
const visibleChildren = checkedParent.children.filter(child => this.allVisibleDataIds.includes(child.label))
293-
if (visibleChildren.some(visibleChild => {
292+
const visibleChildren = checkedParent.children?.filter(child => this.allVisibleDataIds.includes(child.label))
293+
if (visibleChildren?.some(visibleChild => {
294294
let isChecked = false
295295
visibleCheckedChildren.forEach(checkedChild => {
296296
if (checkedChild.label == visibleChild.label) {
@@ -313,7 +313,7 @@ export default {
313313
})
314314
},
315315
setShowAll: function() {
316-
const checkedLeafNodes = this.visibleCheckedNodes.filter(node => node.children == undefined || isEmpty(node.children))
316+
const checkedLeafNodes = this.visibleCheckedNodes?.filter(node => node.children == undefined || isEmpty(node.children))
317317
if ((!checkedLeafNodes.length || checkedLeafNodes.length >= this.totalVisibleLeafNodes) && !this.hasSingleNode) {
318318
this.showAll = true
319319
this.$nextTick(() => {

0 commit comments

Comments
 (0)