2017. 11. 28. 15:19
리포트 하이퍼링크를 팝업창으로 열기 MicroStrategy2017. 11. 28. 15:19
리포트 ---> 링크편집 --> 새창으로 열기 옵션을 선택하였을시,
새창(새탭)이 아니라 팝업창으로 열리도록 소스를 수정
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 |
'MicroStrategy' 카테고리의 다른 글
MSTR 연산자 목록 (0) | 2019.11.16 |
---|---|
MicroStrategyWS : Invalid UTF-8 start byte 0x86 (at char #3324, byte #127) (0) | 2019.11.13 |
다큐먼트 메뉴 컨트롤 (0) | 2017.10.26 |
MSTR SDK 이전버전 다운로드 URL (0) | 2017.09.27 |
VI Dashboard에서 특정 Attribute가 포함된 화면 복사 방지 (0) | 2017.09.21 |