JS initialization Code :
function(config) {
var $ = apex.jQuery,
toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),
actionsMenuGroup = toolbarData.toolbarFind("actions1");
config.initActions = function(actions) {
actions.add({
name: "show-download-dialog"
});
}
actionsMenuGroup.controls.push({
type: "BUTTON",
action: "show-download-dialog",
label: "Download",
icon: "fa fa-download",
iconBeforeLabel: true
});
config.toolbarData = toolbarData;
return config;
}
최종
Global Variable Declaration :
var firstClickedIG = null;
IG Initialization JavaScript Function :
function(config) {
var $ = apex.jQuery,
toolbarData = $.apex.interactiveGrid.copyDefaultToolbar();
config.defaultGridViewOptions = {
tooltip: {
content: function(callback, model, recordMeta, colMeta, columnDef ) {
var text = null;
if (columnDef && recordMeta) {
let value = model.getValue(recordMeta.record, columnDef.property);
text = typeof value === 'object' && value.d ? value.d : value;
}
return text;
},
tooltipClass: "tooltip-custom-style"
}
};
config.features.download.formats = ["XLSX"];
var vSID = "myStaticIGPOMST1";
config.initActions = function(actions) {
actions.add({
name: "custom-download1",
action: function(event, focusElement) {
var ig$ = apex.region(vSID).widget();
if(firstClickedIG === null) firstClickedIG = vSID;
ig$.interactiveGrid("getActions").invoke("show-download-dialog");
var $hotButton = (firstClickedIG === vSID) ?
$('.ui-dialog-buttonpane:first .ui-button--hot') :
$('.ui-dialog-buttonpane:last .ui-button--hot');
if ($hotButton.length > 0) {
$hotButton.trigger("click");
}
}
});
};
var rightActionGroup = toolbarData.toolbarFind("actions4");
if (!rightActionGroup) {
rightActionGroup = {
id: "actions4",
controls: []
};
toolbarData.toolbar.push(rightActionGroup);
}
var resetButton = rightActionGroup.controls.find(control => control.action === "reset-report");
var resetIndex = rightActionGroup.controls.indexOf(resetButton);
var downloadButton = {
type: "BUTTON",
action: "custom-download1",
label: "다운로드",
hot: false
};
if (resetIndex !== -1) {
rightActionGroup.controls.splice(resetIndex, 0, downloadButton);
} else {
rightActionGroup.controls.unshift(downloadButton);
}
config.toolbarData = toolbarData;
return config;
}
참고
댓글 없음:
댓글 쓰기