Persisted Dismissable/Remove Controller
Purpose
Add the ability to dismiss/remove an element from the DOM. i.e. Notifications, Flash messages and alerts, and store
a key in LocalStorage that means once dismissed, the alert stays dismissed.
| Action | Purpose |
|---|
| dismiss | Removes the element from the DOM |
| Value | Type | Description | Default |
|---|
key | String | The uniquely identifying string key to use in LocalStorage to store whether or not this alert has been dismissed or not | - |
Events
| Event | When | Dispatched on | event.detail |
|---|
- | - | - | - |
Side Effects
None
How to Use
A good example is a notification or call to action message, if you don't want to build out server state to decide
whether or not a user sees a message, you can just always show the message and once a user has interacted with the message
it stays gone forever (or until they clean their browser storage).
Browser support / Necessary polyfills
Please reference https://caniuse.com/childnode-remove, you may need to polyfill ChildNode.remove() using https://www.npmjs.com/package/element-remove-polyfill
if you need to support IE11 or below.