var myChart; var domCode = document.getElementById('sidebar-code'); var domGraphic = document.getElementById('graphic'); var domMain = document.getElementById('main'); var domMessage = document.getElementById('wrong-message'); var iconResize = document.getElementById('icon-resize'); var needRefresh = false; var enVersion = location.hash.indexOf('-en') != -1; var hash = location.hash.replace('-en',''); hash = hash.replace('#','') || (needMap() ? 'default' : 'macarons'); hash += enVersion ? '-en' : ''; var curTheme; function requireCallback (ec, defaultTheme) { curTheme = themeSelector ? defaultTheme : {}; echarts = ec; refresh(); window.onresize = myChart.resize; } var themeSelector = $('#theme-select'); if (themeSelector) { themeSelector.html( '' + '' + '' + '' + '' + '' + '' + '' + '' + '' ); $(themeSelector).on('change', function(){ selectChange($(this).val()); }); function selectChange(value){ var theme = value; myChart.showLoading(); $(themeSelector).val(theme); if (theme != 'default') { window.location.hash = value + (enVersion ? '-en' : ''); require(['theme/' + theme], function(tarTheme){ curTheme = tarTheme; setTimeout(refreshTheme, 500); }) } else { window.location.hash = enVersion ? '-en' : ''; curTheme = {}; setTimeout(refreshTheme, 500); } } function refreshTheme(){ myChart.hideLoading(); myChart.setTheme(curTheme); } if ($(themeSelector).val(hash.replace('-en', '')).val() != hash.replace('-en', '')) { $(themeSelector).val('macarons'); hash = 'macarons' + enVersion ? '-en' : ''; window.location.hash = hash; } } function autoResize() { if ($(iconResize).hasClass('glyphicon-resize-full')) { focusCode(); iconResize.className = 'glyphicon glyphicon-resize-small'; } else { focusGraphic(); iconResize.className = 'glyphicon glyphicon-resize-full'; } } function focusCode() { domCode.className = 'col-md-8 ani'; domGraphic.className = 'col-md-4 ani'; } function focusGraphic() { domCode.className = 'col-md-4 ani'; domGraphic.className = 'col-md-8 ani'; if (needRefresh) { myChart.showLoading(); setTimeout(refresh, 1000); } } var editor = CodeMirror.fromTextArea( document.getElementById("code"), { lineNumbers: true } ); editor.setOption("theme", 'monokai'); editor.on('change', function(){needRefresh = true;}); function refresh(isBtnRefresh){ if (isBtnRefresh) { needRefresh = true; focusGraphic(); return; } needRefresh = false; if (myChart && myChart.dispose) { myChart.dispose(); } myChart = echarts.init(domMain, curTheme); window.onresize = myChart.resize; (new Function(editor.doc.getValue()))(); myChart.setOption(option, true) domMessage.innerHTML = ''; } function needMap() { var href = location.href; return href.indexOf('map') != -1 || href.indexOf('mix3') != -1 || href.indexOf('mix5') != -1 || href.indexOf('dataRange') != -1; } var echarts; var developMode = false; if (developMode) { window.esl = null; window.define = null; window.require = null; (function () { var script = document.createElement('script'); script.async = true; var pathname = location.pathname; var pathSegs = pathname.slice(pathname.indexOf('doc')).split('/'); var pathLevelArr = new Array(pathSegs.length - 1); script.src = pathLevelArr.join('../') + 'asset/js/esl/esl.js'; if (script.readyState) { script.onreadystatechange = fireLoad; } else { script.onload = fireLoad; } (document.getElementsByTagName('head')[0] || document.body).appendChild(script); function fireLoad() { script.onload = script.onreadystatechange = null; setTimeout(loadedListener,100); } function loadedListener() { // for develop require.config({ packages: [ { name: 'echarts', location: '../../src', main: 'echarts' }, { name: 'zrender', //location: 'http://ecomfe.github.io/zrender/src', location: '../../../zrender/src', main: 'zrender' } ] }); launchExample(); } })(); } else { // for echarts online home page require.config({ paths: { echarts: './www/js' } }); launchExample(); } var isExampleLaunched; function launchExample() { if (isExampleLaunched) { return; } // 按需加载 isExampleLaunched = 1; require( [ 'echarts', 'theme/' + hash.replace('-en', ''), 'echarts/chart/line', 'echarts/chart/bar', 'echarts/chart/scatter', 'echarts/chart/k', 'echarts/chart/pie', 'echarts/chart/radar', 'echarts/chart/force', 'echarts/chart/chord', 'echarts/chart/gauge', 'echarts/chart/funnel', 'echarts/chart/eventRiver', needMap() ? 'echarts/chart/map' : 'echarts' ], requireCallback ); }