UNPKG

@stimulus-library/controllers

Version:

A library of useful controllers for Stimulus

35 lines (34 loc) 1.02 kB
import { signalEventName } from "./events"; import { SignalBaseController } from "./base_controller"; export class SignalActionController extends SignalBaseController { get predicateString() { return this.whenValue; } _onSignal(payload) { const value = payload.value; if (!this.hasWhenValue) { this.dispatchEvent(this.el, signalEventName(this.nameValue, "match")); return; } if (this.predicatesMatch(value)) { this.dispatchEvent(this.el, signalEventName(this.nameValue, "match"), { detail: { element: this.el, value, }, }); } else { this.dispatchEvent(this.el, signalEventName(this.nameValue, "no-match"), { detail: { element: this.el, value, }, }); } } } SignalActionController.values = { name: String, when: String, };