55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
window.common = (function(global) {
 | 
						|
  const {
 | 
						|
    CodeMirror,
 | 
						|
    document: doc,
 | 
						|
    common = { init: [] }
 | 
						|
  } = global;
 | 
						|
 | 
						|
  const { challengeTypes, challengeType = '0' } = common;
 | 
						|
 | 
						|
  if (
 | 
						|
    !CodeMirror ||
 | 
						|
    challengeType !== challengeTypes.JS &&
 | 
						|
    challengeType !== challengeTypes.BONFIRE
 | 
						|
  ) {
 | 
						|
    common.updateOutputDisplay = () => {};
 | 
						|
    common.appendToOutputDisplay = () => {};
 | 
						|
    return common;
 | 
						|
  }
 | 
						|
 | 
						|
  var codeOutput = CodeMirror.fromTextArea(
 | 
						|
    doc.getElementById('codeOutput'),
 | 
						|
    {
 | 
						|
      lineNumbers: false,
 | 
						|
      mode: 'text',
 | 
						|
      theme: 'monokai',
 | 
						|
      readOnly: 'nocursor',
 | 
						|
      lineWrapping: true
 | 
						|
    }
 | 
						|
  );
 | 
						|
 | 
						|
  codeOutput.setValue(`/**
 | 
						|
  * Your output will go here.
 | 
						|
  * Console.log() -type statements
 | 
						|
  * will appear in your browser\'s
 | 
						|
  * DevTools JavaScript console.
 | 
						|
  */`);
 | 
						|
 | 
						|
  codeOutput.setSize('100%', '100%');
 | 
						|
 | 
						|
  common.updateOutputDisplay = function updateOutputDisplay(str = '') {
 | 
						|
    if (typeof str !== 'string') {
 | 
						|
      str = JSON.stringify(str);
 | 
						|
    }
 | 
						|
    codeOutput.setValue(str);
 | 
						|
    return str;
 | 
						|
  };
 | 
						|
 | 
						|
  common.appendToOutputDisplay = function appendToOutputDisplay(str = '') {
 | 
						|
    codeOutput.setValue(codeOutput.getValue() + str);
 | 
						|
    return str;
 | 
						|
  };
 | 
						|
 | 
						|
  return common;
 | 
						|
}(window));
 |