84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| $(function() {
 | |
| 	// var mixedMode = [{
 | |
| 	// 	name: "htmlmixed"
 | |
| 	// }, {
 | |
| 	// 	name: "css"
 | |
| 	// }, {
 | |
| 	// 	name: "javascript"
 | |
| 	// }];
 | |
| 	if(/MSIE 8.0/g.test($ua) || /MSIE 9.0/g.test($ua)) {
 | |
| 		$('#code-theme').closest('.btn-group').hide();
 | |
| 	}
 | |
| 	if(!window.localStorage.getItem('code-theme')) {
 | |
| 		window.localStorage.setItem('code-theme', 'default')
 | |
| 	};
 | |
| 	$(window).resize(function() {
 | |
| 		getH();
 | |
| 	})
 | |
| 	getH = function() {
 | |
| 		H = $(window).height();
 | |
| 		H = H-$('#orbit-bar').height();
 | |
| 		H = H-parseInt($('.wrap-inner').css('padding-top'))-parseInt($('.wrap-inner').css('padding-bottom'));
 | |
| 		H = H-$('.wrap-inner > h3').outerHeight()-$('#code-tab').outerHeight()-28;
 | |
| 		setH();
 | |
| 	};
 | |
| 	setH = function() {
 | |
| 		$('.CodeMirror').css('height',H);
 | |
| 	};
 | |
| 	codeEditor = [];
 | |
| 	$(".code").each(function(i) {
 | |
| 		var cE = "cE"+i;
 | |
| 		var cE = $(this).codemirror({
 | |
| 			mode: $(this).data('mode'),
 | |
| 			styleActiveLine: true,
 | |
| 			lineNumbers: true,
 | |
| 			lineWrapping: true,
 | |
| 			autoCloseBrackets: true,
 | |
| 	        autoCloseTags: true,
 | |
| 	        tabMode: "indent",
 | |
| 	        tabSize: 4,
 | |
| 	        indentUnit: 4,
 | |
| 	        indentWithTabs: true,
 | |
| 		});
 | |
| 		cE.setOption("theme", window.localStorage.getItem('code-theme'));
 | |
| 		CodeMirror.commands["selectAll"](cE);
 | |
| 		var range = { from: cE.getCursor(true), to: cE.getCursor(false) };
 | |
| 		cE.autoFormatRange(range.from, range.to);
 | |
| 		codeEditor.push(cE);
 | |
| 		$('#code-theme > li').eq(window.localStorage.getItem('lidx')).addClass('active')
 | |
| 	});
 | |
| 	getH();
 | |
| 	$('.CodeMirror-sizer').each(function(i) {
 | |
| 		if($(this).height() < H ) {
 | |
| 			$(this).siblings('.CodeMirror-gutters').css('height',H-30);
 | |
| 		}
 | |
| 	});
 | |
| 	$('#code-theme').delegate('a', clickEvent, function(e) {
 | |
| 		theme = $(this).attr('href');
 | |
| 		lidx = $(this).parent('li').index();
 | |
| 		window.localStorage.setItem('code-theme', theme);
 | |
| 		window.localStorage.setItem('lidx', lidx);
 | |
| 		var j = null;
 | |
| 		$('.tab-pane').each(function() {
 | |
| 			if($(this).hasClass('in')) {
 | |
| 				j = $(this).index()
 | |
| 			}
 | |
| 		});
 | |
| 		codeEditor[j].setOption("theme", theme);
 | |
| 		$(this).parent('li').addClass('active').siblings('li').removeClass('active')
 | |
| 		e.preventDefault();
 | |
| 	});
 | |
| 	$('a[data-toggle="tab"]').on('shown', function (e) {
 | |
| 		var j = null;
 | |
| 		$('.tab-pane').each(function() {
 | |
| 			if($(this).hasClass('in')) {
 | |
| 				j = $(this).index()
 | |
| 			}
 | |
| 		});
 | |
| 		codeEditor[j].setOption("theme", window.localStorage.getItem('code-theme'));
 | |
| 	});
 | |
| 	setTimeout(sethide, 1);
 | |
|     function sethide(){
 | |
|     	$(".tab-pane:eq(0)").nextAll(".tab-pane").removeClass("active in");
 | |
|     };
 | |
| }); |