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