From d08e6980661adae8d592c9617fde52a35c9ea2d6 Mon Sep 17 00:00:00 2001 From: bion howard Date: Wed, 22 May 2019 19:57:11 -0400 Subject: [PATCH] Fix updates in CRUD example Real-time updates and search --- .../19-7guis/05-7guis-crud/App.svelte | 59 ++++++++----------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/site/content/examples/19-7guis/05-7guis-crud/App.svelte b/site/content/examples/19-7guis/05-7guis-crud/App.svelte index 1f39fe6642..bd73a3135a 100644 --- a/site/content/examples/19-7guis/05-7guis-crud/App.svelte +++ b/site/content/examples/19-7guis/05-7guis-crud/App.svelte @@ -16,45 +16,25 @@ } ]; - let prefix = ''; - let first = ''; - let last = ''; + let query = ''; let i = 0; - $: filteredPeople = prefix - ? people.filter(person => { - const name = `${person.last}, ${person.first}`; - return name.toLowerCase().startsWith(prefix.toLowerCase()); - }) - : people; + $: filteredPeople = query ? people.filter(person => { + const name = `${person.first} ${person.last}`; + return name.toLowerCase().indexOf(query.toLowerCase()) !== -1; + }) : people; - $: selected = filteredPeople[i]; - - $: { - first = selected ? selected.first : ''; - last = selected ? selected.last : ''; - } + $: selected = filteredPeople[i] ? filteredPeople[i] : { first: '', last: '' }; function create() { - people = people.concat({ first, last }); + people = people.concat({ first: "PLACE", last: "HODL"}); i = people.length - 1; - first = last = ''; - } - - function update() { - people[i] = { first, last }; } function remove() { people = [...people.slice(0, i), ...people.slice(i + 1)]; - - first = last = ''; i = Math.min(i, people.length - 1); } - - function reset_inputs(person) { - ({ first, last } = person); - } - - - {#each filteredPeople as person, i} - + {/each} - - +

+
+
+

+ + + +
+ + +
- - +