'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * Licensed Materials - Property of IBM * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* global FormData */ define(['dashboard-analytics/widgets/livewidget/nls/StringResources', '../../../util/VidaSdkUtil', '../../../visualizations/vipr/VIPRLibraries', '../../../visualizations/vipr/VIPR', '../../../lib/@waca/dashboard-common/dist/api/Error'], function (StringResources, VidaSdkUtil, VIPRLibraries, VIPR, APIError) { return function () { function VisUtil() { _classCallCheck(this, VisUtil); } VisUtil.validateVisDefinition = function validateVisDefinition(content, dashboard) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var definition = content.getFeature('Visualization').getDefinition(); var visId = definition ? definition.getId() : options.visId; var isSystemVis = definition && VIPRLibraries.isSystemLib(definition.getId(), VIPR.getSystemLibIds()); if (isSystemVis) { return Promise.resolve(true); } var contentState = content.getFeature('state.internal'); //First clear previous error load definition first before validate again to pick up the latest definition state cached in the user session if (contentState) { var error = contentState.getError(); if (error && error.getParams) { var params = error.getParams() || {}; if (params.errorInfo && params.errorInfo.errorCode === VIPRLibraries.LOAD_DEFINITION_ERROR) { contentState.clearError(); } } } if (visId === 'visualizationPreview') { return VidaSdkUtil.isSDKActive(dashboard).then(function (isActive) { if (!isActive) { VisUtil._setError(contentState, visId); } return isActive; }); } else { var definitionError = definition.getState().getError(); if (!definitionError) { return Promise.resolve(true); } else { VisUtil._setError(contentState, visId, definitionError); return Promise.resolve(false); } } }; VisUtil._setError = function _setError(stateAPI, visId, error) { if (stateAPI) { var errorToSet = error instanceof APIError ? error : VisUtil.createVisDefinitionLoadingError(visId); stateAPI.setError(errorToSet); } }; VisUtil.createVisDefinitionLoadingError = function createVisDefinitionLoadingError(visId) { var msg = StringResources.get('loadVisDefinitionError', { id: visId }); return new APIError({ msg: msg, params: { errorInfo: { id: visId, errorCode: VIPRLibraries.LOAD_DEFINITION_ERROR, errorMessage: msg } } }); }; return VisUtil; }(); }); //# sourceMappingURL=VisUtil.js.map