리포트 ---> 링크편집 --> 새창으로 열기 옵션을 선택하였을시,


새창(새탭)이 아니라 팝업창으로 열리도록 소스를 수정



plugins/YourPlugin/javascript 폴더에 위치한다.


파일명은 reportPage.js 또는 global.js






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
 
 
/***
 * MicroStrategy 10.4 Hofix4 (10.4.0400.0074)
 */ 
var IS_CUSTOM_POPUP = false///전역변수 선언, 팝업 처리 여부
 
 
/***
 * bone-report.js의 mstrGridReport.prototype.execDynamiclLink 수정
 */
try{
    mstrGridReport.prototype.execDynamiclLink = function(A, C, F, D) {
        try {
            
            ///////// Web Customizing Start
            ///////// 다이나믹링크 명령에서 "새창으로 열기"를 선택하면 팝업여부를 true로 바꾼다.
            IS_CUSTOM_POPUP = A.nw;
            ///////// Web Customizing End
            
            var B = this.buildLinkXml(A, C, F, D);
            microstrategy.execDynamiclLink(C, B, A && A.nw);
        } catch (E) {
            microstrategy.errors.log(E);
        }
    };
}catch(e){}
 
 
 
/***
 * bone-report.js의 UpdateHelper.submitRequest 수정
 */
try{
    UpdateHelper.submitRequest = function(H) {
        var N = getObj("pageStateForm");
        var E = null;
        var I = null;
        var G;
        var F;
        var C;
        var O;
        UpdateHelper.appendPageStateToParams(H);
        if (typeof (microstrategy) != "undefined" && typeof (microstrategy.bones.rwb_viewer) != "undefined" && microstrategy.EDIT_MODE == microstrategy.ALLOW_EDIT_MODE) {
            var L = microstrategy.bones.rwb_viewer;
            H.docSelections = L.commands.queryState("selectionsKey");
            L.adjustScrollValues();
            H.viewerScroll = L.dScrollTop + "," + L.dScrollLeft;
            H.isLocked = (L.insertionControlLocked) ? 1 : 0;
            var M = L.doc.currentControlSubtype ? "|" + L.doc.currentControlSubtype : "";
            H.currentControl = L.doc.currentControl + M;
        }
        if (typeof (microstrategy) != "undefined" && microstrategy.DISPLAY_MODE == microstrategy.VIEW_MODE && microstrategy.EDIT_MODE == microstrategy.ALLOW_EDIT_MODE) {
            for (var A in microstrategy.bones) {
                if (microstrategy.bones[A] != null && microstrategy.bones[A].type == microstrategy.OBJTYPE_GRID) {
                    var B = microstrategy.bones[A];
                    if (B && B.gridStructureInfo && !B.gridStructureInfo.emptyCase && !B.gridStructureInfo.isEmptyTemplate) {
                        if (B.isGrid) {
                            var K = B.commands.queryState("selections");
                            if (K) {
                                H[B.id] = K;
                            }
                        }
                        if (B.isGraph && A.indexOf("_graph"== -1) {
                            H[B.id + "_gs"= B.commands.queryState("graphSelections");
                        }
                    }
                }
            }
        }
        if (H.iframe == "true") {
            microstrategy.updateManager.submitPartialUpdate(H);
        } else {
            var J = UpdateHelper.createFormFromParams(H);
            if (mstr.utils.ISSAFARI && J.target == "_blank") {
                J.action += (J.action.indexOf("?"== -1 ? "?" : "&");
                J.action += "t=" + new Date().getTime();
            }
 
            try {
                
                
                ///////// Web Customizing Start
                // 팝업여부를 true이면 open팝업을 띄운뒤, 타겟을 변경한다.
                if(IS_CUSTOM_POPUP){
                    window.open('''customPopup''toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300,left = 312,top = 234');
                    J.target = 'customPopup';
                    microstrategy.submitForm(J, false);
                    IS_CUSTOM_POPUP = false;
                }else{
                    microstrategy.submitForm(J);
                }
                ///////// Web Customizing End
                
                
            } catch (D) {
                if (J.target != "" && !window.open("""""width=1,height=1,left=0,top=0,scrollbars=no")) {
                    showMessage({
                        contents: microstrategy.descriptors.getDescriptor("5877"),
                        elements: microstrategy.OK_BUTTON,
                        type: mstrMsgBoxImpl.MSG_WARNING
                    });
                } else {
                    microstrategy.errors.log(D);
                }
            }
        }
        return false;
    };
}catch(e){}
 
 
 
cs



















:
Posted by 정규식