1.0.0 • Published 5 years ago

svelte-actions-mutation v1.0.0

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

svelte-actions-mutation

MutationObserver action plugin for Svelte 3. Demo

Usage

Install with npm or yarn:

npm install --save svelte-actions-mutation
<button bind:this={btn} use:mutation={options} on:click={mutate}>
  Mutate
</button>

<script>
  import mutation from 'svelte-actions-mutation';
	
  let btn;

  function mutate() {
    btn.classList.add(Math.random().toString(36).substring(7));
  }
  
  const options = {
    attributeOldValue: true,
    attributeFilter: [ 'class' ],
    attributes(mutation) {
      console.log(`Attribute ${mutation.attributeName} mutated. Old value: ${mutation.oldValue}`);
	}
  };
</script>

Options

NameTypeDescription
attributesFunctionCallback to watch for changes to the value of attributes on the node or nodes being monitored.
characterDataFunctionCallback to monitor the specified target node or subtree for changes to the character data contained within the node or nodes.
childListFunctionCallback to monitor the target node (and, if subtree is true, its descendants) for the addition of new child nodes or removal of existing child nodes.
attributeFilterArrayAn array of specific attribute names to be monitored. If this property isn't included, changes to all attributes cause mutation notifications.
attributeOldValueBooleanSet to true to record the previous value of any attribute that changes when monitoring the node or nodes for attribute changes.
subtreeBooleanSet to true to extend monitoring to the entire subtree of nodes rooted at target.
characterDataOldValueBooleanSet to true to record the previous value of a node's text whenever the text changes on nodes being monitored.

License

MIT © PaulMaly