20210921 - Interactive Grid 행 추가 버튼 대신 Custom 버튼으로 Modal Dialog 팝업 띄우기

1. IG - Attributes - Advanced - JavaScript Initialization Code :

  • IG Static ID 설정 : myStaticIG
  • 버튼 ID 설정 : btnOpenDialogPROD
  • 그리고 버튼 전체 ID 치환 : myStaticIG_ig_toolbar_btnOpenDialogPROD


function(config) {
    let $                = apex.jQuery,
        toolbarData      = $.apex.interactiveGrid.copyDefaultToolbar();
        addrowAction     = toolbarData.toolbarRemove("selection-add-row");
        saveAction       = toolbarData.toolbarRemove("save");
        editAction       = toolbarData.toolbarRemove("edit");
        actionsMenuGroup = toolbarData.toolbarFind("actions2");

    actionsMenuGroup.controls.push({
        type: "BUTTON",
        id: "btnOpenDialogPROD",
        label: "등록",
        icon: "icon-ig-add-row",
        iconBeforeLabel: true,
        hot: true,
        action: "DA_PODTL_ClickAdd"
        });

    config.initActions = function(actions){
        actions.add({
            name: "DA_PODTL_ClickAdd",
            action: function() {
                
                var l_url = 'f?p=#APP_ID#:5:#SESSION#::NO:RP';
                    l_url = l_url.replace('#APP_ID#',  $v('pFlowId'));
                    l_url = l_url.replace('#SESSION#', $v('pInstance'));

                // execute PL/SQL API apex_uti.prepare_url to generate a valid Session State Protection checksum
                apex.server.process(
                    'prodRegDA-popup',
                    {x01: l_url},
                    {success: function (pData) {
                            pData = pData.replace(",this", ",'#myStaticIG_ig_toolbar_btnOpenDialogPROD'");
                            apex.navigation.redirect(pData); // Call Modal Dialog Page                            
                        },
                        dataType: "text"
                    }
                );
            }
        });
    }

    config.toolbarData = toolbarData;
    return config;
}


2. Dynamic Action Dialog Closed 

When - Event : Dialog Closed

Selection Type : jQuery Selector

jQuery Selector : #myStaticIG_ig_toolbar_btnOpenDialogPROD




처음에 안 되어서 이렇게 찾아본 것인데
이상하게도 하다보니 추가로 Dynamic Action 없이 기존 리전 Dialog Close 것으로 Refresh 되었음.

참고

https://blog.virtual7.de/implementing-a-select-list-in-the-interactive-grids-toolbar/


댓글 없음:

댓글 쓰기

20250202 - IG 다운로드 버튼 바로 보이기

JS initialization Code : function (config) {     var $ = apex.jQuery,         toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),  ...