Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
x649585723
incubator-echarts
提交
b7553885
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,发现更多精彩内容 >>
提交
b7553885
编写于
6月 26, 2019
作者:
O
Ovilia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: graphic group position
上级
6c846d69
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
119 addition
and
15 deletion
+119
-15
src/component/graphic.js
src/component/graphic.js
+26
-15
test/graphicOption.html
test/graphicOption.html
+93
-0
未找到文件。
src/component/graphic.js
浏览文件 @
b7553885
...
...
@@ -24,6 +24,7 @@ import * as zrUtil from 'zrender/src/core/util';
import
*
as
modelUtil
from
'
../util/model
'
;
import
*
as
graphicUtil
from
'
../util/graphic
'
;
import
*
as
layoutUtil
from
'
../util/layout
'
;
import
{
parsePercent
}
from
'
../util/number
'
;
// -------------
// Preprocessor
...
...
@@ -266,7 +267,7 @@ echarts.extendComponentView({
}
this
.
_lastGraphicModel
=
graphicModel
;
this
.
_updateElements
(
graphicModel
);
this
.
_updateElements
(
graphicModel
,
api
);
this
.
_relocate
(
graphicModel
,
api
);
},
...
...
@@ -276,7 +277,7 @@ echarts.extendComponentView({
* @private
* @param {Object} graphicModel graphic model
*/
_updateElements
:
function
(
graphicModel
)
{
_updateElements
:
function
(
graphicModel
,
api
)
{
var
elOptionsToUpdate
=
graphicModel
.
useElOptionsToUpdate
();
if
(
!
elOptionsToUpdate
)
{
...
...
@@ -293,6 +294,7 @@ echarts.extendComponentView({
var
existEl
=
elMap
.
get
(
id
);
var
parentId
=
elOption
.
parentId
;
var
targetElParent
=
parentId
!=
null
?
elMap
.
get
(
parentId
)
:
rootGroup
;
console
.
log
(
'
tagetParent
'
,
targetElParent
);
var
elOptionStyle
=
elOption
.
style
;
if
(
elOption
.
type
===
'
text
'
&&
elOptionStyle
)
{
...
...
@@ -338,8 +340,24 @@ echarts.extendComponentView({
var
el
=
elMap
.
get
(
id
);
if
(
el
)
{
el
.
__ecGraphicWidth
=
elOption
.
width
;
el
.
__ecGraphicHeight
=
elOption
.
height
;
var
isParentRoot
=
targetElParent
===
rootGroup
;
var
parentWidth
=
isParentRoot
?
api
.
getWidth
()
// Like 'position:absolute' in css, default 0.
:
(
targetElParent
.
__ecGraphicWidth
||
0
);
var
parentHeight
=
isParentRoot
?
api
.
getHeight
()
:
(
targetElParent
.
__ecGraphicHeight
||
0
);
var
isGroup
=
el
.
type
===
'
group
'
;
el
.
__ecGraphicWidth
=
isGroup
?
parsePercent
(
elOption
.
width
,
parentWidth
)
:
parentWidth
;
el
.
__ecGraphicHeight
=
isGroup
?
parsePercent
(
elOption
.
height
,
parentHeight
)
:
parentHeight
;
console
.
log
(
el
.
type
,
el
.
__ecGraphicWidth
,
el
.
__ecGraphicHeight
);
setEventData
(
el
,
graphicModel
,
elOption
);
}
});
...
...
@@ -354,7 +372,6 @@ echarts.extendComponentView({
*/
_relocate
:
function
(
graphicModel
,
api
)
{
var
elOptions
=
graphicModel
.
option
.
elements
;
var
rootGroup
=
this
.
group
;
var
elMap
=
this
.
_elMap
;
// Bottom-up tranvese all elements (consider ec resize) to locate elements.
...
...
@@ -366,16 +383,10 @@ echarts.extendComponentView({
continue
;
}
var
parentEl
=
el
.
parent
;
var
containerInfo
=
parentEl
===
rootGroup
?
{
width
:
api
.
getWidth
(),
height
:
api
.
getHeight
()
}
:
{
// Like 'position:absolut' in css, default 0.
width
:
parentEl
.
__ecGraphicWidth
||
0
,
height
:
parentEl
.
__ecGraphicHeight
||
0
};
var
containerInfo
=
{
width
:
el
.
__ecGraphicWidth
,
height
:
el
.
__ecGraphicHeight
};
layoutUtil
.
positionElement
(
el
,
elOption
,
containerInfo
,
null
,
...
...
test/graphicOption.html
浏览文件 @
b7553885
...
...
@@ -204,6 +204,99 @@ under the License.
},
z: 100
}]
}, {
type: 'group',
id: 'bl',
width: '100%',
height: '100%',
children: [{
type: 'rect',
right: 0,
bottom: 0,
shape: {
width: 200,
height: 100
},
style: {
stroke: 'blue',
fill: 'blue',
lineWidth: 2
}
}, {
type: 'rect',
position: [10, 20],
shape: {
width: 50,
height: 150
},
style: {
stroke: 'blue',
fill: 'blue',
lineWidth: 2
}
}, {
type: 'group',
width: '50%',
height: '50%',
children: [{
type: 'rect',
shape: {
width: 100,
height: 100
},
style: {
stroke: 'blue',
fill: 'blue',
lineWidth: 2
},
right: 0,
bottom: 0
}]
}]
}, {
type: 'rect',
right: 0,
bottom: 0,
shape: {
width: 200,
height: 100
},
style: {
stroke: 'orange',
fill: 'transparent',
lineWidth: 2
}
}, {
type: 'rect',
position: [10, 20],
shape: {
width: 50,
height: 150
},
style: {
stroke: 'orange',
fill: 'transparent',
lineWidth: 2
}
}, {
type: 'rect',
shape: {
width: 100,
height: 100
},
style: {
stroke: 'orange',
fill: 'transparent',
lineWidth: 2
},
right: '50%',
bottom: '50%'
}, {
type: 'text',
position: [220, 20],
style: {
text: '蓝色矩形应与橙色矩形同一位置'
}
}]
}
</textarea>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录