我正在尝试在sap viz堆积柱形图中实现自定义工具提示。这是鼠标悬停数据点时出现的小弹出窗口。我的问题是如何检测数据点的位置,以便工具提示弹出指向它。目前它始终指向图形本身,而不是图形中的数据点。 这就是我所拥有的:
graph = new sap.viz.ui5.StackedColumn({
width: graphWidth,
height : graphHeight,
//.. more properties here
interaction: new sap.viz.ui5.types.controller.Interaction({
decorations: [{name: "showDetail", fn: showDetailHandler}, {name: "hideDetail", fn:hideDetailHandler}]
}),
并且showDetailHandler目前是这样的。它应该显示一个指向数据点的弹出窗口。
var showDetailHandler = function(oEvent){
var data = oEvent.data;
var offset = '0 0';
var tp3 = new sap.ui.ux3.ToolPopup({
content : [ new sap.ui.commons.Button({
text : "button"
}) ],
});
offset = '0 0';
offset = oEvent.position.x + " " + oEvent.position.y;
tp3.setPosition( sap.ui.core.Popup.Dock.CenterBottom,
sap.ui.core.Popup.Dock.CenterTop,
$(oEvent.container),
offset,
"none");
if (tp3.isOpen()) {
tp3.close();
} else {
tp3.open(sap.ui.core.Popup.Dock.CenterBottom, sap.ui.core.Popup.Dock.CenterTop);
}
};
这方面的文档在这里: https://sapui5.hana.ondemand.com/sdk/#docs/api/symbols/sap.ui.core.Popup.html#setPosition https://sapui5.hana.ondemand.com/sdk/docs/api/symbols/sap.viz.ui5.types.controller.Interaction.html#getDecorations
我的理解是偏移量是锚点计算点的偏移量。问题是,偏移完全被忽略了。弹出窗口始终显示在图表的顶部。
但是,正常的工具提示会出现在正确的位置。
任何想法/例子?
提前谢谢。