Skip to content

Commit

Permalink
Merge pull request #196 from hotwired/revert-195-revert-186-restructu…
Browse files Browse the repository at this point in the history
…re-morph-action

Re-structure turbo-stream[action=morph] support
  • Loading branch information
jorgemanrubia authored Jul 19, 2024
2 parents bf1bb14 + b16ebdb commit 93fa57b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
14 changes: 14 additions & 0 deletions _source/handbook/05_streams.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ A Turbo Streams message is a fragment of HTML consisting of `<turbo-stream>` ele
</template>
</turbo-stream>

<turbo-stream action="replace" method="morph" target="current_step">
<template>
<!-- The contents of this template will replace the element with ID "current_step" via morph. -->
<li>New item</li>
</template>
</turbo-stream>

<turbo-stream action="update" target="unread_count">
<template>
<!-- The contents of this template will replace the
Expand All @@ -52,6 +59,13 @@ A Turbo Streams message is a fragment of HTML consisting of `<turbo-stream>` ele
</template>
</turbo-stream>

<turbo-stream action="update" method="morph" target="current_step">
<template>
<!-- The contents of this template will replace the children of the element with ID "current_step" via morph. -->
<li>New item</li>
</template>
</turbo-stream>

<turbo-stream action="remove" target="message_1">
<!-- The element with DOM ID "message_1" will be removed.
The contents of this stream element are ignored. -->
Expand Down
20 changes: 20 additions & 0 deletions _source/reference/streams.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@ Replaces the element designated by the target dom id.
</turbo-stream>
```

The `[method="morph"]` attribute can be added to the `turbo-stream` element to replace the element designated by the target dom id via morph.

```html
<turbo-stream action="replace" method="morph" target="dom_id">
<template>
Content to replace the element.
</template>
</turbo-stream>
```

### Update

Updates the content within the template tag to the container designated by the target dom id.
Expand All @@ -58,6 +68,16 @@ Updates the content within the template tag to the container designated by the t
</turbo-stream>
```

The `[method="morph"]` attribute can be added to the `turbo-stream` element to morph only the children of the element designated by the target dom id.

```html
<turbo-stream action="update" method="morph" target="dom_id">
<template>
Content to replace the element.
</template>
</turbo-stream>
```

### Remove

Removes the element designated by the target dom id.
Expand Down

0 comments on commit 93fa57b

Please sign in to comment.