From e2038eb02818c398f3d514ca948a65d53f7eddb3 Mon Sep 17 00:00:00 2001 From: Conor_Mack Date: Mon, 24 Feb 2020 11:46:38 +0000 Subject: [PATCH] Support for disabling list items --- .../src/List/List.svelte | 24 +++++++------- .../src/List/ListItem.svelte | 31 ++++++++++--------- .../src/Test/props.js | 1 + 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/packages/materialdesign-components/src/List/List.svelte b/packages/materialdesign-components/src/List/List.svelte index 61e19b030c..2ec00c1cd1 100644 --- a/packages/materialdesign-components/src/List/List.svelte +++ b/packages/materialdesign-components/src/List/List.svelte @@ -32,19 +32,21 @@ }) function handleSelectedItem(item) { - if (singleSelection || inputElement === "radiobutton") { - items.forEach(i => { - if (i.selected) i.selected = false - }) - } + if (!item.disabled) { + if (singleSelection || inputElement === "radiobutton") { + items.forEach(i => { + if (i.selected) i.selected = false + }) + } - let idx = items.indexOf(item) - if (!!item.selected) { - items[idx].selected = !item.selected - } else { - items[idx].selected = true + let idx = items.indexOf(item) + if (!!item.selected) { + items[idx].selected = !item.selected + } else { + items[idx].selected = true + } + onSelect(items.filter(item => item.selected)) } - onSelect(items.filter(item => item.selected)) } $: useDoubleLine = diff --git a/packages/materialdesign-components/src/List/ListItem.svelte b/packages/materialdesign-components/src/List/ListItem.svelte index d2b72b1166..d3458f4dc2 100644 --- a/packages/materialdesign-components/src/List/ListItem.svelte +++ b/packages/materialdesign-components/src/List/ListItem.svelte @@ -1,27 +1,30 @@