@setAll
Assign one value to every signal whose path matches a filter. Without a filter, every signal is set.
Syntax
Section titled “Syntax”@setAll(false, { include: /^flags\./ })@setAll('', { include: /^form\./, exclude: /\.id$/ })@setAll(null) // removes every signalSelect all and none
Section titled “Select all and none”checkbox group
<div data-signals="{ flags: { a: false, b: false, c: false } }"> <div class="row"><label><input type="checkbox" data-bind:flags.a> a</label><label><input type="checkbox" data-bind:flags.b> b</label><label><input type="checkbox" data-bind:flags.c> c</label></div> <div class="row"><button data-on:click="@setAll(true, { include: /^flags\./ })">all on</button><button data-on:click="@setAll(false, { include: /^flags\./ })">all off</button></div></div>Reset a form
Section titled “Reset a form”Clear every field under a prefix while leaving the rest of the store alone.
clear form.*
<div data-signals="{ form: { name: 'Ada', email: 'ada@example.com' }, theme: 'dark' }"> <div class="row"><input data-bind:form.name> <input data-bind:form.email> <button data-on:click="@setAll('', { include: /^form\./ })">clear form</button></div> <pre data-json-signals="{ include: /^(form|theme)/ }"></pre></div>Runs in one batch, so dependents update once. Computed paths are skipped. The filter is the same { include, exclude } shape used by requests, persist and json-signals.
Register
Section titled “Register”import { setAll } from 'sigmx/plugins'Registering setAll adds 47 bytes brotli (94 gzip, 212 minified) on top of the core. See bundle sizes.