Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
62959467
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,发现更多精彩内容 >>
提交
62959467
编写于
12月 28, 2017
作者:
S
sushuang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'next' of
https://github.com/100pah/echarts
into next
上级
686fdcd7
c09d2aa5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
83 addition
and
3 deletion
+83
-3
src/component/dataZoom/AxisProxy.js
src/component/dataZoom/AxisProxy.js
+5
-1
src/data/List.js
src/data/List.js
+78
-2
未找到文件。
src/component/dataZoom/AxisProxy.js
浏览文件 @
62959467
...
...
@@ -335,7 +335,11 @@ AxisProxy.prototype = {
);
}
else
{
seriesData
.
filterSelf
(
dim
,
isInWindow
);
var
range
=
{};
range
[
dim
]
=
valueWindow
;
// console.time('select');
seriesData
.
selectRange
(
range
);
// console.timeEnd('select');
}
seriesData
.
setApproximateExtent
(
valueWindow
,
dim
);
});
...
...
src/data/List.js
浏览文件 @
62959467
...
...
@@ -1018,6 +1018,8 @@ listProto.filterSelf = function (dimensions, cb, stack, context) {
}
stack
=
stack
||
false
;
context
=
context
||
this
;
dimensions
=
zrUtil
.
map
(
normalizeDimensions
(
dimensions
),
this
.
getDimension
,
this
);
...
...
@@ -1028,8 +1030,6 @@ listProto.filterSelf = function (dimensions, cb, stack, context) {
var
value
=
[];
var
dimSize
=
dimensions
.
length
;
context
=
context
||
this
;
var
offset
=
0
;
var
dim0
=
dimensions
[
0
];
...
...
@@ -1067,6 +1067,82 @@ listProto.filterSelf = function (dimensions, cb, stack, context) {
return
this
;
};
/**
* Select data in range.
*/
listProto
.
selectRange
=
function
(
range
,
stack
)
{
'
use strict
'
;
stack
=
stack
||
false
;
var
dimensions
=
[];
for
(
var
dim
in
range
)
{
dimensions
.
push
(
dim
);
}
var
dimSize
=
dimensions
.
length
;
if
(
!
dimSize
)
{
return
;
}
var
count
=
this
.
count
();
var
Ctor
=
getIndicesCtor
(
count
);
var
newIndices
=
new
Ctor
(
count
);
var
offset
=
0
;
var
dim0
=
dimensions
[
0
];
if
(
dimSize
===
1
)
{
var
min
=
range
[
dim0
][
0
];
var
max
=
range
[
dim0
][
1
];
for
(
var
i
=
0
;
i
<
count
;
i
++
)
{
var
val
;
var
rawIndex
=
this
.
getRawIndex
(
i
);
if
(
stack
)
{
val
=
this
.
get
(
dim
,
i
,
true
);
}
else
{
var
storage
=
this
.
_storage
;
var
chunkIndex
=
Math
.
floor
(
i
/
this
.
_chunkSize
);
var
chunkOffset
=
i
%
this
.
_chunkSize
;
var
chunkStore
=
storage
[
dim
][
chunkIndex
];
var
val
=
chunkStore
[
chunkOffset
];
}
if
(
val
>=
min
&&
val
<=
max
)
{
newIndices
[
offset
++
]
=
rawIndex
;
}
}
}
else
{
for
(
var
i
=
0
;
i
<
count
;
i
++
)
{
var
keep
=
true
;
for
(
var
k
=
0
;
k
<
dimSize
;
k
++
)
{
var
dimName
=
dimensions
[
k
];
var
val
=
this
.
get
(
dimName
,
i
,
stack
);
if
(
val
<
range
[
dimName
][
0
]
||
val
>
range
[
dimName
][
1
])
{
keep
=
false
;
}
}
if
(
keep
)
{
newIndices
[
offset
++
]
=
this
.
getRawIndex
(
i
);
}
}
}
// Set indices after filtered.
if
(
offset
<
count
)
{
this
.
_indices
=
newIndices
;
}
this
.
_count
=
offset
;
// Reset data extent
this
.
_extent
=
{};
this
.
getRawIndex
=
this
.
_indices
?
getRawIndexWithIndices
:
getRawIndexWithoutIndices
;
return
this
;
};
/**
* Data mapping to a plain array
* @param {string|Array.<string>} [dimensions]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录