MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / createSeriesStageTask

Function createSeriesStageTask

libs/echarts/echarts.simple.js:25829–25879  ·  view source on GitHub ↗
(scheduler, stageHandler, stageHandlerRecord, ecModel, api)

Source from the content-addressed store, hash-verified

25827};
25828
25829function createSeriesStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {
25830 var seriesTaskMap = stageHandlerRecord.seriesTaskMap
25831 || (stageHandlerRecord.seriesTaskMap = createHashMap());
25832 var seriesType = stageHandler.seriesType;
25833 var getTargetSeries = stageHandler.getTargetSeries;
25834
25835 // If a stageHandler should cover all series, `createOnAllSeries` should be declared mandatorily,
25836 // to avoid some typo or abuse. Otherwise if an extension do not specify a `seriesType`,
25837 // it works but it may cause other irrelevant charts blocked.
25838 if (stageHandler.createOnAllSeries) {
25839 ecModel.eachRawSeries(create);
25840 }
25841 else if (seriesType) {
25842 ecModel.eachRawSeriesByType(seriesType, create);
25843 }
25844 else if (getTargetSeries) {
25845 getTargetSeries(ecModel, api).each(create);
25846 }
25847
25848 function create(seriesModel) {
25849 var pipelineId = seriesModel.uid;
25850
25851 // Init tasks for each seriesModel only once.
25852 // Reuse original task instance.
25853 var task = seriesTaskMap.get(pipelineId)
25854 || seriesTaskMap.set(pipelineId, createTask({
25855 plan: seriesTaskPlan,
25856 reset: seriesTaskReset,
25857 count: seriesTaskCount
25858 }));
25859 task.context = {
25860 model: seriesModel,
25861 ecModel: ecModel,
25862 api: api,
25863 useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,
25864 plan: stageHandler.plan,
25865 reset: stageHandler.reset,
25866 scheduler: scheduler
25867 };
25868 pipe(scheduler, seriesModel, task);
25869 }
25870
25871 // Clear unused series tasks.
25872 var pipelineMap = scheduler._pipelineMap;
25873 seriesTaskMap.each(function (task, pipelineId) {
25874 if (!pipelineMap.get(pipelineId)) {
25875 task.dispose();
25876 seriesTaskMap.removeKey(pipelineId);
25877 }
25878 });
25879}
25880
25881function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {
25882 var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask

Callers 1

echarts.simple.jsFile · 0.70

Calls 3

createHashMapFunction · 0.70
getMethod · 0.45
disposeMethod · 0.45

Tested by

no test coverage detected