| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 | 'use strict';function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }/*  *+------------------------------------------------------------------------+  *| Licensed Materials - Property of IBM  *| IBM Cognos Products: Dashboard  *| (C) Copyright IBM Corp. 2018, 2021  *|  *| US Government Users Restricted Rights - Use, duplication or disclosure  *| restricted by GSA ADP Schedule Contract with IBM Corp.  *+------------------------------------------------------------------------+  *//**  * @class LiveWidgetPreview  *  * @classdesc Live widget preview class that is used to create and control a live widget instance without tying it to a specific dashboard canvas.	* This class is used to render a visualization anywhere in the user interface and not necessarily inside of a dashboard.  * Each live widget instance correspands to a rendered instance of the live widget	*  * @example  * // Create an instance of the LiveWidgetAPI by providing :	*  1 - The node where the content will render. The visualization will be maximized to fit the size of the given node.	*  2 - The glass context	*  3 - the live widget spec. This could be a complete or partial spec with just the data section and/or filters.	*      Any missing parts will be filled by the viz recommender (e.g. mappings, vizType)	*	* // Example #1 - the dataView contains a modelRef that is referencing an existing source in the currently opened dashboard application  * let LiveWidget = new LiveWidgetAPI({  * 	node: document.getElementById('containerDivId'),  * 	glassContext: this.glassContext,	*   spec: {  *     "data": {  *              "dataViews": [  *                  {  *                      "modelRef": "model000001610f7b9e74_00000002",  *                      "dataItems": [  *                          {  *                              "itemId": "HollywoodMovies_xls.Year_",  *  *                            },  *                          {  *                              "itemId": "HollywoodMovies_xls.Rotten_Tomatoes"  *                          }  *                      ]  *                  }  *              ]  *          }  *      }  * });  *	*	* // Example #2 - the dataView contains a model with an assetID (ContentManager id) that is referencing a module ID.	*    The model type is also needed. It could be either "uploadedFile", "module" or "package"  * let LiveWidget = new LiveWidgetAPI({  * 	node: document.getElementById('containerDivId'),  * 	glassContext: this.glassContext,	*   spec: {  *     "data": {  *              "dataViews": [  *                  {  *                      "model":{  *                      		"assetId": "iB3884FE9ACF64BD2B8F0879A8C34B978",  *                      		"type": "uploadedFile"  *                      }  *                      "dataItems": [  *                          {  *                              "itemId": "HollywoodMovies_xls.Year_",  *  *                            },  *                          {  *                              "itemId": "HollywoodMovies_xls.Rotten_Tomatoes"  *                          }  *                      ]  *                  }  *              ]  *          }  *      }  * });	*	*  * // Render the live widget instance after creation. The content will be rendered in the given node.  * liveWidget.render();	*	*  */define(['./error/ErrorView', 'jquery', 'underscore', '../lib/@waca/core-client/js/core-client/utils/BrowserUtils', '../widgets/livewidget/StandaloneLiveWidget'], function (ErrorView, $, _, BrowserUtils, StandaloneLiveWidget) {	var STATICVIEW = {		'com.ibm.vis.rave2bundletiledmap': 'dashboard-analytics/images/placeholders/map.svg'	};	var LiveWidgetPreview = function (_StandaloneLiveWidget) {		_inherits(LiveWidgetPreview, _StandaloneLiveWidget);		function LiveWidgetPreview(options) {			_classCallCheck(this, LiveWidgetPreview);			return _possibleConstructorReturn(this, _StandaloneLiveWidget.call(this, options));		}		/**   * Render the live widget preview instance.   * @function LiveWidgetAPI#render   * @return {Promise} promise that will be resolved when the render is complete or reject in the case of an error   */		LiveWidgetPreview.prototype.render = function render() {			this.contentNode = document.createElement('div');			this.contentNode.setAttribute('class', 'liveWidgetPreview');			this.contentNode.setAttribute('style', 'width:100%;height:100%; padding:0px');			this.contentNode.setAttribute('data-vis-id', this.spec.visId);			if (this._isStaticView()) {				var staticView = this._getStaticView();				this.contentNode.appendChild(staticView);				this.node.appendChild(this.contentNode);				return Promise.resolve();			} else {				var options = {					id: this.spec.id,					el: this.contentNode,					errorView: new ErrorView(),					// Disable all extra features by default					featureSet: this.featureSet || [],					interactivitySettings: this.interactivitySettings,					optimizeForSize: true,					forceDisabledThumbnail: true,					isPreview: true,					isPredictPreview: this.isPredictPreview,					predictData: this.predictData,					managesOwnQueries: this._managesOwnQueries				};				return _StandaloneLiveWidget.prototype.render.call(this, options);			}		};		LiveWidgetPreview.prototype._isStaticView = function _isStaticView() {			if (BrowserUtils.isIE() && STATICVIEW[this.spec.visId]) {				return true;			}			return false;		};		LiveWidgetPreview.prototype._getStaticView = function _getStaticView() {			var iconUrl = STATICVIEW[this.spec.visId];			if (iconUrl) {				return $('<div class="vis-icon-view-snapshot-container"><img class="snapshot" src="' + STATICVIEW[this.spec.visId] + '"></img></div>')[0];			}		};		return LiveWidgetPreview;	}(StandaloneLiveWidget);	return LiveWidgetPreview;});//# sourceMappingURL=LiveWidgetPreview.js.map
 |