123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- 'use strict';
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- /**
- * Licensed Materials - Property of IBM
- * IBM Business Analytics (C) Copyright IBM Corp. 2020
- * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- /**
- * @class LiveWidgetSegmentImpl
- * @hideconstructor
- * @classdesc
- */
- define(['../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/LiveWidgetSegmentAPI'], function (APIFactory, LiveWidgetSegmentAPI) {
- var LiveWidgetSegment = function () {
- function LiveWidgetSegment(options) {
- _classCallCheck(this, LiveWidgetSegment);
- this.dashboard = options.features['API'];
- this.visDefinitions = options.features['VisDefinitions'];
- this.logger = options.features['Logger'];
- this._api = APIFactory.createAPI(this, [LiveWidgetSegmentAPI]);
- }
- LiveWidgetSegment.prototype.getAPI = function getAPI() {
- if (!this.api) {
- this.api = APIFactory.createAPI(this, [LiveWidgetSegmentAPI]);
- }
- return this.api;
- };
- LiveWidgetSegment.prototype.track = function track() {
- var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- var supportedTrackActions = ['fromRecommendation', 'Recommended', 'Other', 'colorPalette'];
- if (supportedTrackActions.indexOf(event.category) === -1) {
- return;
- }
- var segment = this.dashboard.getFeature('segment');
- if (!segment) {
- this.logger.error('Invalid segment object');
- return;
- }
- var widgetType = event.visualization ? event.visualization.getDefinition().getLabel() : null;
- var payload = void 0,
- action = void 0;
- if (!widgetType && event.category === 'fromRecommendation') {
- // Dragged a slot to the canvas
- widgetType = event.recommendation;
- action = 'created';
- payload = {
- type: 'Created Object',
- widgetSource: 'fromRecommendation',
- details: {
- widgetSource: 'fromRecommendation',
- 'widgetType': event.recommendation
- }
- };
- } else if (event.category === 'fromRecommendation' || event.category === 'Recommended' || event.category === 'Other') {
- // Modified the type
- action = 'modified';
- // The visChangerFlyoutView passes the type or the id depending the type or id for JQGrid or Crosstabs
- var visDef = this.visDefinitions.getByType(event.info.visId) || this.visDefinitions.getById(event.info.visId) || null;
- var newWidgetType = visDef && visDef.getLabel();
- payload = {
- type: 'Updated Object',
- details: {
- 'propertyId': event.category,
- 'property.newValue': newWidgetType,
- 'property.oldValue': widgetType
- }
- };
- } else if (event.category === 'colorPalette') {
- // Modified the colorPalette property
- action = 'modified';
- payload = {
- type: 'Updated Object',
- details: {
- 'propertyId': event.category,
- 'property.newValue': event.info.newValue,
- 'property.oldValue': event.info.previousValue
- }
- };
- }
- if (payload) {
- var result = _extends({}, payload, {
- details: _extends({}, payload.details, {
- 'widgetType': widgetType,
- 'assetType': this.dashboard.getApplicationName()
- }),
- trackType: 'data_widget',
- 'custom.widgetType': widgetType
- });
- if (event.content) {
- result.object = event.content.getId();
- }
- var assetId = this.dashboard.getDashboardInfo().boardId;
- if (assetId) {
- result.details.assetId = assetId;
- }
- segment.track(action, function () {
- return result;
- });
- }
- };
- return LiveWidgetSegment;
- }();
- return LiveWidgetSegment;
- });
- //# sourceMappingURL=LiveWidgetSegment.js.map
|