"About Dialog" 在 Fiori Launchpad 应用程序中
"About Dialog" in Fiori Launchpad Applications
在 Fiori Launchpad 中,当我在应用程序中时,如果我单击我的用户名,然后单击关于,我会看到一个漂亮的弹出窗口,其中包含有关我的应用程序的一些信息。
现在我知道这是我可以自定义为可见或不可见的东西,但我的问题是:
我如何以编程方式访问此对话框。如果我单击 link,我会看到 Div "aboutContainerDialogID" 出现。然而,一旦关闭,它就会从 DOM 中完全删除。
我在许多标准 SAP js 文件中进行了搜索,但未能成功追踪到对话框。
我的目标:我想为这个对话框绑定一个快捷方式。如果用户输入键盘快捷键,则必须出现该对话框。我修复了快捷方式,对话框还没有。如有任何帮助或提示,我们将不胜感激。
sap.ui.getCore().byId("aboutBtn").firePress();
//最好放入 try catch 方法..以防按钮不可用。
更新: 动作是根据 App 和当前屏幕用户所在的动态构建的。
所以当我们使用上面的代码时,可能会像@Matti说的那样失败。
我看到的最佳解决方案是触发第一次按下操作按钮..
try{
sap.ui.getCore().byId("aboutBtn").firePress();
}catch(e){
sap.ui.getCore().byId("actionsBtn").firePress(); //this creates action menu
sap.ui.getCore().byId("aboutBtn").firePress();
}
我同意这不是一个干净的解决方案。 //如果我发现更好的东西会更新..
好的,我找到了一种无需使用按钮即可执行此操作的方法。这使得它在 运行 无头配置时也能工作。这是代码:
new sap.ushell.ui.footerbar.AboutButton().firePress();
我在 onInit() 上加载的控制器中有以下功能:
registerKeyListeners: function() {
var map = [];
onkeydown = onkeyup = function(e) { //eslint-disable-line
e = e || event; //eslint-disable-line
map[e.keyCode] = e.type === "keydown";
};
window.addEventListener("keydown", function(e) { //eslint-disable-line
if (map[17] && map[112]) {
new sap.ushell.ui.footerbar.AboutButton().firePress(); //eslint-disable-line
map = [];
}
});
},
这允许我使用组合键 Control 和 F1 来请求当前应用程序的信息。
在 Fiori Launchpad 中,当我在应用程序中时,如果我单击我的用户名,然后单击关于,我会看到一个漂亮的弹出窗口,其中包含有关我的应用程序的一些信息。 现在我知道这是我可以自定义为可见或不可见的东西,但我的问题是: 我如何以编程方式访问此对话框。如果我单击 link,我会看到 Div "aboutContainerDialogID" 出现。然而,一旦关闭,它就会从 DOM 中完全删除。 我在许多标准 SAP js 文件中进行了搜索,但未能成功追踪到对话框。
我的目标:我想为这个对话框绑定一个快捷方式。如果用户输入键盘快捷键,则必须出现该对话框。我修复了快捷方式,对话框还没有。如有任何帮助或提示,我们将不胜感激。
sap.ui.getCore().byId("aboutBtn").firePress();
//最好放入 try catch 方法..以防按钮不可用。
更新: 动作是根据 App 和当前屏幕用户所在的动态构建的。
所以当我们使用上面的代码时,可能会像@Matti说的那样失败。 我看到的最佳解决方案是触发第一次按下操作按钮..
try{
sap.ui.getCore().byId("aboutBtn").firePress();
}catch(e){
sap.ui.getCore().byId("actionsBtn").firePress(); //this creates action menu
sap.ui.getCore().byId("aboutBtn").firePress();
}
我同意这不是一个干净的解决方案。 //如果我发现更好的东西会更新..
好的,我找到了一种无需使用按钮即可执行此操作的方法。这使得它在 运行 无头配置时也能工作。这是代码:
new sap.ushell.ui.footerbar.AboutButton().firePress();
我在 onInit() 上加载的控制器中有以下功能:
registerKeyListeners: function() {
var map = [];
onkeydown = onkeyup = function(e) { //eslint-disable-line
e = e || event; //eslint-disable-line
map[e.keyCode] = e.type === "keydown";
};
window.addEventListener("keydown", function(e) { //eslint-disable-line
if (map[17] && map[112]) {
new sap.ushell.ui.footerbar.AboutButton().firePress(); //eslint-disable-line
map = [];
}
});
},
这允许我使用组合键 Control 和 F1 来请求当前应用程序的信息。