123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522 |
- /*
- *+------------------------------------------------------------------------+
- *| Licensed Materials - Property of IBM
- *| IBM Cognos Products: Viewer
- *| (C) Copyright IBM Corp. 2014
- *|
- *| US Government Users Restricted Rights - Use, duplication or
- *| disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- *|
- *+------------------------------------------------------------------------+
- */
- function GotoAction(){
- };
- GotoAction.prototype=new CognosViewerAction();
- GotoAction.prototype.execute=function(){
- var _1=this.m_oCV.getDrillMgr();
- _1.launchGoToPage();
- };
- GotoAction.prototype.updateMenu=function(_2){
- var _3=[];
- var _4=this.m_oCV.getDrillTargets();
- var _5=this.m_oCV.getDrillMgr();
- var _6=_5.getAuthoredDrillThroughTargets();
- if(_6.length>0){
- var _7="<AuthoredDrillTargets>";
- for(var _8=0;_8<_6.length;++_8){
- _7+=eval("\""+_6[_8]+"\"");
- }
- _7+="</AuthoredDrillTargets>";
- var _9=this.m_oCV.getAction("AuthoredDrill");
- var _a=_9.getAuthoredDrillThroughContext(_7,_4);
- var _b=_a.childNodes;
- if(_b.length>0){
- for(var _c=0;_c<_b.length;++_c){
- var _d=_b[_c];
- var _e=this.getTargetReportIconClass(_d);
- var _f=_d.getAttribute("label");
- _3.push({name:"AuthoredDrill",label:_f,iconClass:_e,action:{name:"AuthoredDrill",payload:XMLBuilderSerializeNode(_d)},items:null});
- }
- }
- }
- if(_3.length>0){
- _3.push({separator:true});
- }
- var _10=false;
- if(this.m_oCV.getSelectionController()==null||this.m_oCV.getSelectionController().getModelDrillThroughEnabled()==false){
- _10=true;
- }
- _3.push({name:"Goto",disabled:_10,label:RV_RES.RV_MORE,iconClass:"",action:{name:"Goto",payload:""},items:null});
- if(this.m_oCV.isIWidgetMobile()){
- _2.flatten="true";
- }
- _2.items=_3;
- return _2;
- };
- GotoAction.prototype.getTargetReportIconClass=function(_11){
- var _12="";
- var _13=_11.getAttribute("method");
- switch(_13){
- case "edit":
- _12="editContent";
- break;
- case "execute":
- _12="runReport";
- break;
- case "view":
- var _14=_11.getAttribute("outputFormat");
- switch(_14){
- case "HTML":
- case "XHTML":
- case "HTMLFragment":
- _12="html";
- break;
- case "PDF":
- _12="pdf";
- break;
- case "XML":
- _12="xml";
- break;
- case "CSV":
- _12="csv";
- break;
- case "XLS":
- _12="excel2000";
- break;
- case "SingleXLS":
- _12="excelSingleSheet";
- break;
- case "XLWA":
- _12="excel2002";
- break;
- case "spreadsheetML":
- _12="excel2007";
- break;
- case "xlsxData":
- _12="excel2007";
- break;
- }
- break;
- }
- return _12;
- };
- function DrillContextMenuHelper(){
- };
- DrillContextMenuHelper.updateDrillMenuItems=function(_15,oCV,_17){
- var _18=[];
- if(DrillContextMenuHelper.needsDrillSubMenu(oCV)){
- var _19=oCV.getSelectionController();
- var _1a=_19.getAllSelectedObjects();
- var _1b=_1a[0];
- if(_1b.getUseValues().length>1&&typeof RV_RES!="undefined"){
- var _1c={name:_17,label:RV_RES.RV_DRILL_DEFAULT,action:{name:_17,payload:{}}};
- _18.push(_1c);
- }
- var _1d=(_1b.getUseValues().length>1)?1:0;
- var _1e=_1b.getUseValues().length-1;
- _1e=(_1e>2)?2:_1e;
- for(var _1f=_1d;_1f<=_1e;++_1f){
- DrillContextMenuHelper.addSubMenuItem(_17,_18,_1b,_1f,0);
- }
- var _20=false;
- for(var _1f=_1d;_1f<=_1e;++_1f){
- for(var _21=1;_21<_1b.getUseValues()[_1f].length;++_21){
- if(_20==false){
- _18.push({separator:true});
- _20=true;
- }
- DrillContextMenuHelper.addSubMenuItem(_17,_18,_1b,_1f,_21);
- }
- }
- }
- DrillContextMenuHelper.completeDrillMenu(_17,_18,_15);
- };
- DrillContextMenuHelper.needsDrillSubMenu=function(oCV){
- var _23=(oCV&&oCV.getSelectionController());
- if(_23){
- var _24=_23.getAllSelectedObjects();
- if(_24.length==1&&_24[0].isHomeCell&&_24[0].isHomeCell()==false){
- var _25=_24[0].isSelectionOnVizChart();
- if(!_25){
- var _26=oCV.getAdvancedServerProperty("VIEWER_JS_ENABLE_DRILL_SUBMENU");
- _25=(_26=="charts"&&_23.hasSelectedChartNodes());
- }
- if(_25){
- var _27=_24[0];
- return (_25&&_27.getUseValues()&&(_27.getUseValues().length>1||_27.getUseValues()[0].length>1));
- }
- }
- }
- return false;
- };
- DrillContextMenuHelper.addSubMenuItem=function(_28,_29,_2a,_2b,_2c){
- var _2d=_2a.getDrillOptions()[_2b][_2c];
- if(DrillContextMenuHelper.isOptionDrillable(_28,_2d)){
- var _2e=DrillContextMenuHelper.getItemValue(_2a,_2b,_2c);
- if(_2e){
- var _2f=_2a.getDataItems()[_2b][_2c];
- var _30={name:_28,label:_2e,action:{name:_28,payload:{userSelectedDrillItem:_2f}}};
- _29.push(_30);
- }
- }
- };
- DrillContextMenuHelper.completeDrillMenu=function(_31,_32,_33){
- if(_32.length>0){
- _33.items=_32;
- }else{
- _33.items=null;
- if(_33.action==null){
- _33.action={name:_31,action:{name:_31}};
- }
- }
- };
- DrillContextMenuHelper.isOptionDrillable=function(_34,_35){
- return (_35>=3||(_34=="DrillDown"&&_35==2)||(_34=="DrillUp"&&_35==1));
- };
- DrillContextMenuHelper.getItemValue=function(_36,_37,_38){
- var _39=(_38==0)?_36.getDisplayValues()[_37]:null;
- return ((_39)?_39:_36.getUseValues()[_37][_38]);
- };
- function DrillAction(){
- };
- DrillAction.prototype=new CognosViewerAction();
- DrillAction.prototype.setRequestParms=function(_3a){
- if(_3a&&_3a.userSelectedDrillItem){
- this.m_userSelectedDrillItem=_3a.userSelectedDrillItem;
- }
- };
- DrillAction.prototype.submitDrillRequest=function(_3b,_3c,_3d){
- var oCV=this.getCognosViewer();
- var _3f=new ViewerDispatcherEntry(oCV);
- _3f.addFormField("ui.action","drill");
- _3f.addFormField("rv_drillOption",_3c);
- _3f.addFormField("rv_drillparams",_3b);
- _3f.addFormField("rv_drillRefQuery",_3d);
- oCV.dispatchRequest(_3f);
- };
- function DrillDownAction(){
- this.m_sAction="DrillDown";
- };
- DrillDownAction.prototype=new DrillAction();
- DrillDownAction.prototype.updateMenu=function(_40){
- return _40;
- };
- DrillDownAction.prototype.execute=function(){
- var oCV=this.getCognosViewer();
- var _42=oCV.getDrillMgr();
- if(_42.canDrillDown()==false){
- return;
- }
- var _43=_42.rvBuildXMLDrillParameters("drillDown",this.m_userSelectedDrillItem);
- var _44=_42.getRefQuery();
- if(oCV.envParams["cv.id"]=="AA"){
- oCV.m_viewerFragment.raiseAADrillDownEvent();
- }
- this.submitDrillRequest(_43,"down",_44);
- };
- function DrillUpAction(){
- this.m_sAction="DrillUp";
- };
- DrillUpAction.prototype=new DrillAction();
- DrillUpAction.prototype.updateMenu=function(_45){
- return _45;
- };
- DrillUpAction.prototype.execute=function(){
- var oCV=this.getCognosViewer();
- var _47=oCV.getDrillMgr();
- if(_47.canDrillUp()==false){
- return;
- }
- var _48=_47.rvBuildXMLDrillParameters("drillUp",this.m_userSelectedDrillItem);
- var _49=_47.getRefQuery();
- if(oCV.envParams["cv.containerApp"]=="AA"){
- oCV.m_viewerFragment.raiseAADrillUpEvent();
- }
- this.submitDrillRequest(_48,"up",_49);
- };
- DrillDownAction.prototype.updateMenu=function(_4a){
- var _4b=this.getCognosViewer().getDrillMgr();
- if(_4b&&_4b.canDrillDown()==false){
- _4a.visible=false;
- }else{
- _4a.visible=true;
- DrillContextMenuHelper.updateDrillMenuItems(_4a,this.m_oCV,this.m_sAction);
- }
- return _4a;
- };
- DrillUpAction.prototype.updateMenu=function(_4c){
- var _4d=this.getCognosViewer().getDrillMgr();
- if(_4d&&_4d.canDrillUp()==false){
- _4c.visible=false;
- }else{
- _4c.visible=true;
- DrillContextMenuHelper.updateDrillMenuItems(_4c,this.m_oCV,this.m_sAction);
- }
- return _4c;
- };
- AuthoredDrillAction.prototype._shouldShowInNewWindow=function(_4e){
- return true;
- };
- function CCognosViewerToolbarHelper(){
- };
- CCognosViewerToolbarHelper.updateToolbarForCurrentSelection=function(oCV,_50){
- if(_50){
- var _51=oCV.getActionFactory();
- for(var _52=0;_52<_50.length;++_52){
- var _53=_50[_52]["name"];
- if(typeof _53!="undefined"&&_53!=null){
- var _54=_51.load(_53);
- if(_54!=null&&typeof _54!="undefined"){
- var _55=_54.updateMenu(_50[_52]);
- if(_55.visible==false){
- if(_55.save){
- oCV.getViewerWidget().addButtonToSavedToolbarButtons(_53,_50[_52],_52);
- }
- _50.splice(_52,1);
- --_52;
- }else{
- _50[_52]=_55;
- }
- }
- }else{
- if(typeof _50[_52]._root!="undefined"){
- CCognosViewerToolbarHelper.updateToolbarForCurrentSelection(oCV,_50[_52]._root);
- }else{
- if(_50[_52].separator){
- if(_52==0||(_52>0&&_50[_52-1].separator)||_52==_50.length){
- _50.splice(_52,1);
- --_52;
- }
- }
- }
- }
- }
- }
- };
- CCognosViewerToolbarHelper.updateContextMenuForCurrentSelection=function(oCV,_57){
- var _58=[];
- if(_57){
- var _59=oCV.getActionFactory();
- for(var _5a=0;_5a<_57.length;++_5a){
- var _5b=_57[_5a];
- var _5c=_57[_5a]["name"];
- var _5d=true;
- if(typeof _5c!="undefined"){
- var _5e=_59.load(_5c);
- if(!_5e){
- if(_5c=="drillDown"){
- _5e=_59.load("DrillDown");
- }else{
- if(_5c=="drillUp"){
- _5e=_59.load("DrillUp");
- }
- }
- }
- if(_5e!=null&&typeof _5e!="undefined"){
- if(typeof _5e.buildMenu=="function"){
- _5b=_5e.buildMenu(_57[_5a]);
- }else{
- _5b=_5e.updateMenu(_57[_5a]);
- }
- _5d=_5e.isValidMenuItem();
- }else{
- if(typeof _5b.items!="undefined"){
- _5b.items=CCognosViewerToolbarHelper.updateContextMenuForCurrentSelection(oCV,_5b.items);
- _5d=(_5b.items&&_5b.items.length>0)?true:false;
- if(_5d&&_5b.items.length==1){
- _5b=_5b.items[0];
- }
- }
- }
- }
- if(_5b&&_5b.visible!==false&&_5d){
- if(_5b.separator===true){
- if(_58.length>0&&typeof _58[_58.length-1].separator=="undefined"){
- _58[_58.length]=_5b;
- }
- }else{
- if(_5b.useChildrenItems==true&&_5b.items&&_5b.items.length>0){
- if(!_5b.disabled){
- for(var _5f=0;_5f<_5b.items.length;_5f++){
- _58[_58.length]=_5b.items[_5f];
- }
- }
- }else{
- if(typeof _5b._root!="undefined"){
- _58[_58.length]={"_root":CCognosViewerToolbarHelper.updateContextMenuForCurrentSelection(oCV,_5b._root)};
- }else{
- _58[_58.length]=_5b;
- }
- }
- }
- }
- }
- if(_58.length>1){
- if(_58[_58.length-1].separator){
- _58=_58.splice(0,_58.length-1);
- }
- }
- }
- return _58;
- };
- CMainWnd.prototype.pageClicked=function(evt){
- var oCV=this.getCV();
- var _62=oCV.getSelectionController();
- if(_62&&oCV.bCanUseCognosViewerSelection==true){
- _62.resetSelections();
- var _63=_62.pageClickedForMobile(evt);
- if(_63){
- if(this._bookmarkDrillThrough(evt,oCV)){
- return;
- }
- var _64=CCognosViewerToolbarHelper.updateContextMenuForCurrentSelection(oCV,oCV.getContextMenu());
- this._fixGotoMenu(_64);
- var _65=_62.getContainerType();
- var _66=_65==="chart"?_62.getChartTooltip():null;
- var _67={"action":"showMenu","event":evt,"payload":_64.length>0?_64:null,"displayValues":_62.getDisplayValues(_62),"chartTooltip":_66,"containerType":_65};
- if(window.onAction){
- window.onAction(_67);
- }else{
- if(typeof console!="undefined"){
- console.log(_67);
- }
- }
- }
- }
- };
- CMainWnd.prototype._bookmarkDrillThrough=function(evt,oCV){
- var _6a=oCV.getDrillMgr();
- var _6b=_6a.getAuthoredDrillsForCurrentSelection();
- if(_6b){
- var _6c=XMLHelper_FindChildrenByTagName(_6b,"drillTarget",false);
- if(_6c&&_6c.length==1){
- var _6d=_6c[0];
- var _6e=_6d.getAttribute("bookmarkRef");
- var _6f=_6d.getAttribute("path");
- if(_6e&&_6e.length>0&&(!_6f||_6f.length==0)){
- _6a.singleClickDrillEvent(evt,"RV");
- return true;
- }
- }
- }
- return false;
- };
- CMainWnd.prototype.displayContextMenu=function(evt,_71){
- if(!this.getCV().bEnableContextMenu){
- return false;
- }
- this.pageClicked(evt);
- };
- CMainWnd.prototype._fixGotoMenu=function(_72){
- if(_72&&_72.length){
- var _73=null;
- var _74=_72.length;
- var _75=0;
- for(var i=0;i<_74;i++){
- if(_72[i].name==="Goto"){
- _75=i;
- _73=_72.splice(i,1);
- break;
- }
- }
- if(_73&&_73[0]&&_73[0].items){
- var _77=_73[0].items;
- var _78=_77.length;
- for(var i=0;i<_78;i++){
- if(!_77[i].separator){
- _72.splice(_75,0,_77[i]);
- _75++;
- }
- }
- }
- }
- };
- CCognosViewer.prototype.isMobile=function(){
- return true;
- };
- CCognosViewer.prototype.sendDrillThroughRequest=function(_79){
- var _7a=getChildElementsByAttribute(_79,"input","name","ui.action");
- if(_7a&&_7a.length>0){
- _7a[0].setAttribute("value","authoredDrillThroughMobile");
- }
- ViewerMobileRequest.passFormFieldsToMobile(_79);
- };
- CCognosViewer.prototype.launchGotoPage=function(_7b){
- ViewerMobileRequest.passFormFieldsToMobile(_7b);
- };
- CCognosViewer.prototype.shouldWriteNavLinks=function(){
- return false;
- };
- CCognosViewer.prototype.getCancelDispatcherEntry=function(){
- return new ViewerDispatcherEntry(this);
- };
- CCognosViewer.prototype.notifyTabChange=function(_7c){
- var _7d={"action":"savedOutputTabChange","tabId":_7c};
- if(typeof window.onAction=="function"){
- window.onAction(_7d);
- }else{
- if(typeof console!="undefined"){
- console.log(_7d);
- }
- }
- };
- ViewerDispatcherEntry.prototype.sendRequest=function(){
- this.prepareRequest();
- var oCV=this.getViewer();
- if(oCV.envParams["ui.action"]=="view"){
- this.addFormField("cv.responseFormat","mobileView");
- }else{
- this.addFormField("cv.responseFormat","mobileData");
- }
- oCV.resetViewerDispatcher();
- var _7f=this.getRequest().getFormFields();
- for(param in oCV.envParams){
- if(!_7f.exists(param)&¶m!="cv.actionState"){
- this.addFormField(param,oCV.envParams[param]);
- }
- }
- if(!ViewerMobileRequest.passRequestFieldsToMobile(this.getRequest())){
- var _80=this.buildRequestForm();
- _80.submit();
- }
- };
- function ViewerMobileRequest(){
- };
- ViewerMobileRequest.passFormFieldsToMobile=function(_81){
- var _82={};
- var _83=_81.getElementsByTagName("input");
- if(_83){
- for(var i=0;i<_83.length;i++){
- var _85=_83[i].getAttribute("name");
- var _86=_83[i].getAttribute("value");
- if(_85&&_86){
- _82[_85]=_86;
- }
- }
- }
- return ViewerMobileRequest._callMobile(_82);
- };
- ViewerMobileRequest.passRequestFieldsToMobile=function(_87){
- var _88={};
- var _89=_87.getFormFields();
- var _8a=_89.keys();
- for(var _8b=0;_8b<_8a.length;_8b++){
- var _8c=_8a[_8b];
- _88[_8c]=_89.get(_8c);
- }
- return ViewerMobileRequest._callMobile(_88);
- };
- ViewerMobileRequest._callMobile=function(_8d){
- var _8e={"action":"httpRequest",payload:_8d};
- if(window.onAction){
- window.onAction(_8e);
- return true;
- }else{
- if(typeof console!="undefined"&&console&&console.log){
- console.log(_8e);
- return false;
- }
- }
- return false;
- };
|