Bind to keyup events if editor is present
This commit is contained in:
@@ -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(() => {
|
||||||
|
Reference in New Issue
Block a user