Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
cabe036e
I
incubator-echarts
项目概览
x649585723
/
incubator-echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
incubator-echarts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cabe036e
编写于
12月 28, 2017
作者:
S
sushuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tweak
上级
145ad212
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
57 addition
and
16 deletion
+57
-16
src/chart/scatter.js
src/chart/scatter.js
+0
-1
src/model/Series.js
src/model/Series.js
+2
-2
src/stream/Scheduler.js
src/stream/Scheduler.js
+46
-9
src/stream/task.js
src/stream/task.js
+8
-3
src/util/model.js
src/util/model.js
+1
-1
未找到文件。
src/chart/scatter.js
浏览文件 @
cabe036e
import
*
as
echarts
from
'
../echarts
'
;
import
*
as
zrUtil
from
'
zrender/src/core/util
'
;
import
'
./scatter/ScatterSeries
'
;
import
'
./scatter/ScatterView
'
;
...
...
src/model/Series.js
浏览文件 @
cabe036e
...
...
@@ -393,12 +393,12 @@ function dataTaskCount(context) {
function
dataTaskReset
(
context
)
{
var
seriesModel
=
context
.
model
;
seriesModel
.
setData
(
context
.
d
ata
=
seriesModel
.
getRawData
().
cloneShallow
());
seriesModel
.
setData
(
context
.
outputD
ata
=
seriesModel
.
getRawData
().
cloneShallow
());
return
dataTaskProgress
;
}
function
dataTaskProgress
(
param
,
context
)
{
context
.
model
.
getRawData
().
cloneShallow
(
context
.
d
ata
);
context
.
model
.
getRawData
().
cloneShallow
(
context
.
outputD
ata
);
}
export
default
SeriesModel
;
\ No newline at end of file
src/stream/Scheduler.js
浏览文件 @
cabe036e
...
...
@@ -56,6 +56,8 @@ proto.getPerformArgs = function (task, isBlock) {
* Current, progressive rendering starts from visual and layout.
* Always detect render mode in the same stage, avoiding that incorrect
* detection caused by data filtering.
* Caution:
* `updateStreamModes` use `seriesModel.getData()`.
*/
proto
.
updateStreamModes
=
function
(
seriesModel
,
view
)
{
var
pipeline
=
this
.
_pipelineMap
.
get
(
seriesModel
.
uid
);
...
...
@@ -123,7 +125,8 @@ proto.prepareView = function (view, model, ecModel, api) {
proto
.
performDataProcessorTasks
=
function
(
stageHandlers
,
ecModel
,
payload
)
{
performStageTasks
(
this
,
stageHandlers
,
ecModel
,
payload
,
{
block
:
true
});
// performStageTasks(this, stageHandlers, ecModel, payload, {block: true});
performStageTasks
(
this
,
stageHandlers
,
ecModel
,
payload
);
};
// opt
...
...
@@ -261,7 +264,9 @@ function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecM
// Moreover, it is not necessary to add stub to pipeline in the case.
var
seriesType
=
stageHandler
.
seriesType
;
seriesType
&&
ecModel
.
eachRawSeriesByType
(
seriesType
,
function
(
seriesModel
)
{
var
stub
=
stubs
[
stubIndex
]
=
stubs
[
stubIndex
]
||
createTask
();
var
stub
=
stubs
[
stubIndex
]
=
stubs
[
stubIndex
]
||
createTask
(
{
plan
:
prepareData
,
reset
:
pullData
},
{
model
:
seriesModel
}
);
stubIndex
++
;
stub
.
agent
=
overallTask
;
stub
.
__block
=
true
;
...
...
@@ -282,42 +287,74 @@ function overallTaskPlan(context) {
return
'
reset
'
;
}
function
seriesTaskPlan
(
context
)
{
function
seriesTaskPlan
(
context
,
upstreamContext
)
{
// ???! setData can be called in plan, progress, overalltask, how to deal with that
prepareData
(
context
,
upstreamContext
);
return
context
.
plan
&&
context
.
plan
(
context
.
model
,
context
.
ecModel
,
context
.
api
,
context
.
payload
);
}
function
seriesTaskReset
(
context
)
{
function
prepareData
(
context
,
upstreamContext
)
{
// Consider some method like `filter`, `map` need make new data,
// We should make sure that `seriesModel.getData()` get correct
// data in the stream procedure. So we fetch data from upstream
// each time `task.perform` called.
context
.
model
.
setData
(
context
.
data
);
}
function
pullData
(
context
,
upstreamContext
)
{
context
.
model
.
setData
(
context
.
data
=
context
.
outputData
=
upstreamContext
.
outputData
);
}
function
seriesTaskReset
(
context
,
upstreamContext
)
{
pullData
(
context
,
upstreamContext
);
if
(
context
.
useClearVisual
)
{
context
.
model
.
getData
()
.
clearAllVisual
();
context
.
data
.
clearAllVisual
();
}
var
resetDefines
=
context
.
resetDefines
=
normalizeToArray
(
context
.
reset
(
context
.
model
,
context
.
ecModel
,
context
.
api
,
context
.
payload
));
if
(
resetDefines
.
length
)
{
// ???! temp experiment
if
(
resetDefines
[
0
].
filter
)
{
context
.
model
.
setData
(
context
.
outputData
=
context
.
data
.
cloneShallow
()
);
}
return
seriesTaskProgress
;
}
}
function
seriesTaskProgress
(
params
,
context
)
{
var
data
=
context
.
model
.
getData
()
;
var
data
=
context
.
data
;
var
resetDefines
=
context
.
resetDefines
;
for
(
var
k
=
0
;
k
<
resetDefines
.
length
;
k
++
)
{
var
resetDefine
=
resetDefines
[
k
];
if
(
resetDefine
.
dataEach
)
{
if
(
resetDefine
&&
resetDefine
.
dataEach
)
{
for
(
var
i
=
params
.
start
;
i
<
params
.
end
;
i
++
)
{
resetDefine
.
dataEach
(
data
,
i
);
}
}
else
if
(
resetDefine
.
progress
)
{
else
if
(
resetDefine
&&
resetDefine
.
progress
)
{
resetDefine
.
progress
(
params
,
data
);
}
else
if
(
resetDefine
&&
resetDefine
.
filter
)
{
// ???! temp experiment
if
(
k
!==
0
)
{
throw
new
Error
();}
return
context
.
data
.
filterTo
(
params
,
context
.
outputData
,
resetDefine
.
filter
);
}
}
}
function
seriesTaskCount
(
context
)
{
return
context
.
model
.
getData
()
.
count
();
return
context
.
data
.
count
();
}
function
pipe
(
scheduler
,
seriesModel
,
task
)
{
...
...
src/stream/task.js
浏览文件 @
cabe036e
...
...
@@ -40,7 +40,7 @@ taskProto.perform = function (performArgs) {
var
planResult
;
if
(
this
.
_plan
)
{
planResult
=
this
.
_plan
(
this
.
context
);
planResult
=
this
.
_plan
(
this
.
context
,
this
.
_upstream
&&
this
.
_upstream
.
context
);
}
if
(
this
.
_dirty
||
planResult
===
'
reset
'
)
{
...
...
@@ -55,6 +55,7 @@ taskProto.perform = function (performArgs) {
if
(
__DEV__
)
{
assert
(
upTask
.
_outputDueEnd
!=
null
);
}
// ??? FIXME move to schedueler?
this
.
_dueEnd
=
Math
.
max
(
upTask
.
_outputDueEnd
,
this
.
_dueEnd
);
}
else
{
...
...
@@ -116,9 +117,13 @@ taskProto.dirty = function () {
function
reset
(
taskIns
)
{
taskIns
.
_dueIndex
=
taskIns
.
_outputDueEnd
=
taskIns
.
_dueEnd
=
0
;
taskIns
.
_progress
=
taskIns
.
_reset
&&
taskIns
.
_reset
(
taskIns
.
context
);
taskIns
.
_progress
=
taskIns
.
_reset
&&
taskIns
.
_reset
(
taskIns
.
context
,
taskIns
.
_upstream
&&
taskIns
.
_upstream
.
context
);
taskIns
.
_downstream
&&
taskIns
.
_downstream
.
dirty
();
var
downstream
=
taskIns
.
_downstream
;
downstream
&&
downstream
.
dirty
();
// FIXME
taskIns
.
agent
&&
taskIns
.
agent
.
dirty
();
}
...
...
src/util/model.js
浏览文件 @
cabe036e
...
...
@@ -643,7 +643,7 @@ export function dataDimToCoordDim(data, dataDim) {
* @see {module:echarts/data/helper/completeDimensions}
* @param {module:echarts/data/List} data
* @param {string} coordDim
* @return {Array.<string>} data dimensions on the coordDim.
* @return {Array.<string>} data dimensions on the coordDim
(concrete dim)
.
*/
export
function
coordDimToDataDim
(
data
,
coordDim
)
{
var
dataDim
=
[];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录