mid finished linting commonFramework
parent
8f54932cab
commit
384dec42ac
|
@ -1,4 +1,4 @@
|
||||||
/* globals CodeMirror, challenge_Name */
|
/* globals CodeMirror, challenge_Name, challengeType */
|
||||||
// codeStorage
|
// codeStorage
|
||||||
var codeStorageFactory = (function($, localStorage) {
|
var codeStorageFactory = (function($, localStorage) {
|
||||||
|
|
||||||
|
@ -68,6 +68,12 @@ var codeStorageFactory = (function($, localStorage) {
|
||||||
return codeStorageFactory;
|
return codeStorageFactory;
|
||||||
}($, localStorage));
|
}($, localStorage));
|
||||||
|
|
||||||
|
function replaceSafeTags(value) {
|
||||||
|
return value
|
||||||
|
.replace(/fccss/gi, '<script>')
|
||||||
|
.replace(/fcces/gi, '</script>');
|
||||||
|
}
|
||||||
|
|
||||||
var isInitRun = false;
|
var isInitRun = false;
|
||||||
var initPreview = true;
|
var initPreview = true;
|
||||||
var editor;
|
var editor;
|
||||||
|
@ -106,30 +112,30 @@ var allSeeds = '';
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
editor.setOption("extraKeys", {
|
editor.setOption('extraKeys', {
|
||||||
Tab: function(cm) {
|
Tab: function(cm) {
|
||||||
if (cm.somethingSelected()){
|
if (cm.somethingSelected()) {
|
||||||
cm.indentSelection("add");
|
cm.indentSelection('add');
|
||||||
} else {
|
} else {
|
||||||
var spaces = Array(cm.getOption("indentUnit") + 1).join(" ");
|
var spaces = Array(cm.getOption('indentUnit') + 1).join(' ');
|
||||||
cm.replaceSelection(spaces);
|
cm.replaceSelection(spaces);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Shift-Tab": function(cm) {
|
'Shift-Tab': function(cm) {
|
||||||
if (cm.somethingSelected()){
|
if (cm.somethingSelected()) {
|
||||||
cm.indentSelection("subtract");
|
cm.indentSelection('subtract');
|
||||||
} else {
|
} else {
|
||||||
var spaces = Array(cm.getOption("indentUnit") + 1).join(" ");
|
var spaces = Array(cm.getOption('indentUnit') + 1).join(' ');
|
||||||
cm.replaceSelection(spaces);
|
cm.replaceSelection(spaces);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Ctrl-Enter": function() {
|
'Ctrl-Enter': function() {
|
||||||
bonfireExecute(true);
|
bonfireExecute(true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
editor.setSize("100%", "auto");
|
editor.setSize('100%', 'auto');
|
||||||
|
|
||||||
var libraryIncludes = "<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>" +
|
var libraryIncludes = "<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>" +
|
||||||
"<script src='/js/lib/chai/chai.js'></script>" +
|
"<script src='/js/lib/chai/chai.js'></script>" +
|
||||||
|
@ -141,39 +147,44 @@ var libraryIncludes = "<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.3
|
||||||
"<style>body { padding: 0px 3px 0px 3px; }</style>" +
|
"<style>body { padding: 0px 3px 0px 3px; }</style>" +
|
||||||
"<script>var expect = chai.expect; var should = chai.should(); var assert = chai.assert;</script>";
|
"<script>var expect = chai.expect; var should = chai.should(); var assert = chai.assert;</script>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var editorValueForIFrame;
|
var editorValueForIFrame;
|
||||||
var iFrameScript = "<script src='/js/iFrameScripts.js'></script>";
|
var iFrameScript = "<script src='/js/iFrameScripts.js'></script>";
|
||||||
|
|
||||||
var delay;
|
var delay;
|
||||||
|
|
||||||
// Initialize CodeMirror editor with a nice html5 canvas demo.
|
// Initialize CodeMirror editor with a nice html5 canvas demo.
|
||||||
editor.on("keyup", function () {
|
editor.on('keyup', function() {
|
||||||
clearTimeout(delay);
|
clearTimeout(delay);
|
||||||
delay = setTimeout(updatePreview, 300);
|
delay = setTimeout(updatePreview, 300);
|
||||||
});
|
});
|
||||||
|
|
||||||
function workerError(error){
|
function workerError(error) {
|
||||||
var display = $('.runTimeError');
|
var display = $('.runTimeError');
|
||||||
var housing = $('#testSuite');
|
var housing = $('#testSuite');
|
||||||
if(display.html() != error){
|
if (display.html() !== error) {
|
||||||
display.remove();
|
display.remove();
|
||||||
housing.prepend("<div class = \"runTimeError\" style= \"font-size: 18px;\"><code>" + error.replace(/j\$/gi, "$").replace(/jdocument/gi, "document").replace(/jjQuery/gi, "jQuery") + "</code></div>");
|
housing.prepend(
|
||||||
display.hide().fadeIn(function(){
|
'<div class="runTimeError" style="font-size: 18px;"><code>' +
|
||||||
setTimeout(function(){
|
error.replace(/j\$/gi, '$').replace(/jdocument/gi, 'document').replace(/jjQuery/gi, 'jQuery') +
|
||||||
display.fadeOut(function(){
|
'</code></div>'
|
||||||
|
);
|
||||||
|
display.hide().fadeIn(function() {
|
||||||
|
setTimeout(function() {
|
||||||
|
display.fadeOut(function() {
|
||||||
display.remove();
|
display.remove();
|
||||||
});
|
});
|
||||||
}, 1000)
|
}, 1000);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function scopejQuery(s){
|
function scopejQuery(str) {
|
||||||
return(s.replace(/\$/gi, "j$").replace(/document/gi, "jdocument").replace(/jQuery/gi, "jjQuery"));
|
return str
|
||||||
|
.replace(/\$/gi, 'j$')
|
||||||
|
.replace(/document/gi, 'jdocument')
|
||||||
|
.replace(/jQuery/gi, 'jjQuery');
|
||||||
}
|
}
|
||||||
|
|
||||||
function safeHTMLRun(test){
|
function safeHTMLRun(test) {
|
||||||
if(challengeType === "0"){
|
if(challengeType === "0"){
|
||||||
var previewFrame = document.getElementById('preview');
|
var previewFrame = document.getElementById('preview');
|
||||||
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
|
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
|
||||||
|
@ -328,7 +339,7 @@ function showCompletion() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var resetEditor = function resetEditor() {
|
var resetEditor = function resetEditor() {
|
||||||
editor.setValue(allSeeds.replace((/fccss/gi), '<script>').replace((/fcces/gi), '</script>'));
|
editor.setValue(replaceSafeTags(allSeeds));
|
||||||
$('#testSuite').empty();
|
$('#testSuite').empty();
|
||||||
bonfireExecute(true);
|
bonfireExecute(true);
|
||||||
codeStorage.updateStorage();
|
codeStorage.updateStorage();
|
||||||
|
@ -339,14 +350,17 @@ if (attempts) {
|
||||||
attempts = 0;
|
attempts = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(challengeType !== "0") {
|
if (challengeType !== '0') {
|
||||||
var codeOutput = CodeMirror.fromTextArea(document.getElementById("codeOutput"), {
|
var codeOutput = CodeMirror.fromTextArea(
|
||||||
|
document.getElementById('codeOutput'),
|
||||||
|
{
|
||||||
lineNumbers: false,
|
lineNumbers: false,
|
||||||
mode: "text",
|
mode: 'text',
|
||||||
theme: 'monokai',
|
theme: 'monokai',
|
||||||
readOnly: 'nocursor',
|
readOnly: 'nocursor',
|
||||||
lineWrapping: true
|
lineWrapping: true
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
codeOutput.setValue('/**\n' +
|
codeOutput.setValue('/**\n' +
|
||||||
' * Your output will go here.\n' + ' * Console.log() -type statements\n' +
|
' * Your output will go here.\n' + ' * Console.log() -type statements\n' +
|
||||||
|
@ -354,6 +368,7 @@ if(challengeType !== "0") {
|
||||||
' */');
|
' */');
|
||||||
codeOutput.setSize("100%", "100%");
|
codeOutput.setSize("100%", "100%");
|
||||||
}
|
}
|
||||||
|
|
||||||
var info = editor.getScrollInfo();
|
var info = editor.getScrollInfo();
|
||||||
var after = editor.charCoords({
|
var after = editor.charCoords({
|
||||||
line: editor.getCursor().line + 1,
|
line: editor.getCursor().line + 1,
|
||||||
|
@ -591,14 +606,15 @@ $(document).ready(function() {
|
||||||
codeStorage.getStoredValue() :
|
codeStorage.getStoredValue() :
|
||||||
allSeeds;
|
allSeeds;
|
||||||
|
|
||||||
myCodeMirror.setValue(editorValue.replace(/fccss/gi, '<script>').replace(/fcces/gi, "</script>"));
|
myCodeMirror.setValue(replaceSafeTags(editorValue));
|
||||||
|
|
||||||
if (typeof $preview.html() !== 'undefined') {
|
if (typeof $preview.html() !== 'undefined') {
|
||||||
$preview.load(function(){
|
$preview.load(function() {
|
||||||
if (initPreview) {
|
if (initPreview) {
|
||||||
bonfireExecute(true);
|
bonfireExecute(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else{
|
} else {
|
||||||
bonfireExecute(true);
|
bonfireExecute(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue