123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467 |
- define([
- 'jquery',
- 'q',
- 'bi/authoring/utils/rsIFrameManager',
- 'bi/authoring/utils/rsCommon',
- 'bi/authoring/nls/StringResource',
- 'bi/commons/utils/LegacyUtils',
- 'bi/authoring/utils/pat/rsLaunchParameters',
- 'bi/authoring/utils/pat/rsPromptParameters'
- ],
- function($, Q, rsIFrameManager, rsCommon, StringResource, LegacyUtils, rsLaunchParameters, rsPromptParameters){
- 'use strict';
- var legacyUtils = null;
-
-
- function getLegacyUtils() {
- if (!legacyUtils) {
- legacyUtils = LegacyUtils;
- if (!legacyUtils.getLegacyLaunchUrl) {
- legacyUtils.getLegacyLaunchUrl = function(glassContext, tool, object, action)
- {
- var qParms = this._getLaunchParms(glassContext, tool, object);
- qParms['ui.action'] = action;
- return this._getUrl(qParms);
- }.bind(LegacyUtils);
- }
- }
- return legacyUtils;
- }
-
-
- function getLegacyLaunchUrl( oOpenSpec ) {
- var tool = oOpenSpec.cmProperties.type == 'query' ? 'QueryStudio' : 'AnalysisStudio';
- var searchPath = 'storeID("' + oOpenSpec.cmProperties.id + '")';
- var v_sLaunchURL = getLegacyUtils().getLegacyLaunchUrl( oOpenSpec.glassContext, tool, searchPath, 'edit' );
- if (oOpenSpec.urlMap.prompt != undefined) {
- v_sLaunchURL = v_sLaunchURL + '&prompt=' + (oOpenSpec.urlMap.prompt ? 'true' : 'false');
- }
-
- var v_sParameterValuesXML = oOpenSpec.urlMap.parameterValuesXML;
- if (!v_sParameterValuesXML && oOpenSpec.urlMap.parameterValuesJSON)
- {
- v_sParameterValuesXML = rsPromptParameters.rsBuildPromptParameters(null, oOpenSpec.urlMap.parameterValuesJSON, "parameters");
- }
- if (v_sParameterValuesXML)
- {
- v_sLaunchURL = v_sLaunchURL + '&ui.drillThroughTargetParameterValues=' + encodeURIComponent(v_sParameterValuesXML);
- }
- return v_sLaunchURL;
- }
-
- function runActiveReportInNewWindow( urlMap ) {
-
- var deferred = Q.defer();
- var v_sCmPath = 'storeID("' + urlMap.id + '")';
- var v_sA11y = urlMap.a11y ? '&' + encodeURIComponent('system.http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures') + '=true' : '';
- var v_sBidi = urlMap.bidi ? '&' + encodeURIComponent('biDirectional.http://developer.cognos.com/ceba/constants/biDirectionalOptionEnum#biDirectionalFeaturesEnabled') + '=true' : '';
- var v_sPrompt = urlMap.prompt != undefined ? ('&run.prompt=' + urlMap.prompt) : '';
- var v_sUri = 'v1/disp?b_action=cognosViewer&ui.action=run&ui.object='+ v_sCmPath + v_sPrompt + v_sA11y + v_sBidi;
- try {
- var v_oWin = window.open( v_sUri, '', '');
- v_oWin.focus();
-
- deferred.resolve(v_oWin);
- }
- catch(e) {
- rsCommon.reject( deferred, 'Failed to opend window: ' + e.toString(), 'rsOpenHelper.runActiveReportInNewWindow' );
- }
- finally {
- return deferred.promise;
- }
- }
- function isActiveReport( cmProperties ) {
- return rsCommon.isObjectOfType( cmProperties, 'interactiveReport' );
- }
-
- function isDataSet2( cmProperties ) {
- return rsCommon.isObjectOfType( cmProperties, 'dataSet2' );
- }
- function isReport_ish( cmProperties ) {
- return rsCommon.isObjectOfType( cmProperties, ['report', 'reportView', 'reportTemplate', 'interactiveReport', 'dataSet2', 'query', 'analysis'] );
- }
- function loadCmProperties( v_oUrlMap, v_oCmProperties ) {
- if (v_oCmProperties) {
-
-
- v_oUrlMap.cmProperties = v_oCmProperties;
- v_oUrlMap.id = v_oCmProperties.id;
- v_oUrlMap.type = v_oCmProperties.type;
- }
- }
- function getType(v_sId, glassContext)
- {
- var v_sSearchPathUrl =
- "v1/search_path?searchPath=" +
- encodeURIComponent("storeID('" + v_sId + "')") +
- "&fields=type";
-
- return glassContext.services.fetch.get(v_sSearchPathUrl)
- .then( function(v_oCmInfoResponse) {
- return v_oCmInfoResponse.data.data[0].type;
- });
- }
-
- function determineDefaultAction(v_sActionId, v_oCmProperties, glassContext, urlMap) {
- if (urlMap && (urlMap.m_oPromptContext || (urlMap.m_oLaunchParameters && urlMap.m_oLaunchParameters.promptContext))) {
-
-
- return glassContext.hasCapability('canUseCognosViewer') ? 'run' : 'none';
- }
- var v_sAction;
- if (v_oCmProperties && v_oCmProperties.defaultPortalAction) {
- var v_bDefault = true;
- v_sAction = v_oCmProperties.defaultPortalAction;
- var v_sType = v_oCmProperties.type;
- switch (v_sActionId)
- {
- case 'com.ibm.bi.authoring.run':
- case 'com.ibm.bi.contentApps.action.runAs':
- case 'com.ibm.bi.authoringContrib.runBtn':
- v_sAction = 'run';
- v_bDefault = false;
- break;
- default:
- if (v_sActionId && v_sActionId.indexOf('com.ibm.bi.contentApps.defaultAction.') == -1) {
-
-
- v_sAction = 'edit';
- v_bDefault = false;
- }
- }
-
- switch (v_sType)
- {
- case 'dataSet2':
-
- v_sAction = (v_oCmProperties.permissions.indexOf("read") != -1 && glassContext.hasCapability( 'canUseMyDataSets' )) ? 'edit' : null;
- break;
- case 'reportTemplate':
-
- v_sAction = (v_oCmProperties.permissions.indexOf("read") != -1 && glassContext.hasCapability( 'canUseReportStudio' )) ? 'edit' : null;
- break;
- case 'reportView':
- if (v_sAction == 'edit')
- {
-
- v_sAction = v_bDefault ? 'run' : null;
- }
-
- default:
- var v_sStudioCapability;
- var v_bIsLegacy = false;
- switch (v_sType)
- {
- case 'query':
- v_sStudioCapability = 'canUseQueryStudio';
- v_bIsLegacy = true;
- break;
- case 'analysis':
- v_sStudioCapability = 'canUseAnalysisStudio';
- v_bIsLegacy = true;
- break;
- default:
- v_sStudioCapability = 'canUseReportStudio';
- }
- if (v_bIsLegacy && v_sAction == 'edit')
- {
- var v_bTool = LegacyUtils.canUseLegacyTool( glassContext, v_sType == 'query' ? 'QueryStudio' : 'AnalysisStudio');
-
- v_sAction = v_bTool ? 'legacy' : 'run';
- }
- switch (v_sAction) {
- case 'edit':
- case 'legacy':
- if (v_oCmProperties.permissions.indexOf("read") == -1 || !glassContext.hasCapability( v_sStudioCapability ))
- {
-
- v_sAction = (v_oCmProperties.permissions.indexOf("execute") != -1 && v_bDefault) ? 'run' : null;
- }
- break;
- case 'run':
- if (v_oCmProperties.permissions.indexOf("execute") == -1)
- {
-
- v_sAction = (v_oCmProperties.permissions.indexOf("read") != -1 && v_bDefault) ? 'viewOutput' : null;
- }
- break;
- case 'viewOutput':
- if (v_oCmProperties.permissions.indexOf("read") == -1)
- {
-
- v_sAction = (v_oCmProperties.permissions.indexOf("execute") != -1 && v_bDefault) ? 'run' : null;
- }
- break;
- default:
- v_sAction = null;
- }
- if ((v_sAction == 'run' || v_sAction == 'viewOutput') && !glassContext.hasCapability('canUseCognosViewer'))
- {
- v_sAction = null;
- }
- break;
- }
- }
- else if (urlMap && urlMap.isNew) {
-
- if (urlMap.isViewer) {
- v_sAction = glassContext.hasCapability('canUseCognosViewer') ? 'run' : 'none';
- }
- else if (urlMap.perspective == 'authoring') {
- v_sAction = glassContext.hasCapability('canUseReportStudio') ? 'edit' : 'none';
- }
- else if (urlMap.perspective == 'datasets') {
- v_sAction = glassContext.hasCapability('canUseMyDataSets') ? 'edit' : 'none';
- }
- else {
- v_sAction = 'none';
- }
- }
- return v_sAction;
- }
- function determineAction(v_oOpenSpec)
- {
- var v_sAction;
- var v_bAllowLegacy = true;
- var v_sCreateType;
- switch (v_oOpenSpec.actionId)
- {
- case "com.ibm.bi.authoring.run":
- case "com.ibm.bi.contentApps.action.runAs":
- v_sAction = 'run';
- break;
- case "com.ibm.bi.authoring.createReportFromModule":
- case "com.ibm.bi.authoring.createReportFromPackage":
- v_sCreateType = "report";
- v_sAction = 'edit';
- break;
- case "com.ibm.bi.datasets.createDataSetFromModule":
- case "com.ibm.bi.datasets.createDataSetFromPackage":
- v_sCreateType = "dataSet2";
- v_sAction = 'edit';
- break;
- case 'com.ibm.bi.authoring.convertToReport':
- v_sAction = 'edit';
- v_bAllowLegacy = false;
- break;
- default:
- v_sAction = v_oOpenSpec.urlMap.action;
- }
- var sObjectType = v_oOpenSpec.urlMap.cmProperties ? v_oOpenSpec.urlMap.cmProperties.type : undefined;
- switch (sObjectType)
- {
- case 'reportVersion':
- case 'output':
-
- v_sAction = v_oOpenSpec.glassContext.hasCapability('canUseCognosViewer') ? 'viewOutput' : 'none';
- break;
-
- default:
- switch (v_sAction)
- {
- case 'run':
- case 'edit':
- case 'viewOutput':
- if (v_oOpenSpec.urlMap.isNew || !isReport_ish( v_oOpenSpec.urlMap.cmProperties )) {
- v_sAction = v_oOpenSpec.glassContext.hasCapability(v_sCreateType == 'dataSet2' ? 'canUseMyDataSets' : 'canUseReportStudio') ? 'edit' : 'none';
- }
- if (v_sAction == 'edit' && (sObjectType == 'query' || sObjectType == 'analysis') && v_bAllowLegacy)
- {
-
-
- v_sAction = (LegacyUtils.canUseLegacyTool( v_oOpenSpec.glassContext, sObjectType == 'query' ? 'QueryStudio' : 'AnalysisStudio')) ? 'legacy' : 'run';
- }
- break;
- case 'default':
- case undefined:
-
- v_sAction = determineDefaultAction(v_oOpenSpec.actionId, v_oOpenSpec.urlMap.cmProperties, v_oOpenSpec.glassContext, v_oOpenSpec.urlMap);
- v_oOpenSpec.defaultAction = true;
- break;
- default:
-
- v_sAction = null;
- }
- }
- v_oOpenSpec.urlMap.action = v_sAction;
- }
-
- function prepareUrlMap(v_oOpenSpec, v_oCmProperties) {
-
-
- var urlMap = v_oOpenSpec.urlMap || {};
- rsCommon.convertStringQSToValues(urlMap, v_oOpenSpec.glassContext, v_oOpenSpec.trimURLParameterValues);
- var dataset = false;
- switch (v_oOpenSpec.actionId)
- {
- case "com.ibm.bi.datasets.createDataSetFromModule":
- case "com.ibm.bi.datasets.createDataSetFromPackage":
- urlMap.startingTemplate = "DatasetList";
- dataset = true;
- urlMap.isNew = true;
- break;
- case "com.ibm.bi.contentApps.defaultAction.dataSet2":
- case "com.ibm.bi.datasets.editDataset":
- dataset = true;
- break;
- case "com.ibm.bi.authoring.createReportFromModule":
- case "com.ibm.bi.authoring.createReportFromPackage":
- urlMap.isNew = true;
- break;
- default:
-
- dataset = isDataSet2(v_oCmProperties) || (!v_oCmProperties && urlMap.perspective == 'datasets');
-
- urlMap.isNew = !isReport_ish( v_oCmProperties );
- break;
- }
- loadCmProperties( urlMap, v_oCmProperties );
- urlMap.isApplication = isActiveReport(v_oCmProperties);
- if (!urlMap.perspective && dataset)
- {
-
-
- urlMap.perspective = 'datasets';
- }
- urlMap.UIProfile = urlMap.perspective == 'datasets' ? "TitanDataset" : "Titan";
- rsCommon.decodeAndMoveRSOptions(urlMap);
- v_oOpenSpec.urlMap = urlMap;
- determineAction(v_oOpenSpec);
- return v_oOpenSpec;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- function convertToObjectFromCmOptionsArray(aCmOptions) {
- if (!aCmOptions || !Array.isArray(aCmOptions))
- {
- return aCmOptions;
- }
- var oReturn = {};
- aCmOptions.forEach(function(oOption){
- if (typeof oReturn[oOption.name] === 'undefined')
- {
- oReturn[oOption.name] = oOption.value;
- }
- else if (Array.isArray(oReturn[oOption.name]))
- {
- oReturn[oOption.name].push( oOption.value);
- }
- else
- {
-
-
-
- oReturn[oOption.name] = [oReturn[oOption.name], oOption.value];
- }
- });
- return oReturn;
- }
- function convertCmOptionsToSimpleArray(cmProperties) {
-
- cmProperties.options = convertToObjectFromCmOptionsArray(cmProperties.options);
-
- if (cmProperties.base && cmProperties.base.length > 0 && cmProperties.base[0])
- {
- cmProperties.base[0].options = convertToObjectFromCmOptionsArray( cmProperties.base[0].options );
- }
- }
- function getCMInfoForOpen( cmProperties, v_aProperties, glassContext ) {
-
- var deferred = Q.defer();
- var v_sReportViewUrl = 'v1/objects/' + cmProperties.id;
- var v_aFields = [];
- v_aProperties.forEach(function(v_sField){
- v_aFields.push(v_sField);
- });
- v_aFields.join(',');
- var v_sReportViewPropsUrl = v_sReportViewUrl.concat('?fields=', v_aFields.join(','));
- glassContext.services.ajax.ajax({
- url: v_sReportViewPropsUrl,
- type: 'GET',
- dataType: 'json'
- })
- .fail( function(err){
- console.log('rsOpenHelper.getCMInfo ... FAILED');
- deferred.reject(err);
- })
- .done( function(resp){
- if (! resp || ! resp.data || resp.data.length <= 0 )
- {
- rsCommon.reject( deferred, 'unexpected response', 'rsOpenHelper.getCMInfoForOpen' );
- return;
- }
- var v_oData = resp.data[0];
- convertCmOptionsToSimpleArray(v_oData);
- convertCmOptionsToSimpleArray(cmProperties);
-
- var v_oCurrentCmProperties = cmProperties;
- for (var v_sProperty in v_oCurrentCmProperties)
- {
- if (v_oCurrentCmProperties.hasOwnProperty(v_sProperty) && v_oData[v_sProperty] == undefined) {
- v_oData[v_sProperty] = v_oCurrentCmProperties[v_sProperty];
- }
- }
-
- deferred.resolve( v_oData );
- });
- return deferred.promise;
- }
- function f_determineMissingProperties( v_aProperties, v_oCmProperties )
- {
- var v_aMissingProperties= [];
-
-
- var len = v_aProperties.length;
- for ( var i = 0; i < len; ++i ) {
- var v_sProperty = v_aProperties[i];
- if (typeof v_oCmProperties[v_sProperty] == 'undefined') {
- v_aMissingProperties.push( v_sProperty );
- }
- }
-
- return v_aMissingProperties;
- }
-
- var m_aProperties = [
- 'ancestors',
- 'defaultDescription',
- 'defaultName',
- 'defaultPortalAction',
- 'id',
- 'modificationTime',
- 'options',
- 'owner',
- 'parent',
- 'permissions',
- 'routingServerGroup',
- 'runInAdvancedViewer',
- 'searchPath',
- 'format',
- 'type'
- ];
-
- var m_aOutputProperties = [
- 'ancestors',
- 'dataDescriptor',
- 'defaultName',
- 'burstKey',
- 'id',
- 'modificationTime',
- 'owner',
- 'parent',
- 'permissions',
- 'searchPath',
- 'type',
- 'format',
- 'locale',
- 'lastPage'
- ];
- var m_aReportVersionProperties = [
- 'decoratedSpecification',
- 'id',
- 'parent'
- ];
- function extractProperties( v_aPropertiesSpec, type )
- {
- var v_aProperties;
- if (v_aPropertiesSpec) {
- v_aProperties = [];
- for (var idx = 0; idx < v_aPropertiesSpec.length; ++idx) {
- if (!type || !v_aPropertiesSpec[idx].type || v_aPropertiesSpec[idx].type.includes(type)) {
- v_aProperties.push(v_aPropertiesSpec[idx].property);
- }
- }
- }
- return v_aProperties;
- }
-
- function retreiveCMInfo(v_oCmProperties, glassContext, v_aPropertiesSpec) {
-
- var deferred = Q.defer();
-
- if (v_oCmProperties && v_oCmProperties.id && !v_oCmProperties.type) {
-
- return getType(v_oCmProperties.id, glassContext)
- .then(function(v_sType){
- v_oCmProperties.type = v_sType;
- return retreiveCMInfo(v_oCmProperties, glassContext, v_aPropertiesSpec);
- });
- }
-
- switch (v_oCmProperties ? v_oCmProperties.type : "none")
- {
- case undefined:
- rsCommon.reject( deferred, 'Missing properties or id', 'rsOpenHelper.retreiveCMInfo' );
- break;
- case "none":
- deferred.resolve(undefined);
- break;
- case 'output':
- var v_aRequestProperties = f_determineMissingProperties( extractProperties(v_aPropertiesSpec, 'output') || m_aOutputProperties, v_oCmProperties );
- getCMInfoForOpen( v_oCmProperties, v_aRequestProperties, glassContext )
- .then( function( v_oOutput ) {
- if (v_aPropertiesSpec) {
- deferred.resolve(v_oOutput);
- }
- else {
-
- var v_oCmProperties = { id: v_oOutput.parent[0].id };
- getCMInfoForOpen( v_oCmProperties, m_aReportVersionProperties, glassContext )
- .then( function( v_oVersion ) {
- v_oOutput.parent[0] = v_oVersion;
-
-
-
- var v_oCmProperties = { id: v_oVersion.parent[0].id };
- getCMInfoForOpen( v_oCmProperties, ['id', 'defaultName', 'type', 'base.type'], glassContext )
- .then( function(v_oReport) {
- v_oVersion.parent[0] = v_oReport;
- deferred.resolve(v_oOutput);
- });
- });
- }
- })
- .catch( function(err){
- console.log('rsOpenHelper.retreiveCMInfo ... FAILED');
- deferred.reject(err);
- });
- break;
- case 'reportVersion':
- var v_aRequestProperties = f_determineMissingProperties( extractProperties(v_aPropertiesSpec, 'reportVersion') || m_aReportVersionProperties, v_oCmProperties );
- getCMInfoForOpen( v_oCmProperties, v_aRequestProperties, glassContext )
- .then( function( v_oVersion ) {
- if (v_aPropertiesSpec) {
- deferred.resolve(v_oVersion);
- }
- else {
-
-
-
- var v_oCmProperties = { id: v_oVersion.parent[0].id };
- getCMInfoForOpen( v_oCmProperties, ['id', 'defaultName', 'type', 'base.type'], glassContext )
- .then( function(v_oReport) {
- v_oVersion.parent[0] = v_oReport;
- deferred.resolve(v_oVersion);
- });
- }
- })
- .catch( function(err){
- console.log('rsOpenHelper.retreiveCMInfo ... FAILED');
- deferred.reject(err);
- });
- break;
- case 'report':
- case 'reportView':
- case 'reportTemplate':
- case 'interactiveReport':
- case 'dataSet2':
- case 'query':
- case 'analysis':
- var v_aRequestProperties = f_determineMissingProperties( extractProperties(v_aPropertiesSpec, 'report') || m_aProperties, v_oCmProperties );
- var v_bNeedBase = !v_aPropertiesSpec && v_oCmProperties.type == 'reportView';
- if (v_bNeedBase) {
-
- var l = v_aRequestProperties.length;
- for (var i = 0; i < l; ++i)
- {
- v_aRequestProperties.push( 'base.' + v_aRequestProperties[i] );
- }
- }
- else if (v_oCmProperties.type == 'report' &&
- !(v_oCmProperties.metadataModelPackage && v_oCmProperties.metadataModelPackage[0] && v_oCmProperties.metadataModelPackage[0].effectiveUserCapabilities)) {
- v_aRequestProperties.push( 'metadataModelPackage.effectiveUserCapabilities' );
- }
- if (v_aRequestProperties.length > 0)
- {
- getCMInfoForOpen( v_oCmProperties, v_aRequestProperties, glassContext )
- .catch( function(err){
- console.log('rsOpenHelper.retreiveCMInfo ... FAILED');
- deferred.reject(err);
- })
- .then(function(v_oUpdatedCmProperties) {
-
- deferred.resolve(v_oUpdatedCmProperties);
- });
- }
- else
- {
-
-
- deferred.resolve(v_oCmProperties);
- }
- break;
- default:
-
- var v_aRequestProperties = f_determineMissingProperties( extractProperties(v_aPropertiesSpec, null) || ['type', 'searchPath'], v_oCmProperties );
- if (v_aRequestProperties.length > 0)
- {
- getCMInfoForOpen( v_oCmProperties, v_aRequestProperties, glassContext )
- .catch( function(err){
- console.log('rsOpenHelper.retreiveCMInfo ... FAILED');
- deferred.reject(err);
- })
- .then(function(v_oUpdatedCmProperties) {
-
- deferred.resolve(v_oUpdatedCmProperties);
- });
- }
- else
- {
-
-
- deferred.resolve(v_oCmProperties);
- }
- }
- return deferred.promise;
- }
-
- function isOutputFormatSupportedInAdvancedViewer(v_sOutputFormat) {
- return ['HTML', 'PDF', 'spreadsheetML', 'xlsxData', 'CSV', 'XML'].indexOf(v_sOutputFormat) !== -1;
- }
- function isOutputForDownload(v_sOutputFormat) {
- return ['spreadsheetML', 'xlsxData', 'CSV', 'XML'].indexOf(v_sOutputFormat) !== -1;
- }
- function getValueFromFieldIfDefined(v_o, v_sField)
- {
- if (!v_o)
- {
- return;
- }
-
-
-
- if (typeof v_o[v_sField] === 'undefined' || v_o[v_sField] === null)
- {
- return;
- }
- return {value: v_o[v_sField]};
- }
- function getFirstValueFromArrayFieldIfDefined(v_o, v_sField)
- {
- var o = getValueFromFieldIfDefined(v_o, v_sField);
- if (!o)
- {
- return;
- }
- var a = o.value;
- if (a.length < 1)
- {
- return;
- }
-
- return {value: (Array.isArray(a) ? a[0]: a)};
- }
-
- function determineRunInAdvancedViewer(v_oProperties) {
- var o = getValueFromFieldIfDefined(v_oProperties, "runInAdvancedViewer");
- return o ? o.value : false;
- }
- function consolidateRunInAdvancedViewer(v_oOpenSpec, v_sFormat) {
-
-
-
-
-
-
-
- var v_bRunInAdvancedViewer = false;
- var v_oProperties = v_oOpenSpec.launchSpec.cmProperties;
- if (determineRunInAdvancedViewer( v_oProperties.base && v_oProperties.base[0] ) || determineRunInAdvancedViewer( v_oProperties ))
- {
- v_bRunInAdvancedViewer = true;
- }
- if ( v_bRunInAdvancedViewer && v_sFormat && ! isOutputFormatSupportedInAdvancedViewer(v_sFormat))
- {
- v_bRunInAdvancedViewer = false;
- }
- return v_bRunInAdvancedViewer;
- }
- function isRunInAdvancedViewer(v_oOpenSpec, v_sFormat) {
-
-
-
-
-
-
-
- var v_bRunInAdvancedViewer = false;
- var v_oCmProperties = v_oOpenSpec.urlMap.cmProperties;
- if ((v_oCmProperties && v_oCmProperties.base) ? determineRunInAdvancedViewer( v_oCmProperties.base[0] ) : determineRunInAdvancedViewer( v_oCmProperties ))
- {
- v_bRunInAdvancedViewer = true;
- }
- if ( v_bRunInAdvancedViewer && v_sFormat && ! isOutputFormatSupportedInAdvancedViewer(v_sFormat))
- {
- v_bRunInAdvancedViewer = false;
- }
- return v_bRunInAdvancedViewer;
- }
-
-
-
-
-
-
-
-
-
-
-
- function consolidateAndReconcileRunOptions(v_oOpenSpec) {
- var urlMap = v_oOpenSpec.urlMap;
- var v_oCmBaseProperties = (urlMap.cmProperties && urlMap.cmProperties.base) ? urlMap.cmProperties.base[0] : null;
- var v_oCmProperties = urlMap.cmProperties || {};
- var v_oPreferences = v_oOpenSpec.glassContext.services.userProfile.preferences;
-
- if (urlMap.format == undefined) {
- var v_sFormat = v_oPreferences.format;
- var o = getFirstValueFromArrayFieldIfDefined(v_oCmBaseProperties && v_oCmBaseProperties.options, "outputFormat");
- if (o)
- {
- v_sFormat = o.value || v_sFormat;
- }
- o = getFirstValueFromArrayFieldIfDefined(v_oCmProperties.options, "outputFormat");
- if (o)
- {
- v_sFormat = o.value || v_sFormat;
- }
- if (isActiveReport(v_oCmProperties) || !rsCommon.isOutputFormatAllowed(v_sFormat, v_oOpenSpec.glassContext))
- {
-
- v_sFormat = 'HTML';
- }
- o = getValueFromFieldIfDefined(v_oOpenSpec.runOptions, "format");
- if (o)
- {
- v_sFormat = o.value || v_sFormat;
- }
-
- urlMap.format = v_sFormat;
- }
-
-
- if (urlMap.a11y == undefined) {
- var v_bA11y = v_oPreferences.accessibilityFeatures;
- var o = getValueFromFieldIfDefined(v_oCmBaseProperties && v_oCmBaseProperties.options, "http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures");
- if (o)
- {
- v_bA11y = o.value || v_bA11y;
- }
- o = getValueFromFieldIfDefined(v_oCmProperties.options, "http://developer.cognos.com/ceba/constants/systemOptionEnum#accessibilityFeatures");
- if (o)
- {
- v_bA11y = o.value || v_bA11y;
- }
- urlMap.a11y = v_bA11y;
- }
-
- if (urlMap.bidi == undefined) {
- urlMap.bidi = v_oPreferences.biDirectionalFeaturesEnabled;
- }
- urlMap.Download = isOutputForDownload(urlMap.format) ? "true" : "false";
-
- if (urlMap.prompt == undefined) {
- var v_bPrompt;
- o = getValueFromFieldIfDefined(v_oCmBaseProperties && v_oCmBaseProperties.options, "prompt");
- if (o)
- {
- v_bPrompt = o.value;
- }
- o = getValueFromFieldIfDefined(v_oCmProperties.options, "prompt");
- if (o)
- {
- v_bPrompt = o.value;
- }
-
- o = (urlMap.m_oLaunchParameters && urlMap.m_oLaunchParameters.RunOptions) ? getValueFromFieldIfDefined(urlMap.m_oLaunchParameters.RunOptions, "Prompt") : getValueFromFieldIfDefined(urlMap, "Prompt");
- if (o)
- {
- v_bPrompt = (typeof o.value === "string") ? (o.value === "true") : !!o.value;
- }
-
- o = getValueFromFieldIfDefined(v_oOpenSpec.runOptions, "prompt");
- if (o)
- {
- v_bPrompt = o.value;
- }
- urlMap.prompt = v_bPrompt;
- }
- }
- function getActiveReportOutputURL( v_oCMProperties, v_oOutputProperties ) {
- var v_sReportId, v_sOutputId;
- if (v_oOutputProperties)
- {
- v_sReportId = v_oCMProperties.id;
- v_sOutputId = v_oOutputProperties.id;
- }
- else
- {
- if (v_oCMProperties.type == 'output')
- {
- v_sReportId = v_oCMProperties.parent[0].parent[0].id;
- v_sOutputId = v_oCMProperties.id;
- }
- else
- {
- v_sReportId = v_oCMProperties.id;
- v_sOutputId = 'default';
- }
- }
- return 'v1/disp/repository/sid/cm/rid/' + v_sReportId + '/oid/' + v_sOutputId + '/content/mht/content';
- }
-
-
- function openUrlViaForm(sHref, bNewWindow)
- {
- var v_nDrillForm;
- try
- {
- var v_sTarget = '_self';
- if (bNewWindow)
- {
- v_sTarget = 'rsTarget' + Date.now();
- if (!window.open("", v_sTarget))
- {
- return false;
- }
- }
-
- var v_aUrlParts = sHref.split("?");
-
- v_nDrillForm = document.body.appendChild(document.createElement("form"));
- v_nDrillForm.setAttribute("name", "drillForm");
- v_nDrillForm.setAttribute("method", "post");
- v_nDrillForm.setAttribute("action", decodeURIComponent(v_aUrlParts[0]));
- v_nDrillForm.setAttribute("target", v_sTarget);
- v_nDrillForm.style.display = "none";
-
- if (v_aUrlParts.length == 2)
- {
-
- var v_aParams = v_aUrlParts[1].split("&");
- for (var i = 0; i < v_aParams.length; i++)
- {
- var v_aPair = v_aParams[i].split("=");
-
- var v_nFormField = v_nDrillForm.appendChild( document.createElement("input") );
- v_nFormField.setAttribute("type", "hidden");
- v_nFormField.setAttribute("name", decodeURIComponent(v_aPair[0]));
- v_nFormField.setAttribute("value", decodeURIComponent(v_aPair[1]));
- }
- }
-
- v_nDrillForm.submit();
- }
- catch (e)
- {
-
- if (v_nDrillForm)
- {
- document.body.removeChild(v_nDrillForm);
- }
- return false;
- }
- document.body.removeChild(v_nDrillForm);
- return true;
- }
- function launchViewSavedOutputApp(v_oOpenSpec, deferred) {
- if (v_oOpenSpec.href) {
-
- openUrlViaForm( v_oOpenSpec.href, true );
- deferred.resolve();
- }
- else {
- v_oOpenSpec.glassContext.openAppView(v_oOpenSpec.urlMap.perspective, {content: v_oOpenSpec.urlMap } )
- .then( function() {
- deferred.resolve();
- });
- }
- }
-
-
- function launchEditOrRunApp(v_oOpenSpec, deferred) {
- var urlMap = v_oOpenSpec.urlMap;
- if (urlMap.action == 'run' && urlMap.isApplication && urlMap.perspective == "classicviewer")
- {
-
-
- runActiveReportInNewWindow( urlMap )
- .then( function(v_activeReportResult){
-
- deferred.resolve(v_activeReportResult);
- })
- .catch( function(err) {
- console.log('launchEditOrRunApp rejected');
- deferred.reject(err);
- });
- return deferred.promise;
- }
- if (urlMap.perspective == "authoring")
- {
- var v_oRSParameters = rsCommon.createRSParameters(urlMap, v_oOpenSpec.glassContext);
- var v_oIFrameTemplateParameters = rsCommon.createTemplateParameters(v_oRSParameters);
- urlMap.launchPromise = rsIFrameManager.F_LaunchRS(v_oIFrameTemplateParameters, v_oOpenSpec.glassContext);
-
- urlMap.m_oRSParameters = v_oRSParameters;
- }
-
-
- v_oOpenSpec.glassContext.openAppView(urlMap.perspective, {content: urlMap } )
- .fail(function(err){
- console.log(' rsOpenHelper.launchEditOrRunApp - openingAppView ... FAILED');
- deferred.reject(err);
- })
- .done( function(v_oResult){
-
- deferred.resolve(v_oResult);
- });
- }
- function launchApp(v_oOpenSpec) {
-
- var deferred = Q.defer();
- switch (v_oOpenSpec.urlMap.action)
- {
- case 'none':
-
- v_oOpenSpec.glassContext.showToast(StringResource.get('no_action_available'), {'type':'warning', 'btnLabel':'OK'});
- deferred.resolve();
- break;
- case 'viewOutput':
- launchViewSavedOutputApp(v_oOpenSpec, deferred);
- break;
- case 'run':
- case 'edit':
- launchEditOrRunApp(v_oOpenSpec, deferred);
- break;
- case 'legacy':
- var v_sLaunchUrl = getLegacyLaunchUrl( v_oOpenSpec );
- if (!openUrlViaForm( v_sLaunchUrl, true ))
- {
- rsCommon.reject( deferred, 'Could not launch a new tab.', 'rsOpenHelper.launchApp' );
- }
- else
- {
- deferred.resolve();
- }
- break;
- default:
- rsCommon.reject( deferred, 'Unexpected action ' + v_oOpenSpec.urlMap.action + '.', 'rsOpenHelper.launchApp' );
- }
- return deferred.promise;
- }
- function getSavedOutput(v_oGlassContext, v_oCmProperties, format, contentLocale)
- {
- if (v_oCmProperties.type == 'output')
- {
-
- return Q.resolve( v_oCmProperties );
- }
-
- return v_oGlassContext.getSvc('.Content')
- .then(function(v_oContentSvc) {
-
- var v_sFormatHint = '"' + (format || '') + '"';
- var v_sLocaleHint = '"' + (contentLocale || '') + '"';
- var v_sSearchPath = 'defaultOutput(storeID("' + v_oCmProperties.id + '"),' + v_sFormatHint + ',' + v_sLocaleHint + ')';
- var v_sCMQueryUrl = v_oContentSvc.getSearchPathUrl( v_sSearchPath ) + '&fields=dataDescriptor,parent,locale,format,permissions,ancestors,lastPage';
- return v_oContentSvc.get(v_sCMQueryUrl, {})
- .then(function( v_oSavedOutputResp ){
- if (v_oSavedOutputResp && v_oSavedOutputResp.data && v_oSavedOutputResp.data.length > 0)
- {
- var v_oOutput = v_oSavedOutputResp.data[0];
- if (v_oCmProperties.type == 'reportVersion') {
-
- v_oOutput.parent[0] = v_oCmProperties;
- return v_oOutput;
- }
-
- var v_sCMQueryUrl = v_oContentSvc.getBaseObjectsURL() + '/' + v_oOutput.parent[0].id + '?fields=decoratedSpecification,id,parent';
- return v_oContentSvc.get(v_sCMQueryUrl, {})
- .then(function(v_oVersionResponse){
- var v_oVersion = v_oVersionResponse.data[0];
- v_oVersion.parent[0] = v_oCmProperties;
- v_oOutput.parent[0] = v_oVersion;
- return v_oOutput;
- });
- }
- return null;
- });
- });
- }
- function resolveUrlMapForSavedOutput(v_oOpenSpec)
- {
- if (!v_oOpenSpec.urlMap.action) {
- return Q.reject();
- }
- if (v_oOpenSpec.urlMap.action != 'viewOutput') {
- return Q.resolve(v_oOpenSpec);
- }
- return getSavedOutput( v_oOpenSpec.glassContext, v_oOpenSpec.urlMap.cmProperties, v_oOpenSpec.urlMap.format, v_oOpenSpec.urlMap.contentLocale )
- .fail( function(err) {
-
- return Q.resolve(null);
- })
- .then(function(v_oOutput) {
- if (v_oOutput && v_oOutput.type == 'output' && v_oOutput.format != 'dataSet')
- {
- var v_bActiveReport = isActiveReport(v_oOutput);
- var v_sActiveReportOutputHref = v_bActiveReport ? getActiveReportOutputURL( v_oOutput ) : null;
- if (v_sActiveReportOutputHref && (!v_oOutput.dataDescriptor || v_oOutput.dataDescriptor.type != "interactive")) {
-
-
- v_oOpenSpec.href = v_sActiveReportOutputHref;
- return Q.resolve( v_oOpenSpec );
- }
- var v_oUrlMap = v_oOpenSpec.urlMap;
-
-
- return rsCommon.getAvailableOutputs(v_oOpenSpec.glassContext, v_oOutput)
- .then(function(v_oSavedOutputFormats) {
- if (!v_oSavedOutputFormats || !v_oSavedOutputFormats.data || v_oSavedOutputFormats.data.length <= 0)
- {
- return Q.reject(new Error('unexpected response for rsCommon.getAvailableOutputs'));
- }
- v_oUrlMap.perspective = 'classicviewer';
- if ((v_oOutput.dataDescriptor && v_oOutput.dataDescriptor.type == "interactive") || v_oOutput.format == 'PDF')
- {
-
- v_oUrlMap.perspective = 'authoring';
- v_oUrlMap.outputSpec = v_oOutput.parent[0].decoratedSpecification;
- }
-
- if ( v_oOpenSpec.glassContext.isEmbedded() ) {
- v_oUrlMap.perspective += '_embedded';
- }
-
- if (!v_bActiveReport)
- {
- v_oUrlMap.format = v_oOutput.format || v_oUrlMap.format;
- }
- else
- {
-
- delete v_oUrlMap.format;
- }
-
- var v_oOutputLookup = {};
- for (var i = 0; i < v_oSavedOutputFormats.data.length; ++i)
- {
- var v_oAltOutput = v_oSavedOutputFormats.data[i];
- if (v_oAltOutput.locale == v_oOutput.locale)
- {
- v_oOutputLookup[v_oAltOutput.format] = v_oAltOutput;
- }
- }
- v_oUrlMap.outputFormatLookup = v_oOutputLookup;
- v_oUrlMap.reportProperties = {
- id : v_oOutput.parent[0].parent[0].id,
- type : v_oOutput.parent[0].parent[0].type
- };
- loadCmProperties( v_oUrlMap, v_oOutput );
- v_oUrlMap.objRef = v_oOutput.id;
- delete v_oUrlMap.pathRef;
- return Q.resolve(v_oOpenSpec);
- });
- }
- else
- {
-
- var v_aPermissions = v_oOpenSpec.urlMap.cmProperties.permissions;
- var v_sCmType = v_oOpenSpec.urlMap.cmProperties.type;
- switch (v_sCmType)
- {
- case 'query':
- case 'analysis':
- if (v_aPermissions.indexOf("execute") != -1)
- {
-
-
- var v_bRead = v_aPermissions.indexOf("read") != -1;
- var v_bCapability = v_oOpenSpec.glassContext.hasCapability( v_sCmType == 'query' ? 'canUseQueryStudio' : 'canUseAnalysisStudio' );
- var v_bTool = LegacyUtils.canUseLegacyTool( v_oOpenSpec.glassContext, v_sCmType == 'query' ? 'QueryStudio' : 'AnalysisStudio');
- v_oOpenSpec.urlMap.action = (v_bRead && v_bCapability && v_bTool) ? 'legacy' : 'run';
- }
- else
- {
-
- v_oOpenSpec.urlMap.action = 'none';
- }
- break;
- default:
-
- v_oOpenSpec.urlMap.action = 'none';
- if (v_aPermissions.indexOf("execute") != -1 && v_oOpenSpec.glassContext.hasCapability('canUseCognosViewer'))
- {
-
- v_oOpenSpec.urlMap.action = 'run';
- }
-
- if (v_oOpenSpec.urlMap.action == 'none' && v_oOpenSpec.defaultAction && v_aPermissions.indexOf("read") != -1 && v_oOpenSpec.glassContext.hasCapability('canUseReportStudio'))
- {
- v_oOpenSpec.urlMap.action = 'edit';
- }
- }
- return Q.resolve(v_oOpenSpec);
- }
- });
- }
- function resolveUrlMapForEditRun(v_oOpenSpec)
- {
- if (v_oOpenSpec.urlMap.action == 'viewOutput')
- {
- return Q.resolve(v_oOpenSpec);
- }
- if (!v_oOpenSpec.urlMap.perspective) {
- if (isDataSet2(v_oOpenSpec.urlMap.cmProperties))
- {
- v_oOpenSpec.urlMap.perspective = 'datasets';
- }
- else
- {
- var v_bRunInAdvancedViewer = isRunInAdvancedViewer(v_oOpenSpec, v_oOpenSpec.urlMap.format);
-
-
- v_oOpenSpec.urlMap.perspective = (v_bRunInAdvancedViewer || v_oOpenSpec.urlMap.action == 'edit') ? 'authoring' : 'classicviewer';
- }
- }
- if ( v_oOpenSpec.glassContext.isEmbedded() ) {
- v_oOpenSpec.urlMap.perspective += '_embedded';
- }
- consolidateAndReconcileRunOptions(v_oOpenSpec);
- return Q.resolve(v_oOpenSpec);
- }
- function resolveUrlMap(v_oOpenSpec)
- {
- return retreiveCMInfo(v_oOpenSpec.cmProperties, v_oOpenSpec.glassContext)
- .then(prepareUrlMap.bind(null, v_oOpenSpec))
- .then(resolveUrlMapForSavedOutput)
- .then(resolveUrlMapForEditRun)
- .then(function(v_oResolvedSpec) {
- v_oResolvedSpec.urlMap.rsResolved = true;
- return v_oResolvedSpec;
- });
- }
-
- function processHref( sHref, deferred, glassContext )
- {
- var v_oPerspective;
- var v_oCurrentContentView = (glassContext && glassContext.currentAppView) ? glassContext.currentAppView.currentContentView : null;
- if (v_oCurrentContentView)
- {
-
- v_oPerspective = {
- perspective: v_oCurrentContentView.perspective,
- id: v_oCurrentContentView.id
- };
-
- if (!openUrlViaForm(sHref, true))
- {
- rsCommon.reject( deferred, 'Could not launch a new tab.', 'rsOpenHelper.processHref' );
- return;
- }
- }
- else {
-
- v_oPerspective = {perspective: 'home'};
-
- openUrlViaForm(sHref, false);
- }
- deferred.resolve( v_oPerspective );
- }
- return {
- isReport_ish: isReport_ish,
-
- openView: function( v_oOpenSpec ) {
-
- var deferred = Q.defer();
- resolveUrlMap( v_oOpenSpec )
- .then(launchApp)
- .catch( function(err){
- console.log('rsOpenHelper.openView ... FAILED');
- deferred.reject(err);
- }).done( function(v_oLaunchResult){
-
- deferred.resolve(v_oLaunchResult);
- });
- return deferred.promise;
- },
- retrieveCmProperties: function (v_oGlassContext, v_oCmProperties, v_sStoreId) {
- var deferred = Q.defer();
- if (v_sStoreId) {
-
- if (!v_oCmProperties) {
- v_oCmProperties = {};
- }
- if (!v_oCmProperties.id) {
- v_oCmProperties.id = v_sStoreId;
- }
-
- if (v_oCmProperties.id != v_sStoreId) {
-
- v_oCmProperties.id = v_sStoreId;
- }
-
- retreiveCMInfo(v_oCmProperties, v_oGlassContext)
- .done(function (cmProperties) {
- deferred.resolve(cmProperties);
- });
- }
- else {
- deferred.resolve(v_oCmProperties);
- }
- return deferred.promise;
- },
-
- getPerspective: function(v_oOpenSpec) {
- var deferred = Q.defer();
- if (v_oOpenSpec.urlMap)
- {
- v_oOpenSpec.glassContext.getCoreSvc('.Config').getConfigValue('RS.TrimURLParameterValues')
- .done(function(result){
-
- v_oOpenSpec.trimURLParameterValues = result === 'true';
- resolveUrlMap(v_oOpenSpec)
- .catch( function(err) {
- console.log('rsOpenHelper.getPerspective ... FAILED');
- deferred.reject(err);
- }).done( function(v_oOpenSpecResolved) {
- if (!v_oOpenSpecResolved) {
-
- deferred.reject();
- }
- else
- {
- if (v_oOpenSpecResolved.urlMap && v_oOpenSpecResolved.urlMap.action == 'legacy')
- {
- if (v_oOpenSpec.urlMap.launchParametersKey)
- {
- var v_oLaunchParameters = rsLaunchParameters.Retrieve(v_oOpenSpec.urlMap.launchParametersKey);
- delete v_oOpenSpec.urlMap.launchParametersKey;
- $.extend(true, v_oOpenSpec.urlMap, v_oLaunchParameters);
- }
-
- processHref( getLegacyLaunchUrl( v_oOpenSpec ), deferred, v_oOpenSpec.glassContext );
- }
- else if (v_oOpenSpecResolved.href) {
- processHref( v_oOpenSpecResolved.href, deferred );
- }
- else {
- deferred.resolve(v_oOpenSpecResolved.urlMap);
- }
- }
- });
- }.bind(this));
- }
- else
- {
- rsCommon.reject( deferred, 'urlMap is missing', 'rsOpenHelper.getPerspective' );
- }
- return deferred.promise;
- },
- determineDefaultAction: determineDefaultAction,
- resolveUrlMap: resolveUrlMap,
- updateCmProperties: function (v_oView, v_sStoreId) {
-
- delete v_oView.cmProperties;
- delete v_oView.reportProperties;
- return this.retrieveCmProperties( v_oView.glassContext, null, v_sStoreId )
- .then( function( v_oCmProperties ) {
- v_oView.cmProperties = v_oCmProperties;
- v_oView.id = v_oCmProperties.id;
- v_oView.type = v_oCmProperties.type;
- var v_oBaseReport;
- switch (v_oCmProperties.type) {
- case 'output':
- v_oBaseReport = v_oCmProperties.parent[0].parent[0];
- break;
- case 'reportVersion':
- v_oBaseReport = v_oCmProperties.parent[0];
- break;
- }
- if (v_oBaseReport) {
- v_oView.reportProperties = {
- id : v_oBaseReport.id,
- type : v_oBaseReport.type
- };
- }
- }.bind(this));
- },
-
-
-
- retreiveCMInfo: retreiveCMInfo
- };
- });
|