Subjects
by xxjcaxx
HTML
<script src="https://unpkg.com/rxjs@^7/dist/bundles/rxjs.umd.min.js"></script>
<input type="text" id="inputOriginal" placeholder="Escriu acĂ..."/>
<div id="container">
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
</div>
JavaScript
const { BehaviorSubject, map, takeWhile, Subject, fromEvent, debounceTime, distinctUntilChanged } = rxjs;
const inputOriginal$ = fromEvent(document.querySelector('#inputOriginal'),'keyup')
.pipe(
debounceTime(100),
distinctUntilChanged(),
map(event => event.target.value)
);
const values$ = new Subject();
const subscriptionValues = inputOriginal$.pipe(
takeWhile(value => value.length < 5)
).subscribe(values$);
values$.subscribe(v => document.querySelectorAll('#container input').forEach(input => input.value = v));