Bind to keyup events if editor is present

This commit is contained in:
Berkeley Martinez
2015-11-24 14:27:32 -08:00
parent 9532a80f26
commit 2610573871

View File

@@ -7,42 +7,44 @@ $(document).ready(function() {
init($); init($);
}); });
const code$ = common.editorKeyUp$ if (common.editor.getValue) {
.debounce(750) const code$ = common.editorKeyUp$
.map(() => common.editor.getValue()) .debounce(750)
.distinctUntilChanged() .map(() => common.editor.getValue())
.shareReplay(); .distinctUntilChanged()
.shareReplay();
// update storage // update storage
code$.subscribe( code$.subscribe(
code => { code => {
common.codeStorage.updateStorage(common.challengeName, code); common.codeStorage.updateStorage(common.challengeName, code);
common.codeUri.querify(code); common.codeUri.querify(code);
}, },
err => console.error(err) err => console.error(err)
); );
code$ code$
.flatMap(code => { .flatMap(code => {
if (common.hasJs(code)) { if (common.hasJs(code)) {
return common.detectUnsafeCode$(code) return common.detectUnsafeCode$(code)
.flatMap(code => common.detectLoops$(code)) .flatMap(code => common.detectLoops$(code))
.flatMap( .flatMap(
({ err }) => err ? Observable.throw(err) : Observable.just(code) ({ err }) => err ? Observable.throw(err) : Observable.just(code)
); );
}
return Observable.just(code);
})
.flatMap(code => common.updatePreview$(code))
.catch(err => Observable.just({ err }))
.subscribe(
({ err }) => {
if (err) {
return console.error(err);
} }
}, return Observable.just(code);
err => console.error(err) })
); .flatMap(code => common.updatePreview$(code))
.catch(err => Observable.just({ err }))
.subscribe(
({ err }) => {
if (err) {
return console.error(err);
}
},
err => console.error(err)
);
}
common.resetBtn$ common.resetBtn$
.doOnNext(() => { .doOnNext(() => {