* Bind the signal to an external EventTarget.
(bind2, node, param, view)
| 141993 | /** |
| 141994 | * Bind the signal to an external EventTarget. |
| 141995 | */ function target(bind2, node, param, view) { |
| 141996 | const type = param.event || "input"; |
| 141997 | const handler = ()=>bind2.update(node.value); // initialize signal value to external input value |
| 141998 | view.signal(param.signal, node.value); // listen for changes on the element |
| 141999 | node.addEventListener(type, handler); // register with view, so we can remove it upon finalization |
| 142000 | trackEventListener(view, node, type, handler); // propagate change to element |
| 142001 | bind2.set = (value)=>{ |
| 142002 | node.value = value; |
| 142003 | node.dispatchEvent(event(type)); |
| 142004 | }; |
| 142005 | } |
| 142006 | function event(type) { |
| 142007 | return typeof Event !== "undefined" ? new Event(type) : { |
| 142008 | type |
no test coverage detected