Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
4fe19430
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,发现更多精彩内容 >>
提交
4fe19430
编写于
11月 28, 2017
作者:
S
sushuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
some refactor
上级
ac3c2ff2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
38 addition
and
232 deletion
+38
-232
src/chart/helper/SymbolDrawStream.js
src/chart/helper/SymbolDrawStream.js
+27
-24
src/chart/scatter/StreamScatterView.js
src/chart/scatter/StreamScatterView.js
+0
-2
src/data/List.js
src/data/List.js
+6
-6
src/echarts.js
src/echarts.js
+4
-2
src/model/Series.js
src/model/Series.js
+1
-1
src/stream/task.js
src/stream/task.js
+0
-197
未找到文件。
src/chart/helper/SymbolDrawStream.js
浏览文件 @
4fe19430
...
...
@@ -2,7 +2,7 @@
import
*
as
graphic
from
'
../../util/graphic
'
;
import
SymbolClz
from
'
./Symbol
'
;
import
{
create
ListTask
}
from
'
../../stream
/task
'
;
import
{
create
Task
}
from
'
zrender/src/core
/task
'
;
/**
* @constructor
...
...
@@ -32,9 +32,7 @@ symbolDrawProto.resetData = function (seriesModel, isIgnore) {
var
data
=
seriesModel
.
getData
();
var
group
=
this
.
group
;
group
.
removeAll
();
group
.
clearFrames
();
var
seriesModel
=
data
.
hostModel
;
var
SymbolCtor
=
this
.
_symbolCtor
;
...
...
@@ -50,30 +48,27 @@ symbolDrawProto.resetData = function (seriesModel, isIgnore) {
cursorStyle
:
seriesModel
.
get
(
'
cursor
'
)
};
group
.
removeAll
();
var
dataEachPump
=
data
.
createEachPump
(
function
(
newIdx
)
{
var
point
=
data
.
getItemLayout
(
newIdx
);
if
(
symbolNeedsDraw
(
data
,
newIdx
,
isIgnore
))
{
var
symbolEl
=
new
SymbolCtor
(
data
,
newIdx
,
seriesScope
);
symbolEl
.
attr
(
'
position
'
,
point
);
data
.
setItemGraphicEl
(
newIdx
,
symbolEl
);
// ??? not a good interface? which must ensure data index
// corresponding implicitly.
group
.
add
(
symbolEl
);
}
});
group
.
enableStream
();
group
.
renderTask
.
reset
();
// ??? pipe here?
seriesModel
.
pipe
(
dataEachPump
);
seriesModel
.
pipe
(
group
.
renderTask
);
return
createListTask
({
list
:
data
,
progress
:
function
()
{
console
.
log
(
'
scatter view progress
'
,
'
_dueFrameIndex:
'
,
group
.
_dueFrameIndex
,
'
_frameCount:
'
,
group
.
_frameCount
);
group
.
newFrame
();
// ??? check useful of the orginal param: isIgnore
return
dataEachPump
.
progress
();
}
});
return
dataEachPump
;
};
symbolDrawProto
.
updateLayout
=
function
()
{
...
...
@@ -83,24 +78,32 @@ symbolDrawProto.updateLayout = function () {
}
var
group
=
this
.
group
;
group
.
clearFrames
();
var
data
=
seriesModel
.
getData
();
return
createList
Task
({
var
task
=
create
Task
({
list
:
data
,
progress
:
function
(
opt
)
{
var
dueDataIndex
=
opt
.
dueDataIndex
;
// ??? do not match the original frames?
group
.
newFrame
(
true
);
for
(;
dueDataIndex
<
opt
.
dueEnd
;
dueDataIndex
++
)
{
progress
:
function
(
params
,
notify
)
{
var
dueDataIndex
=
params
.
dueDataIndex
;
for
(;
dueDataIndex
<
params
.
dueEnd
;
dueDataIndex
++
)
{
var
point
=
data
.
getItemLayout
(
dueDataIndex
);
var
el
=
data
.
getItemGraphicEl
(
dueDataIndex
);
// Not use animation
el
.
attr
(
'
position
'
,
point
);
}
return
{
dueDataIndex
:
dueDataIndex
}
;
notify
(
dueDataIndex
)
;
}
});
group
.
enableStream
();
// group.renderTask.reset({reuseData: true});
group
.
renderTask
.
reset
();
// ??? pipe here?
seriesModel
.
pipe
(
task
);
seriesModel
.
pipe
(
group
.
renderTask
);
return
task
;
};
symbolDrawProto
.
remove
=
function
(
enableAnimation
)
{
...
...
src/chart/scatter/StreamScatterView.js
浏览文件 @
4fe19430
...
...
@@ -12,8 +12,6 @@ echarts.extendChartView({
// ??? back compatibal
render
:
function
(
seriesModel
,
ecModel
,
api
)
{
// g && g.clearFrames();
this
.
group
.
removeAll
();
// var symbolDraw = this._symbolDraw;
...
...
src/data/List.js
浏览文件 @
4fe19430
...
...
@@ -8,7 +8,7 @@ import * as zrUtil from 'zrender/src/core/util';
import
Model
from
'
../model/Model
'
;
import
DataDiffer
from
'
./DataDiffer
'
;
import
*
as
modelUtil
from
'
../util/model
'
;
import
{
create
ListTask
}
from
'
../stream
/task
'
;
import
{
create
Task
}
from
'
zrender/src/core
/task
'
;
var
isObject
=
zrUtil
.
isObject
;
...
...
@@ -812,15 +812,15 @@ listProto.createEachPump = function (dims, cb, stack) {
var
list
=
this
;
dims
=
zrUtil
.
map
(
normalizeDimensions
(
dims
),
list
.
getDimension
,
list
);
return
create
List
Task
({
return
createTask
({
list
:
list
,
progress
:
function
(
opt
)
{
progress
:
function
(
params
,
notify
)
{
var
dimSize
=
dims
.
length
;
var
dueDataIndex
=
opt
.
dueDataIndex
;
var
dueDataIndex
=
params
.
dueDataIndex
;
for
(;
dueDataIndex
<
opt
.
dueEnd
;
dueDataIndex
++
)
{
for
(;
dueDataIndex
<
params
.
dueEnd
;
dueDataIndex
++
)
{
// Simple optimization
switch
(
dimSize
)
{
case
0
:
...
...
@@ -852,7 +852,7 @@ listProto.createEachPump = function (dims, cb, stack) {
}
}
return
{
dueDataIndex
:
dueDataIndex
}
;
notify
(
dueDataIndex
)
;
}
});
};
...
...
src/echarts.js
浏览文件 @
4fe19430
...
...
@@ -41,6 +41,8 @@ export var dependencies = {
zrender
:
'
3.7.4
'
};
// ??? frame remain time in UI thread: 20ms? 16ms?
var
TEST_FRAME_REMAIN_TIME
=
1
;
var
TEST_PROGRESS_STEP
=
300
;
var
PRIORITY_PROCESSOR_FILTER
=
1000
;
...
...
@@ -281,8 +283,7 @@ echartsProto._onframe = function () {
};
function
progressInFrame
(
ecIns
)
{
// frame remain time in UI thread: 20ms? 16ms? ???
var
remainTime
=
20
;
var
remainTime
=
TEST_FRAME_REMAIN_TIME
;
var
unfinished
=
ecIns
.
_unfinished
;
do
{
...
...
@@ -296,6 +297,7 @@ function progressInFrame(ecIns) {
// coordSys update
if
(
unfinished
[
UNFINISHED_INDEX_VISUAL
])
{
// console.log('------------- ec frame visual -------------', remainTime);
updateUnfinished
(
unfinished
,
progressVisualEncoding
(
ecIns
),
UNFINISHED_INDEX_VISUAL
);
}
if
(
unfinished
[
UNFINISHED_INDEX_RENDER
])
{
...
...
src/model/Series.js
浏览文件 @
4fe19430
...
...
@@ -376,7 +376,7 @@ var SeriesModel = ComponentModel.extend({
}
}
tasks
.
length
=
i
;
originalRemove
(
);
originalRemove
.
call
(
this
);
};
}
...
...
src/stream/task.js
已删除
100644 → 0
浏览文件 @
ac3c2ff2
/**
* @module echarts/stream/task
*/
import
{
__DEV__
}
from
'
../config
'
;
import
{
assert
,
each
,
defaults
}
from
'
zrender/src/core/util
'
;
var
TASK_REG_EXP
=
/^streamTask
(\.
|$
)
/
;
// ??? refactor to OO class?
/**
* @param {Object} define
* @param {Function} define.reset
* @param {Function} define.progress
* @param {Function} define.unfinished
* @param {Function} [define.onUpstreamProgress]
* @param {string} [define.subType]
* @return {Object}
* {
* reset: Function,
* progress: Function,
* pipe: Function,
* unfinished: Function,
* onUpstreamProgress: Function
* }
*/
export
function
createTask
(
define
)
{
if
(
__DEV__
)
{
assert
(
define
.
reset
&&
define
.
progress
&&
define
.
unfinished
,
'
Methods required
'
);
}
var
downstreams
=
[];
var
upstreams
=
[];
var
started
;
var
thisTask
=
{
type
:
'
streamTask
'
+
(
define
.
subType
?
'
.
'
+
define
.
subType
:
''
),
/**
* @param {Object} [params]
*/
progress
:
function
(
params
)
{
started
=
true
;
var
result
=
define
.
progress
(
params
||
{});
each
(
downstreams
,
function
(
task
)
{
task
.
onUpstreamProgress
(
result
);
});
return
result
;
},
reset
:
function
()
{
started
=
false
;
define
.
reset
();
each
(
downstreams
,
function
(
task
)
{
task
.
reset
();
});
},
unfinished
:
define
.
unfinished
,
onUpstreamProgress
:
define
.
onUpstreamProgress
,
/**
* @param {Object} task The downstream task.
* @return {Object} The downstream task.
*/
pipe
:
function
(
task
)
{
if
(
__DEV__
)
{
assert
(
!
started
&&
task
.
onUpstreamProgress
);
}
task
.
onUpstreamProgress
({
init
:
true
});
downstreams
.
push
(
task
);
return
task
;
},
// ??? necessary? depends on `remove`.
unpipe
:
function
(
task
)
{
for
(
var
i
=
downstreams
.
length
-
1
;
i
>=
0
;
i
--
)
{
downstreams
[
i
]
===
task
&&
downstreams
.
splice
(
i
,
1
);
}
},
// ??? whether use remove to remove itself from container list, or
// its container responsible for it?
remove
:
function
()
{
each
(
upstreams
,
function
(
up
)
{
up
.
unpipe
(
thisTask
);
});
upstreams
.
length
=
0
;
}
};
return
thisTask
;
}
// /**
// * @param {Function} fn
// * @return {Object} task
// */
// export function createPlainTask(fn) {
// var args;
// return createTask({
// subType: 'plain',
// reset: function () {
// args = arrSlice.call(arguments);
// },
// progress: function () {
// return fn.apply(null, args);
// },
// unfinished: function () {}
// });
// }
/**
* @param {Object} define
* @param {Function} define.progress
* @param {Function} define.list {count:Function}
* @return See the return of `createTask`.
*/
export
function
createListTask
(
define
)
{
var
dueEndFromUpstream
=
null
;
var
dueDataIndex
=
0
;
var
list
=
define
.
list
;
return
createTask
({
subType
:
'
list
'
,
reset
:
function
()
{
dueEndFromUpstream
=
null
;
dueDataIndex
=
0
;
},
onUpstreamProgress
:
function
(
params
)
{
if
(
__DEV__
)
{
assert
(
params
.
dueEndDownstream
!=
null
||
params
.
init
!=
null
);
}
dueEndFromUpstream
=
params
.
init
?
0
:
params
.
dueEndDownstream
;
},
unfinished
:
function
()
{
return
dueDataIndex
<
(
dueEndFromUpstream
!=
null
?
dueEndFromUpstream
:
list
.
count
()
);
},
/**
* @param {Object} [params]
* @param {number} [params.step] Specified step.
* If not specified, progress to current dueEnd.
*/
progress
:
function
(
params
)
{
params
=
params
||
{};
var
result
=
define
.
progress
(
defaults
({
dueEnd
:
Math
.
min
(
params
.
step
!=
null
?
dueDataIndex
+
params
.
step
:
Infinity
,
dueEndFromUpstream
!=
null
?
dueEndFromUpstream
:
Infinity
,
list
.
count
()
),
dueDataIndex
:
dueDataIndex
},
params
)
);
if
(
__DEV__
)
{
assert
(
result
.
dueDataIndex
!=
null
);
}
dueDataIndex
=
result
.
dueDataIndex
;
var
dueEndDownstream
=
result
.
dueEndDownstream
;
return
{
dueEndDownstream
:
dueEndDownstream
!=
null
?
dueEndDownstream
:
dueDataIndex
,
// ??? not a good name.
dueDataIndex
:
dueDataIndex
};
}
});
}
/**
* @return {boolean}
*/
export
function
isTask
(
obj
)
{
return
obj
&&
TASK_REG_EXP
.
test
(
obj
.
type
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录