1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 'use strict';
- /*
- *+------------------------------------------------------------------------+
- *| Licensed Materials - Property of IBM
- *| IBM Cognos Products: Dashboard
- *| (C) Copyright IBM Corp. 2018
- *|
- *| US Government Users Restricted Rights - Use, duplication or disclosure
- *| restricted by GSA ADP Schedule Contract with IBM Corp.
- *+------------------------------------------------------------------------+
- */
- define(['dashboard-analytics/visualizations/renderer/sequence/BaseTask', './ResultDataReader'], function (BaseTask, ResultDataReader) {
- 'use strict';
- var ResultsDataReaderTask = BaseTask.extend({
- init: function init() {
- ResultsDataReaderTask.inherited('init', this, arguments);
- this._initializeStep('resultsdatareader');
- this.resultDataReader = new ResultDataReader(this.ownerWidget.getAPI(), this.content.getFeature('Visualization'));
- },
- /**
- * The ResultsDataReader task is performed as part of the renderSequence (after data has been fetched/postProcessed)
- * process uses a ResultDataReader to read one or more DSS query results.
- * its "not stateful" (its execution is performed via one or more resultsdatareaderplugins
- * (Plugins are features that include the resultsdatareaderplugin feature tag. These features must adhere to
- * the api of a resultdatareader plugin....see ResultDataReader).
- * This task resolves immediately if no plugins are registered
- * @param renderContext - information collected by a particular call to render or reRender (such as the view, control, data etc).
- * @returns a promise which resolves with the renderContext.
- */
- process: function process(renderContext) {
- if (this._isStepComplete(renderContext, 'resultsdatareader') || !this.resultDataReader.hasPlugins()) {
- return Promise.resolve(renderContext);
- }
- return this._processQueryResults(renderContext.data, renderContext).then(function (results) {
- this._completeStep(renderContext, 'resultsdatareader', results);
- return renderContext;
- }.bind(this)).catch(function (error) {
- this.showError('dwErrorRenderingVisualization');
- throw error;
- }.bind(this));
- },
- _processQueryResults: function _processQueryResults(resultData, renderContext) {
- var _this = this;
- var useNewQueryApi = renderContext && renderContext.useAPI;
- if (!useNewQueryApi) {
- //TODO: Remove this once the queryApi flag is removed.
- return this._processQueryResults_oldQueryAPI(resultData, renderContext);
- }
- this.resultDataReader.onNewResults(resultData);
- if (resultData && resultData.getResult) {
- var promises = [];
- resultData.getQueryResultIdList().forEach(function (layerId) {
- var queryResult = resultData.getResult(layerId);
- promises = promises.concat(_this._processOneQueryResult(queryResult, layerId, renderContext));
- });
- if (promises.length) {
- return Promise.all(promises);
- }
- }
- return Promise.resolve({});
- },
- _processOneQueryResult: function _processOneQueryResult(queryResult, layerId, renderContext) {
- return this.resultDataReader.processData(queryResult, layerId, renderContext);
- },
- //TODO: Remove these functions when the queryApi flag is removed.
- _processQueryResults_oldQueryAPI: function _processQueryResults_oldQueryAPI(resultData, renderContext) {
- var _this2 = this;
- this.resultDataReader.onNewResults(resultData);
- if (resultData && resultData.getQueryResults) {
- var promises = [];
- resultData.getQueryResults().forEach(function (queryResult) {
- promises = promises.concat(_this2._processOneQueryResult_oldQueryAPI(queryResult, renderContext));
- });
- if (promises.length) {
- return Promise.all(promises);
- }
- }
- return Promise.resolve({});
- },
- _processOneQueryResult_oldQueryAPI: function _processOneQueryResult_oldQueryAPI(resultDataEntry, renderContext) {
- return this.resultDataReader.processData(resultDataEntry.data, resultDataEntry.getDataViewId && resultDataEntry.getDataViewId(), renderContext);
- }
- });
- return ResultsDataReaderTask;
- });
- //# sourceMappingURL=ResultsDataReaderTask.js.map
|