Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
6a087b7e
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,发现更多精彩内容 >>
提交
6a087b7e
编写于
5月 06, 2016
作者:
L
lang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modelUtil.getFormattedLabel arguments tweak, can give other data. Graph edge add label
上级
498eb5a7
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
112 addition
and
54 deletion
+112
-54
src/chart/graph/GraphSeries.js
src/chart/graph/GraphSeries.js
+73
-5
src/chart/graph/GraphView.js
src/chart/graph/GraphView.js
+2
-14
src/chart/helper/Line.js
src/chart/helper/Line.js
+5
-5
src/chart/radar/RadarSeries.js
src/chart/radar/RadarSeries.js
+4
-6
src/echarts.js
src/echarts.js
+1
-0
src/model/Model.js
src/model/Model.js
+4
-0
src/model/Series.js
src/model/Series.js
+10
-11
src/util/model.js
src/util/model.js
+13
-13
未找到文件。
src/chart/graph/GraphSeries.js
浏览文件 @
6a087b7e
...
...
@@ -4,6 +4,8 @@ define(function (require) {
var
List
=
require
(
'
../../data/List
'
);
var
zrUtil
=
require
(
'
zrender/core/util
'
);
var
modelUtil
=
require
(
'
../../util/model
'
);
var
Model
=
require
(
'
../../model/Model
'
);
var
createGraphFromNodeEdge
=
require
(
'
../helper/createGraphFromNodeEdge
'
);
...
...
@@ -19,24 +21,37 @@ define(function (require) {
return
this
.
_categoriesData
;
};
this
.
fillDataTextStyle
(
option
.
edges
||
option
.
links
);
this
.
_updateCategoriesData
();
this
.
_updateEdgeDataModel
();
},
mergeOption
:
function
(
option
)
{
GraphSeries
.
superApply
(
this
,
'
mergeOption
'
,
arguments
);
this
.
fillDataTextStyle
(
option
.
edges
||
option
.
links
);
this
.
_updateCategoriesData
();
this
.
_updateEdgeDataModel
();
},
mergeDefaultAndTheme
:
function
(
option
)
{
GraphSeries
.
superApply
(
this
,
'
mergeDefaultAndTheme
'
,
arguments
);
modelUtil
.
defaultEmphasis
(
option
.
edgeLabel
,
modelUtil
.
LABEL_OPTIONS
);
},
getInitialData
:
function
(
option
,
ecModel
)
{
var
edges
=
option
.
edges
||
option
.
links
;
var
nodes
=
option
.
data
||
option
.
nodes
;
if
(
nodes
&&
edges
)
{
var
graph
=
createGraphFromNodeEdge
(
nodes
,
edges
,
this
,
true
);
var
list
=
graph
.
data
;
var
nodeData
=
graph
.
data
;
var
edgeData
=
graph
.
edgeData
;
var
self
=
this
;
// Overwrite
list
.getItemModel to
list
.
wrapMethod
(
'
getItemModel
'
,
function
(
model
)
{
// Overwrite
nodeData
.getItemModel to
nodeData
.
wrapMethod
(
'
getItemModel
'
,
function
(
model
)
{
var
categoriesModels
=
self
.
_categoriesModels
;
var
categoryIdx
=
model
.
getShallow
(
'
category
'
);
var
categoryModel
=
categoriesModels
[
categoryIdx
];
...
...
@@ -46,7 +61,29 @@ define(function (require) {
}
return
model
;
});
return
list
;
var
edgeLabelModel
=
this
.
getModel
(
'
edgeLabel
'
);
var
wrappedGetEdgeModel
=
function
(
path
,
parentModel
)
{
var
pathArr
=
(
path
||
''
).
split
(
'
.
'
);
if
(
pathArr
[
0
]
===
'
label
'
)
{
parentModel
=
parentModel
||
edgeLabelModel
.
getModel
(
pathArr
.
slice
(
1
));
}
var
model
=
Model
.
prototype
.
getModel
.
call
(
this
,
pathArr
,
parentModel
);
model
.
getModel
=
wrappedGetEdgeModel
;
return
model
;
};
edgeData
.
wrapMethod
(
'
getItemModel
'
,
function
(
model
)
{
// FIXME Wrap get method ?
model
.
getModel
=
wrappedGetEdgeModel
;
return
model
;
});
// Set edge data again to ensure the backup data has the wrapped method
// FIXME
graph
.
setEdgeData
(
edgeData
);
return
nodeData
;
}
},
...
...
@@ -69,6 +106,10 @@ define(function (require) {
return
this
.
getGraph
().
edgeData
;
},
getEdgeDataModel
:
function
()
{
return
this
.
_edgeDataModel
;
},
/**
* @return {module:echarts/data/List}
*/
...
...
@@ -76,6 +117,25 @@ define(function (require) {
return
this
.
_categoriesData
;
},
_updateEdgeDataModel
:
function
()
{
var
graph
=
this
.
getGraph
();
var
edgeData
=
this
.
getEdgeData
();
var
data
=
this
.
getData
();
this
.
_edgeDataModel
=
modelUtil
.
createDataFormatModel
(
edgeData
,
this
);
this
.
_edgeDataModel
.
formatTooltip
=
function
(
dataIndex
)
{
var
params
=
this
.
getDataParams
(
dataIndex
);
var
edge
=
graph
.
getEdgeByIndex
(
dataIndex
);
var
sourceName
=
data
.
getName
(
edge
.
node1
.
dataIndex
);
var
targetName
=
data
.
getName
(
edge
.
node2
.
dataIndex
);
var
html
=
sourceName
+
'
>
'
+
targetName
;
if
(
params
.
value
)
{
html
+=
'
:
'
+
params
.
value
;
}
return
html
;
};
},
_updateCategoriesData
:
function
()
{
var
categories
=
zrUtil
.
map
(
this
.
option
.
categories
||
[],
function
(
category
)
{
// Data must has value
...
...
@@ -136,6 +196,13 @@ define(function (require) {
symbol
:
'
circle
'
,
symbolSize
:
10
,
edgeSymbol
:
[
'
none
'
,
'
none
'
],
edgeSymbolSize
:
10
,
edgeLabel
:
{
normal
:
{},
emphasis
:
{}
},
draggable
:
false
,
roam
:
false
,
...
...
@@ -159,7 +226,8 @@ define(function (require) {
label
:
{
normal
:
{
show
:
false
show
:
false
,
formatter
:
'
{b}
'
},
emphasis
:
{
show
:
true
...
...
src/chart/graph/GraphView.js
浏览文件 @
6a087b7e
...
...
@@ -45,23 +45,11 @@ define(function (require) {
symbolDraw
.
updateData
(
data
);
var
edgeData
=
seriesModel
.
getEdgeData
();
var
edgeDataModel
=
modelUtil
.
createDataFormatModel
(
edgeData
,
seriesModel
);
edgeDataModel
.
formatTooltip
=
function
(
dataIndex
)
{
var
params
=
this
.
getDataParams
(
dataIndex
);
var
edge
=
data
.
graph
.
getEdgeByIndex
(
dataIndex
);
var
sourceName
=
data
.
getName
(
edge
.
node1
.
dataIndex
);
var
targetName
=
data
.
getName
(
edge
.
node2
.
dataIndex
);
var
html
=
sourceName
+
'
>
'
+
targetName
;
if
(
params
.
value
)
{
html
+=
'
:
'
+
params
.
value
;
}
return
html
;
};
lineDraw
.
updateData
(
edgeData
,
null
,
null
);
lineDraw
.
updateData
(
edgeData
);
edgeData
.
eachItemGraphicEl
(
function
(
el
)
{
el
.
traverse
(
function
(
child
)
{
child
.
dataModel
=
edgeDataModel
;
child
.
dataModel
=
seriesModel
.
getEdgeDataModel
()
;
});
});
...
...
src/chart/helper/Line.js
浏览文件 @
6a087b7e
...
...
@@ -266,28 +266,28 @@ define(function (require) {
},
itemModel
.
getModel
(
'
lineStyle.normal
'
).
getLineStyle
()
));
var
defaultColor
=
lineData
.
getItemVisual
(
idx
,
'
color
'
)
||
'
#000
'
;
var
label
=
this
.
childOfName
(
'
label
'
);
label
.
afterUpdate
=
lineAfterUpdate
;
label
.
setStyle
({
text
:
labelModel
.
get
(
'
show
'
)
?
zrUtil
.
retrieve
(
seriesModel
.
getFormattedLabel
(
idx
,
'
normal
'
),
seriesModel
.
getFormattedLabel
(
idx
,
'
normal
'
,
lineData
),
defaultText
)
:
''
,
textFont
:
textStyleModel
.
getFont
(),
fill
:
textStyleModel
.
getTextColor
()
||
lineData
.
getItemVisual
(
idx
,
'
color
'
)
||
'
#000
'
fill
:
textStyleModel
.
getTextColor
()
||
defaultColor
});
label
.
hoverStyle
=
{
text
:
labelHoverModel
.
get
(
'
show
'
)
?
zrUtil
.
retrieve
(
seriesModel
.
getFormattedLabel
(
idx
,
'
emphasis
'
),
seriesModel
.
getFormattedLabel
(
idx
,
'
emphasis
'
,
lineData
),
defaultText
)
:
''
,
textFont
:
textStyleHoverModel
.
getFont
(),
fill
:
textStyleHoverModel
.
getTextColor
()
fill
:
textStyleHoverModel
.
getTextColor
()
||
defaultColor
};
label
.
__textAlign
=
textStyleModel
.
get
(
'
align
'
);
label
.
__verticalAlign
=
textStyleModel
.
get
(
'
baseline
'
);
...
...
src/chart/radar/RadarSeries.js
浏览文件 @
6a087b7e
...
...
@@ -46,15 +46,13 @@ define(function(require) {
}).
join
(
'
<br />
'
);
},
getFormattedLabel
:
function
(
dataIndex
,
status
,
formatter
,
indicatorIndex
)
{
getFormattedLabel
:
function
(
dataIndex
,
status
,
otherData
,
indicatorIndex
)
{
status
=
status
||
'
normal
'
;
var
data
=
this
.
getData
();
var
data
=
otherData
||
this
.
getData
();
var
itemModel
=
data
.
getItemModel
(
dataIndex
);
var
params
=
this
.
getDataParams
(
dataIndex
);
if
(
formatter
==
null
)
{
formatter
=
itemModel
.
get
([
'
label
'
,
status
,
'
formatter
'
]);
}
var
params
=
this
.
getDataParams
(
dataIndex
,
otherData
);
var
formatter
=
itemModel
.
get
([
'
label
'
,
status
,
'
formatter
'
]);
// Get value of specified indicator
params
.
value
=
params
.
value
[
indicatorIndex
||
0
];
if
(
typeof
formatter
===
'
function
'
)
{
...
...
src/echarts.js
浏览文件 @
6a087b7e
...
...
@@ -367,6 +367,7 @@ define(function (require) {
return
;
}
// Fixme First time update ?
ecModel
.
restoreData
();
// TODO
...
...
src/model/Model.js
浏览文件 @
6a087b7e
...
...
@@ -78,6 +78,10 @@ define(function (require) {
var
obj
=
this
.
option
;
var
parentModel
=
this
.
parentModel
;
for
(
var
i
=
0
;
i
<
path
.
length
;
i
++
)
{
// Ignore empty
if
(
!
path
[
i
])
{
continue
;
}
// obj could be number/string/... (like 0)
obj
=
(
obj
&&
typeof
obj
===
'
object
'
)
?
obj
[
path
[
i
]]
:
null
;
if
(
obj
==
null
)
{
...
...
src/model/Series.js
浏览文件 @
6a087b7e
...
...
@@ -70,19 +70,16 @@ define(function(require) {
zrUtil
.
merge
(
option
,
this
.
getDefaultOption
());
// Default label emphasis `position` and `show`
// FIXME Set label in merge
// FIXME Set label in merge
Option
modelUtil
.
defaultEmphasis
(
option
.
label
,
modelUtil
.
LABEL_OPTIONS
);
if
(
option
.
data
)
{
this
.
_fillDataTextStyle
(
option
.
data
);
}
this
.
fillDataTextStyle
(
option
.
data
);
},
mergeOption
:
function
(
newSeriesOption
,
ecModel
)
{
newSeriesOption
=
zrUtil
.
merge
(
this
.
option
,
newSeriesOption
,
true
);
if
(
newSeriesOption
.
data
)
{
this
.
_fillDataTextStyle
(
newSeriesOption
.
data
);
}
this
.
fillDataTextStyle
(
newSeriesOption
.
data
);
var
data
=
this
.
getInitialData
(
newSeriesOption
,
ecModel
);
// TODO Merge data?
if
(
data
)
{
...
...
@@ -91,13 +88,15 @@ define(function(require) {
}
},
_
fillDataTextStyle
:
function
(
data
)
{
fillDataTextStyle
:
function
(
data
)
{
// Default data label emphasis `position` and `show`
// FIXME Tree structure data ?
// FIXME Performance ?
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
data
[
i
]
&&
data
[
i
].
label
)
{
modelUtil
.
defaultEmphasis
(
data
[
i
].
label
,
modelUtil
.
LABEL_OPTIONS
);
if
(
data
)
{
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
data
[
i
]
&&
data
[
i
].
label
)
{
modelUtil
.
defaultEmphasis
(
data
[
i
].
label
,
modelUtil
.
LABEL_OPTIONS
);
}
}
}
},
...
...
src/util/model.js
浏览文件 @
6a087b7e
...
...
@@ -239,10 +239,11 @@ define(function(require) {
/**
* Get params for formatter
* @param {number} dataIndex
* @param {module:echarts/data/List} [otherData]
* @return {Object}
*/
getDataParams
:
function
(
dataIndex
)
{
var
data
=
this
.
getData
();
getDataParams
:
function
(
dataIndex
,
otherData
)
{
var
data
=
otherData
||
this
.
getData
();
var
seriesIndex
=
this
.
seriesIndex
;
var
seriesName
=
this
.
name
;
...
...
@@ -273,18 +274,16 @@ define(function(require) {
* Format label
* @param {number} dataIndex
* @param {string} [status='normal'] 'normal' or 'emphasis'
* @param {
Function|string} [formatter] Default use the `itemStyle[status].label.formatter`
* @param {
module:echarts/data/List} [otherData]
* @return {string}
*/
getFormattedLabel
:
function
(
dataIndex
,
status
,
formatter
)
{
getFormattedLabel
:
function
(
dataIndex
,
status
,
otherData
)
{
status
=
status
||
'
normal
'
;
var
data
=
this
.
getData
();
var
data
=
otherData
||
this
.
getData
();
var
itemModel
=
data
.
getItemModel
(
dataIndex
);
var
params
=
this
.
getDataParams
(
dataIndex
);
if
(
formatter
==
null
)
{
formatter
=
itemModel
.
get
([
'
label
'
,
status
,
'
formatter
'
]);
}
var
params
=
this
.
getDataParams
(
dataIndex
,
otherData
);
var
formatter
=
itemModel
.
get
([
'
label
'
,
status
,
'
formatter
'
]);
if
(
typeof
formatter
===
'
function
'
)
{
params
.
status
=
status
;
...
...
@@ -298,12 +297,13 @@ define(function(require) {
/**
* Get raw value in option
* @param {number} idx
* @param {module:echarts/data/List} [otherData]
* @return {Object}
*/
getRawValue
:
function
(
idx
)
{
var
itemModel
=
this
.
getData
().
getItemModel
(
idx
);
if
(
itemModel
&&
itemModel
.
option
!=
null
)
{
var
dataItem
=
itemModel
.
option
;
getRawValue
:
function
(
idx
,
otherData
)
{
var
data
=
otherData
||
this
.
getData
(
);
var
dataItem
=
data
.
getRawDataItem
(
idx
);
if
(
dataItem
!=
null
)
{
return
(
zrUtil
.
isObject
(
dataItem
)
&&
!
zrUtil
.
isArray
(
dataItem
))
?
dataItem
.
value
:
dataItem
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录