// Licensed Materials - Property of IBM // IBM Cognos Products: rs // (C) Copyright IBM Corp. 2015, 2020 // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. define(['bi/glass/app/plugins/MenuActionInterface'], function(MenuActionInterface) { 'use strict'; var ClassicViewerSaveMenu = MenuActionInterface.extend({ onSelectItem: function(context) { var v_sMenuItem = context.target.itemId; var v_oCognosViewer = context.glassContext.currentAppView.currentContentView.getCognosViewer(); if (! v_oCognosViewer) { return; } v_oCognosViewer.m_bIgnoreCloseWindow = undefined; console.log("cvAppSaveMenuActions.onSelectItem selected item %s", v_sMenuItem); switch( v_sMenuItem ) { case "com.ibm.bi.classicviewer.keepVersion_Save": v_oCognosViewer.m_bIgnoreCloseWindow = true; v_oCognosViewer.getRV().SaveReport(true); break; case "com.ibm.bi.classicviewer.keepVersion_ReportView": v_oCognosViewer.m_bIgnoreCloseWindow = true; v_oCognosViewer.getRV().SaveAsReportView(true); break; default: console.log('unhandled menu item'); } }, isItemVisible: function(context){ var v_sMenuItem = context.target.itemId; var v_oCognosViewer = context.glassContext.currentAppView.currentContentView.getCognosViewer(); if (! v_oCognosViewer) { return false; } var v_bResult; switch (v_sMenuItem) { case "com.ibm.bi.classicviewer.keepVersion_Save": var m_oCmProperties = context.glassContext.currentAppView.currentContentView.cmProperties; v_bResult = m_oCmProperties && m_oCmProperties.permissions.indexOf("write") != -1; break; case "com.ibm.bi.classicviewer.keepVersion_ReportView": // Need an actual object to save as report view. Use presence of cmProperties to determine this requirement. var m_oCmProperties = context.glassContext.currentAppView.currentContentView.cmProperties; v_bResult = !m_oCmProperties || v_oCognosViewer.envParams && v_oCognosViewer.envParams["ui.objectClass"] === "reportView" ? false : true; break; default: v_bResult = true; break; } return v_bResult; } }); return ClassicViewerSaveMenu; });