Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
alon@wen
echarts
提交
991112ae
E
echarts
项目概览
alon@wen
/
echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
echarts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
991112ae
编写于
9月 08, 2015
作者:
P
pah100
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 datazoom category 的处理。
上级
c111e8b7
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
44 addition
and
30 deletion
+44
-30
src/component/dataZoom/dataZoomProcessor.js
src/component/dataZoom/dataZoomProcessor.js
+29
-11
src/data/List.js
src/data/List.js
+1
-6
src/model/Component.js
src/model/Component.js
+6
-1
src/model/Global.js
src/model/Global.js
+1
-5
test/dataZoom-catesian-v.html
test/dataZoom-catesian-v.html
+7
-7
未找到文件。
src/component/dataZoom/dataZoomProcessor.js
浏览文件 @
991112ae
...
...
@@ -29,12 +29,12 @@ define(function (require) {
// Process axis data
var
axisModel
=
ecModel
.
getComponent
(
dimNames
.
axis
,
axisIndex
);
var
isCategoryFilter
=
axisModel
.
get
(
'
type
'
)
===
'
category
'
;
var
seriesModels
=
dataZoomModel
.
getTargetSeriesModels
(
dimNames
.
dim
,
axisIndex
);
var
dataExtent
=
calculateDataExtent
(
dimNames
,
axisModel
,
seriesModels
);
var
dataWindow
=
calculateDataWindow
(
axisModel
,
dataExtent
);
var
axisType
=
axisModel
.
get
(
'
type
'
);
var
dataWindow
=
calculateDataWindow
(
axisModel
,
dataExtent
,
isCategoryFilter
);
if
(
axisType
===
'
category
'
)
{
if
(
isCategoryFilter
)
{
var
axisData
=
axisModel
.
getData
();
// FIXME
// setter?
...
...
@@ -50,10 +50,23 @@ define(function (require) {
return
;
}
seriesData
.
filterSelf
(
function
(
entry
)
{
var
value
=
entry
[
dimNames
.
getter
]();
return
value
>=
dataWindow
[
0
]
&&
value
<=
dataWindow
[
1
];
});
if
(
isCategoryFilter
)
{
seriesData
.
filterSelf
(
function
(
entry
)
{
var
dataIndex
=
entry
[
dimNames
.
getter
]();
var
reserve
=
dataIndex
>=
dataWindow
[
0
]
&&
dataIndex
<=
dataWindow
[
1
];
if
(
reserve
)
{
entry
.
setDataIndex
(
dataIndex
-
dataWindow
[
0
]);
}
return
reserve
;
});
}
else
{
seriesData
.
filterSelf
(
function
(
entry
)
{
var
value
=
entry
[
dimNames
.
getter
]();
return
value
>=
dataWindow
[
0
]
&&
value
<=
dataWindow
[
1
];
});
}
// FIXME
// 对于value轴的过滤(另一个轴是category),效果有问题,现在简单去除节点不行。
// FIXME
...
...
@@ -85,15 +98,20 @@ define(function (require) {
return
dataExtent
;
}
function
calculateDataWindow
(
axisModel
,
dataExtent
)
{
function
calculateDataWindow
(
axisModel
,
dataExtent
,
isCategoryFilter
)
{
var
dataZoomStart
=
axisModel
.
get
(
'
dataZoomStart
'
);
var
dataZoomEnd
=
axisModel
.
get
(
'
dataZoomEnd
'
);
var
percentExtent
=
[
0
,
100
];
return
[
Math
.
floor
(
linearMap
(
dataZoomStart
,
percentExtent
,
dataExtent
,
true
)
),
Math
.
ceil
(
linearMap
(
dataZoomEnd
,
percentExtent
,
dataExtent
,
true
)
)
var
result
=
[
linearMap
(
dataZoomStart
,
percentExtent
,
dataExtent
,
true
),
linearMap
(
dataZoomEnd
,
percentExtent
,
dataExtent
,
true
)
];
if
(
isCategoryFilter
)
{
result
=
[
Math
.
floor
(
result
[
0
]),
Math
.
ceil
(
result
[
1
])];
}
return
result
;
}
});
src/data/List.js
浏览文件 @
991112ae
...
...
@@ -286,11 +286,6 @@ define(function(require) {
*/
filterSelf
:
function
(
cb
,
context
)
{
this
.
elements
=
zrUtil
.
filter
(
this
.
elements
,
cb
,
context
||
this
);
this
.
each
(
this
.
_setEntryDataIndex
);
},
_setEntryDataIndex
:
function
(
entry
,
dataIndex
)
{
entry
.
setDataIndex
(
dataIndex
);
},
/**
...
...
@@ -396,7 +391,7 @@ define(function(require) {
independentVar
=
[
'
y
'
];
dependentVar
=
'
x
'
;
categoryAxisModel
=
x
AxisModel
;
categoryAxisModel
=
y
AxisModel
;
}
else
{
// PENDING
...
...
src/model/Component.js
浏览文件 @
991112ae
...
...
@@ -112,7 +112,7 @@ define(function(require) {
return
SubComponentModel
;
}
ComponentModel
.
getComponentModelClass
=
function
(
componentType
,
option
)
{
ComponentModel
.
getComponentModelClass
=
function
(
componentType
,
option
,
throwWhenNotFound
)
{
var
fullComponentType
=
componentType
;
if
(
option
&&
option
.
type
)
{
fullComponentType
=
componentType
+
TYPE_DELIMITER
+
option
.
type
;
...
...
@@ -121,6 +121,11 @@ define(function(require) {
if
(
ComponentClass
[
IS_CONTAINER
])
{
ComponentClass
=
ComponentClass
[
option
.
type
];
}
if
(
throwWhenNotFound
&&
!
ComponentClass
)
{
throw
new
Error
(
'
Component
'
+
fullComponentType
+
'
not exists
'
);
}
return
ComponentClass
;
};
...
...
src/model/Global.js
浏览文件 @
991112ae
...
...
@@ -132,13 +132,9 @@ define(function (require) {
for
(
var
i
=
0
;
i
<
componentOption
.
length
;
i
++
)
{
var
componentModel
=
componentsMap
[
componentType
][
i
];
var
ComponentModelClass
=
ComponentModel
.
getComponentModelClass
(
componentType
,
componentOption
[
i
]
componentType
,
componentOption
[
i
]
,
true
);
if
(
!
ComponentModelClass
)
{
throw
new
Error
(
'
Component
'
+
componentType
+
'
not exists
'
);
}
if
(
componentModel
&&
componentModel
instanceof
ComponentModelClass
)
{
componentModel
.
mergeOption
(
componentOption
[
i
],
this
);
}
...
...
test/dataZoom-catesian-v.html
浏览文件 @
991112ae
...
...
@@ -16,7 +16,7 @@
require
([
'
echarts
'
,
'
echarts/chart/
line
'
,
'
echarts/chart/
bar
'
,
'
echarts/component/legend
'
,
'
echarts/component/grid
'
,
'
echarts/component/axis
'
,
...
...
@@ -34,9 +34,9 @@
for
(
var
i
=
0
;
i
<
20
;
i
++
)
{
xAxisData
.
push
(
'
类目
'
+
i
);
data1
.
push
(
Math
.
random
()
*
5
);
data2
.
push
(
Math
.
random
());
data3
.
push
(
Math
.
random
());
data1
.
push
(
Math
.
random
()
*
2
);
data2
.
push
(
Math
.
random
()
*
2
);
data3
.
push
(
Math
.
random
()
*
2
);
}
chart
.
setOption
({
...
...
@@ -55,17 +55,17 @@
series
:
[
{
name
:
'
line
'
,
type
:
'
line
'
,
type
:
'
bar
'
,
data
:
data1
},
{
name
:
'
line2
'
,
type
:
'
line
'
,
type
:
'
bar
'
,
data
:
data2
},
{
name
:
'
line3
'
,
type
:
'
line
'
,
type
:
'
bar
'
,
data
:
data3
}
],
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录