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));