我在 oracle apex 中有一个交互式网格区域,我希望能够通过位于工具栏最右侧的切换按钮将其最大化。切换按钮本身的自定义相对简单,但我正在努力实现最大化功能。我包含了目前位于交互式网格的“初始化 JavaScript 函数”部分中的代码。
function(config) {
let $ = apex.jQuery,
toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),
toolbarGroup = toolbarData.toolbarFind("actions4");
toolbarGroup.controls.push(
{
type: "TOGGLE",
action: "maximize-region",
icon: "fa fa-expand"
}
);
config.initActions = function(actions){
actions.add({
name: "maximize-region",
maximize: false,
set: function(maximize) {
this.maximize = maximize;
//jQuery to maximize the region would go here
}, get: function() {
return this.maximize;
}
});
}
config.toolbarData = toolbarData;
return config;
}
任何帮助都将不胜感激!
为什么不使用内置的最大化按钮?
如果您在页面-函数和全局变量声明中使用下一个代码,会发生什么情况:
IG_STATIC_ID 将被替换
禁用“初始化 JavaScript 函数”中的代码
在模板选项中勾选“显示最大化按钮”:
编辑:模板需要是“交互式报告”
想法是,当它找到最后一个工具栏组时,它会添加“a-IRR-buttons”类以将该工具栏组标记为占位符:
然后 UT 初始化应该添加最大化按钮并附加所有需要的逻辑
最大化:
EDIT2:相关的 UT 代码在 theme42.js 中,最大化函数。如果你在那里放置一个断点,你应该能够弄清楚为什么它没有添加
注入按钮选择器:
添加最大化按钮:
演示:https ://apex.oracle.com/pls/apex/r/yola/demo/igmaximizebutton