| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | 'use strict';/** * Licensed Materials - Property of IBM * * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2016, 2018 * * US Government Users Restricted Rights - Use, duplication or disclosure * restricted by GSA ADP Schedule Contract with IBM Corp. */define(['underscore', '../../../widgets/livewidget/nls/StringResources', '../../../lib/@waca/core-client/js/core-client/ui/core/View', '../../../lib/@waca/dashboard-common/dist/ui/Slider', '../../../lib/@waca/dashboard-common/dist/utils/ScaleUtil'], function (_, stringResources, View, Slider, ScaleUtil) {	'use strict';	// Create message map only once	var _SCALE_MESSAGE_MAP = {};	_SCALE_MESSAGE_MAP[ScaleUtil.SCALE_VALUE_FEW] = stringResources.get('propScaleFew');	_SCALE_MESSAGE_MAP[ScaleUtil.SCALE_VALUE_DEFAULT] = stringResources.get('propScaleDefault');	_SCALE_MESSAGE_MAP[ScaleUtil.SCALE_VALUE_MANY] = stringResources.get('propScaleMany');	var InfographicScaleView = View.extend({		init: function init(options) {			InfographicScaleView.inherited('init', this, arguments);			_.extend(this, options);		},		/**   * Called to render the flyout with the slider/title to edit scale   * @returns Flyout and slider are rendered   */		render: function render() {			// Required to set dimensions of flyout. If not set, will appear tiny			this.$el.css({				height: 93,				width: 200			});			var extremes = ScaleUtil.getMinMax(this.widgetValue, this.isPercent);			var options = {				el: this.$el[0],				name: 'scaleSlider',				label: stringResources.get('propScaleLabel'),				type: 'slider',				description: stringResources.get('propScaleDescription'),				min: extremes.min,				max: extremes.max,				step: 1,				showMinMax: false,				value: this.currentScaleOption,				style: 'simple',				valueFormatter: this.valueFormatter.bind(this)			};			this.slider = new Slider(options);			return this.slider.render();		},		/**   * Called when the subview has finished rendering   */		notifyRenderComplete: function notifyRenderComplete() {			if (this.slider) {				// slider needs to re-layout after it's rendered to ensure size calculations are correct				this.slider.layout();				if (this.slider.slider) {					// hook up slider event					this.slider.slider.on('slideStop', this.onWidgetScaleUpdate.bind(this));				}			}		},		/**   * Used to update the model when the scale is changed via the widget. Calls internal function to update model and reRender infographic.   * @param {object} info - Object with a property (value) that contains the new slider value   */		onWidgetScaleUpdate: function onWidgetScaleUpdate(info) {			this.content.setPropertyValue('value.graphic.currentScaleOption', info.value);		},		/**   * Returns the slider text for the given value   * @param {string} value   * @returns {string}   */		valueFormatter: function valueFormatter(value) {			return _SCALE_MESSAGE_MAP[value] || value;		},		setFocus: function setFocus() {			if (this.slider) {				this.slider.setFocus();			}		}	});	return InfographicScaleView;});//# sourceMappingURL=InfographicScaleView.js.map
 |