From b815ac7be9939aec75670477f198412e5038bdc7 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Apr 2019 14:24:15 -0400 Subject: [PATCH 1/4] document store bindings and $foo += 1 --- .../06-store-bindings/app-a/App.svelte | 6 +++++ .../06-store-bindings/app-a/stores.js | 8 +++++++ .../06-store-bindings/app-b/App.svelte | 10 ++++++++ .../06-store-bindings/app-b/stores.js | 8 +++++++ .../08-stores/06-store-bindings/text.md | 23 +++++++++++++++++++ 5 files changed, 55 insertions(+) create mode 100644 site/content/tutorial/08-stores/06-store-bindings/app-a/App.svelte create mode 100644 site/content/tutorial/08-stores/06-store-bindings/app-a/stores.js create mode 100644 site/content/tutorial/08-stores/06-store-bindings/app-b/App.svelte create mode 100644 site/content/tutorial/08-stores/06-store-bindings/app-b/stores.js create mode 100644 site/content/tutorial/08-stores/06-store-bindings/text.md diff --git a/site/content/tutorial/08-stores/06-store-bindings/app-a/App.svelte b/site/content/tutorial/08-stores/06-store-bindings/app-a/App.svelte new file mode 100644 index 0000000000..3839224826 --- /dev/null +++ b/site/content/tutorial/08-stores/06-store-bindings/app-a/App.svelte @@ -0,0 +1,6 @@ + + +

{$greeting}

+ \ No newline at end of file diff --git a/site/content/tutorial/08-stores/06-store-bindings/app-a/stores.js b/site/content/tutorial/08-stores/06-store-bindings/app-a/stores.js new file mode 100644 index 0000000000..298598a412 --- /dev/null +++ b/site/content/tutorial/08-stores/06-store-bindings/app-a/stores.js @@ -0,0 +1,8 @@ +import { writable, derived } from 'svelte/store'; + +export const name = writable('world'); + +export const greeting = derived( + name, + $name => `Hello ${$name}!` +); \ No newline at end of file diff --git a/site/content/tutorial/08-stores/06-store-bindings/app-b/App.svelte b/site/content/tutorial/08-stores/06-store-bindings/app-b/App.svelte new file mode 100644 index 0000000000..52f04be957 --- /dev/null +++ b/site/content/tutorial/08-stores/06-store-bindings/app-b/App.svelte @@ -0,0 +1,10 @@ + + +

{$greeting}

+ + + \ No newline at end of file diff --git a/site/content/tutorial/08-stores/06-store-bindings/app-b/stores.js b/site/content/tutorial/08-stores/06-store-bindings/app-b/stores.js new file mode 100644 index 0000000000..298598a412 --- /dev/null +++ b/site/content/tutorial/08-stores/06-store-bindings/app-b/stores.js @@ -0,0 +1,8 @@ +import { writable, derived } from 'svelte/store'; + +export const name = writable('world'); + +export const greeting = derived( + name, + $name => `Hello ${$name}!` +); \ No newline at end of file diff --git a/site/content/tutorial/08-stores/06-store-bindings/text.md b/site/content/tutorial/08-stores/06-store-bindings/text.md new file mode 100644 index 0000000000..7034703f33 --- /dev/null +++ b/site/content/tutorial/08-stores/06-store-bindings/text.md @@ -0,0 +1,23 @@ +--- +title: Store bindings +--- + +If a store is writable — i.e. it has a `set` method — you can bind to its value, just as you can bind to local component state. + +In this example we have a writable store `name` and a derived store `greeting`. Update the `` element: + +```html + +``` + +Changing the input value will now update `name` and all its dependents. + +We can also assign directly to store values inside a component. Add a ` +``` + +The `$name += '!'` assignment is equivalent to `name.set($name + '!')`. \ No newline at end of file From f04225fa0f8d6e86034afa9d7bab3771bcb7913a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Apr 2019 16:38:09 -0400 Subject: [PATCH 2/4] document local transitions --- .../07-local-transitions/app-a/App.svelte | 32 +++++++++++++++++++ .../07-local-transitions/app-b/App.svelte | 32 +++++++++++++++++++ .../07-local-transitions/text.md | 15 +++++++++ .../app-a/App.svelte | 0 .../app-a/crossfade.js | 0 .../app-b/App.svelte | 0 .../app-b/crossfade.js | 0 .../text.md | 0 8 files changed, 79 insertions(+) create mode 100644 site/content/tutorial/10-transitions/07-local-transitions/app-a/App.svelte create mode 100644 site/content/tutorial/10-transitions/07-local-transitions/app-b/App.svelte create mode 100644 site/content/tutorial/10-transitions/07-local-transitions/text.md rename site/content/tutorial/10-transitions/{07-deferred-transitions => 08-deferred-transitions}/app-a/App.svelte (100%) rename site/content/tutorial/10-transitions/{07-deferred-transitions => 08-deferred-transitions}/app-a/crossfade.js (100%) rename site/content/tutorial/10-transitions/{07-deferred-transitions => 08-deferred-transitions}/app-b/App.svelte (100%) rename site/content/tutorial/10-transitions/{07-deferred-transitions => 08-deferred-transitions}/app-b/crossfade.js (100%) rename site/content/tutorial/10-transitions/{07-deferred-transitions => 08-deferred-transitions}/text.md (100%) diff --git a/site/content/tutorial/10-transitions/07-local-transitions/app-a/App.svelte b/site/content/tutorial/10-transitions/07-local-transitions/app-a/App.svelte new file mode 100644 index 0000000000..ed93815c0d --- /dev/null +++ b/site/content/tutorial/10-transitions/07-local-transitions/app-a/App.svelte @@ -0,0 +1,32 @@ + + + + + + + + +{#if showItems} + {#each items.slice(0, i) as item} +
+ {item} +
+ {/each} +{/if} \ No newline at end of file diff --git a/site/content/tutorial/10-transitions/07-local-transitions/app-b/App.svelte b/site/content/tutorial/10-transitions/07-local-transitions/app-b/App.svelte new file mode 100644 index 0000000000..3d569cfcbb --- /dev/null +++ b/site/content/tutorial/10-transitions/07-local-transitions/app-b/App.svelte @@ -0,0 +1,32 @@ + + + + + + + + +{#if showItems} + {#each items.slice(0, i) as item} +
+ {item} +
+ {/each} +{/if} \ No newline at end of file diff --git a/site/content/tutorial/10-transitions/07-local-transitions/text.md b/site/content/tutorial/10-transitions/07-local-transitions/text.md new file mode 100644 index 0000000000..7a22967ab0 --- /dev/null +++ b/site/content/tutorial/10-transitions/07-local-transitions/text.md @@ -0,0 +1,15 @@ +--- +title: Local transitions +--- + +Ordinarily, transitions will play on elements when any container block is added or destroyed. In the example here, toggling the visibility of the entire list also applies transitions to individual list elements. + +Instead, we'd like transitions to play only when individual items are added and removed — on other words, when the user drags the slider. + +We can achieve this with a *local* transition, which only plays when the immediate parent block is added or removed: + +```html +
+ {item} +
+``` \ No newline at end of file diff --git a/site/content/tutorial/10-transitions/07-deferred-transitions/app-a/App.svelte b/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte similarity index 100% rename from site/content/tutorial/10-transitions/07-deferred-transitions/app-a/App.svelte rename to site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte diff --git a/site/content/tutorial/10-transitions/07-deferred-transitions/app-a/crossfade.js b/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/crossfade.js similarity index 100% rename from site/content/tutorial/10-transitions/07-deferred-transitions/app-a/crossfade.js rename to site/content/tutorial/10-transitions/08-deferred-transitions/app-a/crossfade.js diff --git a/site/content/tutorial/10-transitions/07-deferred-transitions/app-b/App.svelte b/site/content/tutorial/10-transitions/08-deferred-transitions/app-b/App.svelte similarity index 100% rename from site/content/tutorial/10-transitions/07-deferred-transitions/app-b/App.svelte rename to site/content/tutorial/10-transitions/08-deferred-transitions/app-b/App.svelte diff --git a/site/content/tutorial/10-transitions/07-deferred-transitions/app-b/crossfade.js b/site/content/tutorial/10-transitions/08-deferred-transitions/app-b/crossfade.js similarity index 100% rename from site/content/tutorial/10-transitions/07-deferred-transitions/app-b/crossfade.js rename to site/content/tutorial/10-transitions/08-deferred-transitions/app-b/crossfade.js diff --git a/site/content/tutorial/10-transitions/07-deferred-transitions/text.md b/site/content/tutorial/10-transitions/08-deferred-transitions/text.md similarity index 100% rename from site/content/tutorial/10-transitions/07-deferred-transitions/text.md rename to site/content/tutorial/10-transitions/08-deferred-transitions/text.md From b1737503f048639219550b6e568b7ba578b0ae27 Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Tue, 16 Apr 2019 09:00:55 -0400 Subject: [PATCH 3/4] start updating deferred transition chapter --- .../08-deferred-transitions/app-a/App.svelte | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte b/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte index c46096c204..1c719c6043 100644 --- a/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte +++ b/site/content/tutorial/10-transitions/08-deferred-transitions/app-a/App.svelte @@ -1,8 +1,8 @@
- +

todo

@@ -134,6 +128,7 @@

done

{#each todos.filter(t => t.done) as todo (todo.id)}