如何在 SAPUI5 的网络图的控制按钮上附加事件?
How to attach events on control buttons of SAPUI5's Network Graphs?
我正在根据这个官方代码示例创建一个网络图 https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.commons.networkgraph.Graph/sample/sap.suite.ui.commons.sample.NetworkGraphDimensions
我想默认禁用搜索字段(使其不可见),只有在切换到全屏模式后才启用它。
默认情况下禁用搜索字段很容易:
var oNetworkGraph = this.getView().byId("myGraphId");
if (oNetworkGraph.isFullScreen() === false) {
oNetworkGraph._searchField.setVisible(false);
}
问题是我们的搜索字段和其他按钮(缩放 in/out、切换图例按钮等)未在 XML 视图内定义,也不在控制器内定义。我猜它是 sap.suite.ui.commons.networkgraph
或 sap.suite.ui.commons.networkgraph.layout
的一部分并被插入到 init.
由于这个问题,我无法在全屏切换按钮上添加监听器。
您可以将自己附加到您的搜索字段修改中。
我检查了代码,按钮在 class 变量 _oFullScreenButton
下可用。这意味着 oNetworkGraph._oFullScreenButton.attachPress(function() {});
您可以 运行 在按下按钮时编码。
请注意,在未来的版本中访问这些私有 API 可能会中断。
我正在根据这个官方代码示例创建一个网络图 https://sapui5.hana.ondemand.com/#/entity/sap.suite.ui.commons.networkgraph.Graph/sample/sap.suite.ui.commons.sample.NetworkGraphDimensions
我想默认禁用搜索字段(使其不可见),只有在切换到全屏模式后才启用它。
默认情况下禁用搜索字段很容易:
var oNetworkGraph = this.getView().byId("myGraphId");
if (oNetworkGraph.isFullScreen() === false) {
oNetworkGraph._searchField.setVisible(false);
}
问题是我们的搜索字段和其他按钮(缩放 in/out、切换图例按钮等)未在 XML 视图内定义,也不在控制器内定义。我猜它是 sap.suite.ui.commons.networkgraph
或 sap.suite.ui.commons.networkgraph.layout
的一部分并被插入到 init.
由于这个问题,我无法在全屏切换按钮上添加监听器。
您可以将自己附加到您的搜索字段修改中。
我检查了代码,按钮在 class 变量 _oFullScreenButton
下可用。这意味着 oNetworkGraph._oFullScreenButton.attachPress(function() {});
您可以 运行 在按下按钮时编码。
请注意,在未来的版本中访问这些私有 API 可能会中断。