blob: bb67e362be412f3920e2f2e2614b855970ec6b5c [file] [log] [blame]
!function(){function enableMask(){$toggleBtn.html(lang.enableInteraction),$(document.body).append($mask),maskEnabled=!0}function disableMask(){$toggleBtn.html(lang.disableInteraction),$mask.remove(),maskEnabled=!1}var lang={zh:{editDemo:"编辑示例",reset:"重置",enableInteraction:"开启交互",disableInteraction:"关闭交互"},en:{editDemo:"Edit",reset:"Reset",enableInteraction:"Enable interaction",disableInteraction:"Disable interaction"}}[window.EC_DEMO_LANG],configs={};_.each((location.search||"").substr(1).split("&"),function(n){var e=n.split("=");configs[e[0]]=e[1]});var myChart,app={},name,gui,run=function(code){if(clearTimeout(app.timeTicket),clearInterval(app.timeTicket),app.config=null,myChart&&myChart.dispose(),myChart=echarts.init(document.getElementById("view-chart"),configs.theme,{renderer:configs.renderer||"canvas"}),eval(code),"object"==typeof option&&myChart.setOption(option,!0),app.config){gui=new dat.GUI,$(gui.domElement).css({position:"absolute",right:5,top:0,zIndex:1e3}),$(".right-container").append(gui.domElement);var configParameters=app.configParameters||{};for(var name in app.config){var value=app.config[name];if("onChange"!==name&&"onFinishChange"!==name){var isColor=!1,controller;if(configParameters[name]&&(configParameters[name].options?controller=gui.add(app.config,name,configParameters[name].options):null!=configParameters[name].min&&(controller=gui.add(app.config,name,configParameters[name].min,configParameters[name].max))),"string"==typeof obj)try{var colorArr=echarts.color.parse(value);isColor=!!colorArr,isColor&&(value=echarts.color.stringify(colorArr,"rgba"))}catch(e){}controller||(controller=gui[isColor?"addColor":"add"](app.config,name)),app.config.onChange&&controller.onChange(app.config.onChange),app.config.onFinishChange&&controller.onFinishChange(app.config.onFinishChange)}}}};if(configs.edit){var $editButton=$('<a class="btn btn-default btn-sm">'+lang.editDemo+"</a>").click(function(){window.open("./editor.html?c="+configs.c)});$("#view-main .control-panel").append($editButton)}if(configs.reset){var $resetButton=$('<a class="btn btn-default btn-sm">'+lang.reset+"</a>").click(function(){run()});$("#view-main .control-panel").append($resetButton)}if(configs.mask){var maskEnabled=!0,$toggleBtn=$('<a id="view-toggle-interable" class="btn btn-default btn-sm">'+lang.enableInteraction+"</a>"),$mask=$('<div id="view-mask"></div>');$("#view-main .control-panel").append($toggleBtn),$toggleBtn.click(function(){maskEnabled?disableMask():enableMask()}),enableMask()}configs.c&&$.ajax("../data/"+configs.c+".js",{dataType:"text",success:function(n){run(n)}}).fail(function(){}),$(window).resize(function(){myChart&&myChart.resize()})}();