123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- 'use strict';
- /*
- *+------------------------------------------------------------------------+
- *| Licensed Materials - Property of IBM
- *| IBM Cognos Products: Dashboard
- *| (C) Copyright IBM Corp. 2017, 2019
- *|
- *| US Government Users Restricted Rights - Use, duplication or disclosure
- *| restricted by GSA ADP Schedule Contract with IBM Corp.
- *+------------------------------------------------------------------------+
- */
- define(['../../../../lib/@waca/core-client/js/core-client/ui/core/Class', '../../query/QueryService', '../../query/CommonQueryHelper', '../../../../dataSources/utils/DatasourceUtil', 'underscore'], function (Class, QueryService, CommonQueryHelper, DatasourceUtil, _) {
- 'use strict';
- /**
- * @classdesc provides public APIs to access widget metaddata.
- */
- var VisMetadataManager = Class.extend({
- /**
- * @constructs
- * @public
- * @param {Object} params - Mandatory: parameters to initialize the VisMetadataManager.
- * @param {Object} params.widgetModel - Mandatory.
- */
- init: function init(params) {
- VisMetadataManager.inherited('init', this, arguments);
- this.dashboardApi = params.dashboardApi;
- this.widgetModel = params.widgetModel;
- this.visualizationFeature = params.visualizationFeature;
- _.each(_.keys(params), function (key) {
- this[key] = params[key];
- }.bind(this));
- },
- getModule: function getModule() {
- var module = null;
- var dataSource = this.visualizationFeature.getDataSource();
- if (dataSource) {
- var deprecatedDataSources = this.dashboardApi.getFeature('dataSources.deprecated');
- if (deprecatedDataSources) {
- var legacyDataSourcesCollection = deprecatedDataSources.getSourcesCollection();
- var sourceModelAPI = legacyDataSourcesCollection.getSource(dataSource.getId());
- module = sourceModelAPI.getModuleAPI();
- }
- }
- return module;
- },
- getMetadataColumn: function getMetadataColumn(columnId, sourceId, logNotFound) {
- if (DatasourceUtil.isMultiMeasuresSeriesOrValue(columnId)) {
- return this._getMultiMeasuresSeriesMetadataColumn(columnId);
- }
- var module = this.getModule(sourceId);
- return module ? module.getMetadataColumn(columnId, logNotFound) : null;
- },
- _getMultiMeasuresSeriesMetadataColumn: function _getMultiMeasuresSeriesMetadataColumn(columnId) {
- return {
- getId: function getId() {
- return columnId;
- },
- getType: function getType() {
- return 'attribute';
- },
- isHidden: function isHidden() {
- return false;
- }
- };
- },
- /**
- * Returns an array of metadataColumn object for each dataItem in the model
- * @param {string} optViewIdx Optional
- * @return {[MetadataColumn]}
- */
- getMetadataColumns: function getMetadataColumns() {
- var metadataColumns = [];
- if (this.widgetModel && this.widgetModel.get('data')) {
- var dataItems = this.widgetModel.get('data').getDataItemsOfAllViewsAsCollection();
- if (dataItems) {
- var module = this.getModule();
- if (module) {
- dataItems.forEach(function (dataItem) {
- if (!DatasourceUtil.isMultiMeasuresSeriesOrValue(dataItem.id)) {
- var metadataColumn = module.getMetadataColumn(dataItem.itemId);
- if (metadataColumn) {
- metadataColumns.push(metadataColumn);
- } else {
- metadataColumns.push({
- status: 'notFound',
- getId: function getId() {
- return dataItem.itemId;
- },
- getLabel: function getLabel() {
- return dataItem.itemLabel;
- },
- getSourceCategory: function getSourceCategory() {
- return null;
- },
- isMissing: function isMissing() {
- return true;
- }
- });
- }
- }
- }.bind(this));
- }
- }
- }
- return metadataColumns;
- },
- destroy: function destroy() {
- VisMetadataManager.inherited('destroy', this, arguments);
- }
- });
- return VisMetadataManager;
- });
- //# sourceMappingURL=VisMetadataManager.js.map
|