echarts流程2
2021-03-12 15:01:50 10 举报
本流程图梳理了echarts的绘制流程
作者其他创作
大纲/内容
agentStubMap中移除pipelineId对应值
否
是
task.js
viewId='_ec_'+model.id+'_'+model.type
handler.seriesType存在
设置task的context
根据handler的uid从_stageTaskMap中获取记录(record),不存在设为[]
task存在
设置管道的阻断索引为任务在管道中的索引(pipeline.blockIndex=task.__idxInPipeline)
是否活动视图(__alive)
Scheduler.js
结束
overallTask.dirty()
dataTask在序列模型初始化时创建,方法reset、count
遍历完所有序列
这里组件和序列分开遍历,序列遍历的是ecModel._seriesIndices中存在的序列,如果不存在,__alive不会置为true
handler.createOnAllSeries存在
handler.getTargetSeries存在
是否遍历完_allHandlers
是组件?
任务释放stub.dispose()
创建映射_pipelineMap
将视图类放入viewMap和viewList中
viewMap中是否存在viewId对应值
viewList=ecIns._componentsViews;viewMap=ecIns._componentsMap;
遍历完所有getTargetSeries获取的序列
调度管道函数(pipe)
管道的head不存在
管道的tail存在
如果任务阻断(__block)
handler.reset存在
pipeline
downTask._upstream = this
handler.overallReset存在
遍历完所管道对象(_pipeLineMap)
准备视图(prepareView)
遍历完所有seriesType类型的序列
遍历完agentStubMap
调度准备阶段任务( prepareStageTasks)
从zrender中移除view.group
this._downstream = downTask
seriesModel
序列的渲染任务释放(view.renderTask.dispose)
viewList和viewMap中删除
pipelineMap = scheduler._pipelineMap
stub不存在
record的overallTask不存在时创建默认任务
创建桩对象(createSub)
根据model的type获取对应的组件视图类
设置overallTask的上下文(context)
创建序列阶段任务(createSeriesStageTask)
pipelineMap中不存在pipelineId对应的值
创建总阶段任务(createOverallStageTask)
任务的管道函数(pipe)
创建任务(creat)
task=task.getUpstream()
根据seriesModel.uid从seriesTaskMap获取对象(赋给task)
视图类初始化
创建任务(create)
pipelineMap中存储每个序列流水线对象信息
hwcharts.js
调度的准备视图(prepareView)
创建任务放到agentStubMap中
根据seriesModel.uid从agentStubMap获取对象(赋给stub)
tail设置为传递过来的task
遍历完组件或序列
获取序列每帧渲染数量
将视图类的group添加到zrender中
downTask.dirty()
预处理(prepare)
获取管道最后一个任务(task=pipeline.tail)
新建视图类
视图释放(view.dispose)
downTask
获取renderTask的上下文
设置__alive为true设置__model
当前任务的下游不是downTask或需要更新
viewList=ecIns._chartsViews;viewMap=ecIns._chartsMap;
设置stub的上下文
调度恢复流水线(restorePipelines)
获取视图的renderTask
web图形流程图1
调度执行(plan)
创建任务放到seriesTaskMap中
handler
根据序列uid从_pipelineMap中获取对应的管道
record的seriesTaskMap不存在时创建默认任务
head设置为传递过来的task
是否遍历完所有序列
i++
overallTask的代理桩map对象agentStubMap不存在时创建
task不存在
i<viewList.length
是否组件?
model
收藏
收藏
0 条评论
下一页