@cycle/dom
Advanced tools
Comparing version 22.6.0 to 22.7.0
@@ -0,1 +1,7 @@ | ||
## 22.7.0 (2020-04-23) | ||
* fix(dom): fix nonBubbling events only emit to one stream ([8a963ed](https://github.com/cyclejs/cyclejs/commit/8a963ed)), closes [#941](https://github.com/cyclejs/cyclejs/issues/941) [#940](https://github.com/cyclejs/cyclejs/issues/940) | ||
## 22.6.0 (2020-03-23) | ||
@@ -2,0 +8,0 @@ |
@@ -122,2 +122,4 @@ "use strict"; | ||
nonBubbleSubject_1 = subject; | ||
this.nonBubblingListenersToAdd.add(input_1); | ||
this.setupNonBubblingListener(input_1); | ||
} | ||
@@ -132,4 +134,2 @@ else { | ||
start: function (listener) { | ||
self_1.nonBubblingListenersToAdd.add(input_1); | ||
self_1.setupNonBubblingListener(input_1); | ||
subscription_1 = nonBubbleSubject_1.subscribe(listener); | ||
@@ -136,0 +136,0 @@ }, |
@@ -120,2 +120,4 @@ var __assign = (this && this.__assign) || function () { | ||
nonBubbleSubject_1 = subject; | ||
this.nonBubblingListenersToAdd.add(input_1); | ||
this.setupNonBubblingListener(input_1); | ||
} | ||
@@ -130,4 +132,2 @@ else { | ||
start: function (listener) { | ||
self_1.nonBubblingListenersToAdd.add(input_1); | ||
self_1.setupNonBubblingListener(input_1); | ||
subscription_1 = nonBubbleSubject_1.subscribe(listener); | ||
@@ -134,0 +134,0 @@ }, |
{ | ||
"name": "@cycle/dom", | ||
"version": "22.6.0", | ||
"version": "22.7.0", | ||
"description": "The standard DOM Driver for Cycle.js, based on Snabbdom", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -173,2 +173,4 @@ import xs, {Stream, Subscription} from 'xstream'; | ||
nonBubbleSubject = subject; | ||
this.nonBubblingListenersToAdd.add(input); | ||
this.setupNonBubblingListener(input); | ||
} else { | ||
@@ -184,4 +186,2 @@ const [sub] = input; | ||
start: listener => { | ||
self.nonBubblingListenersToAdd.add(input); | ||
self.setupNonBubblingListener(input); | ||
subscription = nonBubbleSubject.subscribe(listener); | ||
@@ -188,0 +188,0 @@ }, |
@@ -749,2 +749,48 @@ import {isIE10} from './setup'; | ||
it('should emit to multiple nonbubbling event streams', function(done) { | ||
function app(_sources: {DOM: DOMSource}) { | ||
return { | ||
DOM: xs.of( | ||
div('.parent', [ | ||
input('.input', {type: 'text'}), | ||
]) | ||
), | ||
}; | ||
} | ||
if (!document.hasFocus()) { | ||
done(); | ||
} else { | ||
const {sinks, sources, run} = setup(app, { | ||
DOM: makeDOMDriver(createRenderTarget()), | ||
}); | ||
Stream.merge( | ||
sources.DOM.select('.input').events('focus'), | ||
sources.DOM.select('.input').events('focus'), | ||
) | ||
.mapTo(1) | ||
.fold((prev, current)=> prev + current, 0) | ||
.addListener({ | ||
next: (count) => { | ||
if (count === 2) { | ||
done(); | ||
} | ||
}, | ||
}); | ||
sources.DOM.select(':root') | ||
.element() | ||
.drop(1) | ||
.take(1) | ||
.addListener({ | ||
next: (root: Element) => { | ||
const inputElement = root.querySelector('.input') as HTMLElement; | ||
setTimeout(() => inputElement.focus(), 50); | ||
}, | ||
}); | ||
run(); | ||
} | ||
}); | ||
it('should catch a blur event with useCapture', function(done) { | ||
@@ -751,0 +797,0 @@ function app(_sources: {DOM: DOMSource}) { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
532171
11865