{"version":3,"sources":["src/googlechart.module.js","src/FormatManager.js","src/GoogleChartController.js","src/agcBeforeDraw.js","src/agcGstaticLoader.js","src/agcJsapiLoader.js","src/agcLibraryLoader.js","src/agcNullLoader.js","src/agcOnClick.js","src/agcOnError.js","src/agcOnMouseout.js","src/agcOnMouseover.js","src/agcOnRangeChange.js","src/agcOnReady.js","src/agcOnSelect.js","src/agcScriptTagHelper.js","src/googleChart.js","src/googleChartApiConfig.js","src/googleChartApiPromise.js","src/googleChartService.js"],"names":[],"mappings":"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","file":"ng-google-chart.js","sourcesContent":["/* global angular */\n(function(){\n angular.module('googlechart', [])\n .run(registerResizeEvent);\n \n registerResizeEvent.$inject = ['$rootScope', '$window'];\n \n function registerResizeEvent($rootScope, $window){\n angular.element($window).on('resize', function () {\n $rootScope.$emit('resizeMsg');\n });\n }\n})();","/* global angular, google */\n(function(){\n angular.module('googlechart')\n .factory('FormatManager', formatManagerFactory);\n \n function formatManagerFactory(){\n // Handles the processing of Google Charts API Formats\n function FormatManager($google){\n var self = this;\n var oldFormatTemplates = {};\n self.iFormats = {}; // Holds instances of formats (ie. self.iFormats.date[0] = new $google.visualization.DateFormat(params))\n self.applyFormats = applyFormats;\n \n // apply formats of type to datatable\n function apply(tFormats, dataTable){\n var i, formatType;\n for (formatType in tFormats){\n if (tFormats.hasOwnProperty(formatType)){\n for (i = 0; i < self.iFormats[formatType].length; i++) {\n if (tFormats[formatType][i].columnNum < dataTable.getNumberOfColumns()) {\n self.iFormats[formatType][i].format(dataTable, tFormats[formatType][i].columnNum);\n }\n }\n }\n }\n }\n \n function applyFormat(formatType, FormatClass, tFormats){\n var i;\n if (angular.isArray(tFormats[formatType])) {\n // basic change detection; no need to run if no changes\n if (!angular.equals(tFormats[formatType], oldFormatTemplates[formatType])) {\n oldFormatTemplates[formatType] = tFormats[formatType];\n self.iFormats[formatType] = [];\n \n if (formatType === 'color') {\n instantiateColorFormatters(tFormats);\n } else {\n for (i = 0; i < tFormats[formatType].length; i++) {\n self.iFormats[formatType].push(new FormatClass(\n tFormats[formatType][i])\n );\n }\n }\n }\n }\n }\n \n function applyFormats(dataTable, tFormats, customFormatters) {\n var formatType, FormatClass, requiresHtml = false;\n if (!angular.isDefined(tFormats) || !angular.isDefined(dataTable)){\n return { requiresHtml: false };\n }\n for (formatType in tFormats){\n if (tFormats.hasOwnProperty(formatType)){\n FormatClass = getFormatClass(formatType, customFormatters);\n if (!angular.isFunction(FormatClass)){\n // if no class constructor was returned,\n // there's no point in completing cycle\n continue;\n }\n applyFormat(formatType, FormatClass, tFormats);\n \n //Many formatters require HTML tags to display special formatting\n if (formatType === 'arrow' || formatType === 'bar' || formatType === 'color') {\n requiresHtml = true;\n }\n }\n }\n apply(tFormats, dataTable);\n return { requiresHtml: requiresHtml };\n }\n \n function instantiateColorFormatters(tFormats){\n var t, colorFormat, i, data, formatType = 'color';\n for (t = 0; t < tFormats[formatType].length; t++) {\n colorFormat = new $google.visualization.ColorFormat();\n\n for (i = 0; i < tFormats[formatType][t].formats.length; i++) {\n data = tFormats[formatType][t].formats[i];\n\n if (typeof (data.fromBgColor) !== 'undefined' && typeof (data.toBgColor) !== 'undefined') {\n colorFormat.addGradientRange(data.from, data.to, data.color, data.fromBgColor, data.toBgColor);\n } else {\n colorFormat.addRange(data.from, data.to, data.color, data.bgcolor);\n }\n }\n\n self.iFormats[formatType].push(colorFormat);\n }\n }\n \n function getFormatClass(formatType, customFormatters){\n var className = formatType.charAt(0).toUpperCase() + formatType.slice(1).toLowerCase() + \"Format\";\n if ($google.visualization.hasOwnProperty(className)){\n return google.visualization[className];\n } else if (angular.isDefined(customFormatters) && customFormatters.hasOwnProperty(formatType)) {\n return customFormatters[formatType];\n }\n return;\n }\n }\n \n return FormatManager;\n }\n})();","/* global angular, google */\n\n(function() {\n\n angular.module('googlechart')\n .controller('GoogleChartController', GoogleChartController);\n\n GoogleChartController.$inject = ['$scope', '$element', '$attrs', '$injector', '$timeout', '$window', '$rootScope', 'GoogleChartService'];\n\n function GoogleChartController($scope, $element, $attrs, $injector, $timeout, $window, $rootScope, GoogleChartService) {\n var self = this;\n var resizeHandler;\n var googleChartService;\n\n init();\n\n function cleanup() {\n resizeHandler();\n }\n\n function draw() {\n if (!draw.triggered && (self.chart !== undefined)) {\n draw.triggered = true;\n $timeout(setupAndDraw, 0, true);\n }\n else if (self.chart !== undefined) {\n $timeout.cancel(draw.recallTimeout);\n draw.recallTimeout = $timeout(draw, 10);\n }\n }\n\n // Watch function calls this.\n function drawAsync() {\n googleChartService.getReadyPromise()\n .then(draw);\n }\n\n //setupAndDraw() calls this.\n function drawChartWrapper() {\n googleChartService.draw();\n draw.triggered = false;\n }\n\n function init() {\n // Instantiate service\n googleChartService = new GoogleChartService();\n \n self.registerChartListener = googleChartService.registerChartListener;\n self.registerWrapperListener = googleChartService.registerWrapperListener;\n self.registerServiceListener = googleChartService.registerServiceListener;\n \n /* Watches, to refresh the chart when its data, formatters, options, view,\n or type change. All other values intentionally disregarded to avoid double\n calls to the draw function. Please avoid making changes to these objects\n directly from this directive.*/\n $scope.$watch(watchValue, watchHandler, true); // true is for deep object equality checking\n\n // Redraw the chart if the window is resized\n resizeHandler = $rootScope.$on('resizeMsg', drawAsync);\n\n //Cleanup resize handler.\n $scope.$on('$destroy', cleanup);\n }\n\n function setupAndDraw() {\n googleChartService.setup($element,\n self.chart.type,\n self.chart.data,\n self.chart.view,\n self.chart.options,\n self.chart.formatters,\n self.chart.customFormatters);\n\n $timeout(drawChartWrapper);\n }\n\n function watchHandler() {\n self.chart = $scope.$eval($attrs.chart);\n drawAsync();\n }\n\n function watchValue() {\n var chartObject = $scope.$eval($attrs.chart);\n if (angular.isDefined(chartObject) && angular.isObject(chartObject)) {\n return {\n customFormatters: chartObject.customFormatters,\n data: chartObject.data,\n formatters: chartObject.formatters,\n options: chartObject.options,\n type: chartObject.type,\n view: chartObject.view\n };\n }\n }\n }\n})();","/* global angular */\n(function(){\n angular.module('googlechart')\n .directive('agcBeforeDraw', beforeDrawDirective);\n \n function beforeDrawDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject=['chartWrapper'];\n function callback(chartWrapper){\n scope.$apply(function (){\n scope.$eval(attrs.agcBeforeDraw, {chartWrapper: chartWrapper});\n });\n }\n googleChartController.registerServiceListener('beforeDraw', callback, this);\n }\n };\n }\n})();\n","/* global angular */\n(function() {\n angular.module('googlechart')\n .provider('agcGstaticLoader', agcGstaticLoaderProvider);\n\n function agcGstaticLoaderProvider(){\n var useBothLoaders = false;\n var version = \"current\";\n var options = {\n packages: [\"corechart\"]\n };\n\n /** Add Google Visualization API package to loader configuration. */\n this.addPackage = function(packageName){\n options.packages = options.packages || [];\n options.packages.push(packageName);\n\n if (needsBothLoaders())\n useBothLoaders = true;\n return this;\n };\n\n /** Delete key from underlying loader configuration. */\n this.clearOption = function(key){\n delete this._options[key];\n return this;\n };\n\n /** Remove Google Visualization API package from loader configuration. */\n this.removePackage = function(packageName){\n options.packages = this._options.packages || [];\n var index = options.packages.indexOf(packageName);\n if (index > -1)\n options.packages.splice(index, 1);\n return this;\n };\n\n /** Set option to value. See developers.google.com/chart/ for information about loader options. */\n this.setOption = function(key, value){\n options[key] = value;\n return this;\n };\n\n /** Sets underlying loader options object to value provided. Replaces everything, included packages. */\n this.setOptions = function(value){\n options = value;\n return this;\n };\n\n /** Set Google Visualization API frozen version to load. Default: 'current' */\n this.setVersion = function(value){\n version = value;\n if (needsBothLoaders())\n useBothLoaders = true;\n return this;\n };\n\n /** Override for internal setting to add both loader scripts. Required under certain conditions. */\n this.useBothLoaders = function(value){\n if (typeof value === 'undefined')\n value = true;\n\n useBothLoaders = !!value;\n return this;\n };\n\n /** Check if conditions are correct to need both JSAPI and gstatic loader scripts. */\n function needsBothLoaders(){\n var versionCheck, packageCheck;\n\n versionCheck = !isNaN(+version) && +version < 45;\n packageCheck = options.packages.indexOf(\"geochart\") > -1 ||\n options.packages.indexOf(\"map\") > -1;\n\n return versionCheck && packageCheck;\n }\n\n this.$get = function($rootScope, $q, agcScriptTagHelper){\n\n function scriptLoadCallback(){\n if (!google ||\n !google.charts ||\n typeof google.charts.setOnLoadCallback !== 'function'){\n return $q.reject(\"Google charts library loader not present.\");\n }\n \n var deferred = $q.defer();\n\n google.charts.load(version, options);\n\n google.charts.setOnLoadCallback(function(){\n $rootScope.$apply(function(){\n deferred.resolve(google);\n });\n });\n\n return deferred.promise;\n }\n\n var tagPromise = agcScriptTagHelper(\"https://www.gstatic.com/charts/loader.js\");\n if (useBothLoaders)\n tagPromise = tagPromise.then(function(){ return agcScriptTagHelper(\"https://www.google.com/jsapi\");});\n var libraryPromise = tagPromise.then(scriptLoadCallback);\n\n return libraryPromise;\n };\n this.$get.$inject = [\"$rootScope\", \"$q\", \"agcScriptTagHelper\"];\n }\n})();\n","/* global angular */\n(function() {\n angular.module(\"googlechart\")\n .factory(\"agcJsapiLoader\", agcJsapiLoaderFactory);\n\n agcJsapiLoaderFactory.$inject = [\"$log\", \"$rootScope\", \"$q\", \"agcScriptTagHelper\", \"googleChartApiConfig\"];\n function agcJsapiLoaderFactory($log, $rootScope, $q, agcScriptTagHelper, googleChartApiConfig){\n $log.debug(\"[AGC] jsapi loader invoked.\");\n var apiReady = $q.defer();\n // Massage configuration as needed.\n googleChartApiConfig.optionalSettings = googleChartApiConfig.optionalSettings || {};\n\n var userDefinedCallback = googleChartApiConfig.optionalSettings.callback;\n\n var settings = {\n callback: function() {\n if (angular.isFunction(userDefinedCallback))\n userDefinedCallback.call(this);\n\n $rootScope.$apply(function(){\n apiReady.resolve(google);\n });\n }\n };\n\n settings = angular.extend({}, googleChartApiConfig.optionalSettings, settings);\n\n $log.debug(\"[AGC] Calling tag helper...\");\n agcScriptTagHelper(\"https://www.google.com/jsapi\")\n .then(function(){\n $log.debug(\"[AGC] Tag helper returned success.\");\n window.google.load('visualization', googleChartApiConfig.version || '1', settings);\n })\n .catch(function(){\n $log.error(\"[AGC] Tag helper returned error. Script may have failed to load.\");\n apiReady.reject();\n });\n\n return apiReady.promise;\n } \n})();\n","/* global angular */\n(function(){\n angular.module(\"googlechart\")\n .provider(\"agcLibraryLoader\", AgcLibraryLoaderProvider);\n\n AgcLibraryLoaderProvider.$inject = [\"$injector\"];\n\n function AgcLibraryLoaderProvider($injector){\n\n var DEFAULT_LOADER = \"Jsapi\";\n\n this.$get = function(loader){\n return loader;\n };\n\n this.setLoader = function(loaderName){\n if ($injector.has(this.getProviderName(loaderName)))\n this.$get.$inject = [this.getProviderName(loaderName)];\n else {\n console.warn(\"[Angular-GoogleChart] Loader type \\\"\" + loaderName + \"\\\" doesn't exist. Defaulting to JSAPI loader.\");\n this.$get.$inject = [this.getProviderName(DEFAULT_LOADER)];\n }\n };\n\n this.getProviderName = function(loaderName){\n loaderName = loaderName.charAt(0).toUpperCase() + loaderName.slice(1);\n return \"agc\" + loaderName + \"Loader\";\n };\n\n this.setLoader(DEFAULT_LOADER);\n }\n})();\n","/* global angular */\n(function(){\n angular.module(\"googlechart\")\n .provider(\"agcNullLoader\", AgcNullLoaderProvider);\n \n /** Fake loader strategy. Use this if you're loading the google charts library\n * in some non-standard way.\n */\n\n function AgcNullLoaderProvider(){\n this._hasTrigger = false;\n this._libraryOverride = null;\n this._triggerFunction = (function(){\n // If the trigger function is called before $get,\n // just act as if it was never fetched.\n if (this._deferred)\n this._deferred.resolve(this._libraryOverride || google);\n else\n this._hasTrigger = false;\n }).bind(this);\n this._deferred = null;\n }\n\n AgcNullLoaderProvider.prototype.$get = function($q){\n this._deferred = $q.defer();\n \n if (!this._hasTrigger)\n this._deferred.resolve(this._libraryOverride || google);\n \n return this._deferred.promise;\n };\n AgcNullLoaderProvider.prototype.$get.$inject = [\"$q\"];\n\n AgcNullLoaderProvider.prototype.getTriggerFunction = function(){\n // Records that the trigger function was fetched.\n // Will wait for it to be called to resolve.\n // This is useful for manual, but deferred, loading of\n // the google charts library.\n this._hasTrigger = true;\n return this._triggerFunction;\n };\n\n /** Forces angular-google-chart to load this object as the google library.\n * Makes no checks to ensure that the object passed is compatible. Use\n * at own risk.\n */\n AgcNullLoaderProvider.prototype.overrideLibrary = function(library){\n this._libraryOverride = library;\n };\n})();\n","(function(){\n angular.module('googlechart')\n .directive('agcOnClick', onClickDirective);\n\n function onClickDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['args', 'chart', 'chartWrapper'];\n function callback(args, chart, chartWrapper){\n scope.$apply(function (){\n scope.$eval(attrs.agcOnClick, {args: args, chart: chart, chartWrapper: chartWrapper});\n });\n }\n googleChartController.registerChartListener('click', callback, this);\n }\n };\n }\n})();\n","/* global angular */\n(function(){\n angular.module('googlechart')\n .directive('agcOnError', onErrorDirective);\n function onErrorDirective(){\n return{\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['chartWrapper', 'chart', 'args'];\n function callback(chartWrapper, chart, args){\n var returnValues = {\n chartWrapper: chartWrapper,\n chart: chart,\n args: args,\n error: args[0],\n err: args[0],\n id: args[0].id,\n message: args[0].message\n };\n scope.$apply(function(){\n scope.$eval(attrs.agcOnError, returnValues);\n });\n }\n googleChartController.registerWrapperListener('error', callback, this);\n }\n };\n }\n})();","/* global angular */\n\n(function(){\n angular.module('googlechart')\n .directive('agcOnMouseout', agcOnMouseoutDirective);\n \n function agcOnMouseoutDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['args', 'chart', 'chartWrapper'];\n function callback(args, chart, chartWrapper){\n var returnParams = {\n chartWrapper: chartWrapper,\n chart: chart,\n args: args,\n column: args[0].column,\n row: args[0].row\n };\n scope.$apply(function () {\n scope.$eval(attrs.agcOnMouseout, returnParams);\n });\n }\n googleChartController.registerChartListener('onmouseout', callback, this);\n }\n };\n }\n})();","/* global angular */\n\n(function(){\n angular.module('googlechart')\n .directive('agcOnMouseover', agcOnMouseoverDirective);\n \n function agcOnMouseoverDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['args', 'chart', 'chartWrapper'];\n function callback(args, chart, chartWrapper){\n var returnParams = {\n chartWrapper: chartWrapper,\n chart: chart,\n args: args,\n column: args[0].column,\n row: args[0].row\n };\n scope.$apply(function () {\n scope.$eval(attrs.agcOnMouseover, returnParams);\n });\n }\n googleChartController.registerChartListener('onmouseover', callback, this);\n }\n };\n }\n})();","/* global angular */\n\n(function(){\n angular.module('googlechart')\n .directive('agcOnRangeChange', agcOnRangeChangeDirective);\n\n function agcOnRangeChangeDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['args', 'chart', 'chartWrapper'];\n function callback(args, chart, chartWrapper){\n var returnParams = {\n chartWrapper: chartWrapper,\n chart: chart,\n args: args,\n start: args[0].start,\n end: args[0].end\n };\n scope.$apply(function () {\n scope.$eval(attrs.agcOnRangeChange, returnParams);\n });\n }\n googleChartController.registerChartListener('rangechange', callback, this);\n }\n };\n }\n})();\n","/* global angular */\n(function(){\n angular.module('googlechart')\n .directive('agcOnReady', onReadyDirective);\n \n function onReadyDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject=['chartWrapper'];\n function callback(chartWrapper){\n scope.$apply(function (){\n scope.$eval(attrs.agcOnReady, {chartWrapper: chartWrapper});\n });\n }\n googleChartController.registerWrapperListener('ready', callback, this);\n }\n };\n }\n})();","/* global angular */\n(function(){\n angular.module('googlechart')\n .directive('agcOnSelect', onSelectDirective);\n \n function onSelectDirective(){\n return {\n restrict: 'A',\n scope: false,\n require: 'googleChart',\n link: function(scope, element, attrs, googleChartController){\n callback.$inject = ['chartWrapper', 'chart'];\n function callback(chartWrapper, chart){\n var selectEventRetParams = { selectedItems: chart.getSelection() };\n // This is for backwards compatibility for people using 'selectedItem' that only wanted the first selection.\n selectEventRetParams.selectedItem = selectEventRetParams.selectedItems[0];\n selectEventRetParams.chartWrapper = chartWrapper;\n selectEventRetParams.chart = chart;\n scope.$apply(function () {\n scope.$eval(attrs.agcOnSelect, selectEventRetParams);\n });\n }\n googleChartController.registerWrapperListener('select', callback, this);\n }\n };\n }\n})();","/* global angular */\n(function() {\n angular.module(\"googlechart\")\n .factory(\"agcScriptTagHelper\", agcScriptTagHelperFactory);\n\n agcScriptTagHelperFactory.$inject = [\"$q\", \"$document\"];\n function agcScriptTagHelperFactory($q, $document)\n {\n /** Add a script tag to the document's head section and return an angular\n * promise that resolves when the script has loaded.\n */\n function agcScriptTagHelper(url)\n {\n var deferred = $q.defer();\n var head = $document.find('head');\n var script = angular.element('');\n\n script.attr('type', 'text/javascript');\n\n script.on('load', onLoad);\n script.on('error', onError);\n\n script.attr('src', url);\n\n // This: head.append(script);\n // Adds the tag, but event handles don't work.\n // Workaround is to add element with native appendChild().\n head[0].appendChild(script[0]);\n\n function onLoad() {\n deferred.resolve();\n }\n\n function onError() {\n deferred.reject();\n }\n\n return deferred.promise;\n }\n\n return agcScriptTagHelper;\n }\n})();\n","/* global angular, google */\n/* jshint -W072 */\n(function(){\n angular.module('googlechart')\n .directive('googleChart', googleChartDirective);\n \n googleChartDirective.$inject = [];\n \n function googleChartDirective() {\n\n return {\n restrict: 'A',\n scope: false,\n controller: 'GoogleChartController'\n };\n }\n})();\n","/* global angular */\n(function(){\n angular.module('googlechart')\n .value('googleChartApiConfig', {\n version: '1',\n optionalSettings: {\n packages: ['corechart']\n }\n });\n})();","/* global angular */\n(function(){\n angular.module('googlechart')\n .factory('googleChartApiPromise', googleChartApiPromiseFactory);\n \n googleChartApiPromiseFactory.$inject = ['agcLibraryLoader'];\n\n /** Here for backward-compatibility only. */\n function googleChartApiPromiseFactory(agcLibraryLoader) {\n return agcLibraryLoader;\n }\n})();\n","/* global angular */\n(function() {\n angular.module('googlechart')\n .factory('GoogleChartService', GoogleChartServiceFactory);\n\n GoogleChartServiceFactory.$inject = ['agcLibraryLoader', '$injector', '$q', 'FormatManager'];\n\n function GoogleChartServiceFactory(agcLibraryLoader, $injector, $q, FormatManager) {\n function GoogleChartService() {\n var self = this;\n self.draw = draw;\n self.getChartWrapper = getChartWrapper;\n self.getData = getData;\n self.getElement = getElement;\n self.getOption = getOption;\n self.getOptions = getOptions;\n self.getView = getView;\n self.getReadyPromise = getReadyPromise;\n self.isApiReady = isApiReady;\n self.registerChartListener = registerChartListener;\n self.registerServiceListener = registerServiceListener;\n self.registerWrapperListener = registerWrapperListener;\n self.setData = setData;\n self.setElement = setElement;\n self.setOption = setOption;\n self.setOptions = setOptions;\n self.setup = setup;\n self.setView = setView;\n\n var $google,\n _libraryPromise,\n _apiReady,\n _chartWrapper,\n _element,\n _chartType,\n _data,\n _view,\n _options,\n _formatters,\n _innerVisualization,\n _formatManager,\n _needsUpdate = true,\n _customFormatters,\n _serviceDeferred,\n serviceListeners = {},\n wrapperListeners = {},\n chartListeners = {};\n\n _init();\n\n function _activateServiceEvent(eventName) {\n var i;\n if (angular.isArray(serviceListeners[eventName])) {\n for (i = 0; i < serviceListeners[eventName].length; i++) {\n serviceListeners[eventName][i]();\n }\n }\n }\n\n function _apiLoadFail(reason) {\n // Not sure what to do if this does happen.\n // Post your suggestions in the issues tracker at\n // https://github.com/angular-google-chart/angular-google-chart/\n return reason;\n }\n\n function _apiLoadSuccess(g) {\n $google = g;\n _apiReady = true;\n _serviceDeferred.resolve();\n return g;\n }\n\n\n function _continueSetup() {\n if (!angular.isDefined(_chartWrapper)) {\n _chartWrapper = new $google.visualization.ChartWrapper({\n chartType: _chartType,\n dataTable: _data,\n view: _view,\n options: _options,\n containerId: _element[0]\n });\n _registerListenersWithGoogle(_chartWrapper, wrapperListeners);\n }\n else {\n _chartWrapper.setChartType(_chartType);\n _chartWrapper.setDataTable(_data);\n _chartWrapper.setView(_view);\n _chartWrapper.setOptions(_options);\n }\n\n if (!_formatManager) {\n _formatManager = new FormatManager($google);\n }\n\n if (_formatManager.applyFormats(_chartWrapper.getDataTable(),\n _formatters, _customFormatters).requiresHtml) {\n _chartWrapper.setOption('allowHtml', true);\n }\n\n _needsUpdate = false;\n }\n\n // Credit for this solution:\n // http://stackoverflow.com/a/20125572/3771976\n function _getSetDescendantProp(obj, desc, value) {\n var arr = desc ? desc.split(\".\") : [];\n\n while (arr.length && obj) {\n var comp = arr.shift();\n var match = new RegExp(\"(.+)\\\\[([0-9]*)\\\\]\").exec(comp);\n\n if (value) {\n if (obj[comp] === undefined) {\n obj[comp] = {};\n }\n\n if (arr.length === 0) {\n obj[comp] = value;\n }\n }\n\n obj = obj[comp];\n }\n\n return obj;\n }\n\n function _handleReady() {\n // When the chartWrapper is ready, check to see if the inner chart\n // has changed. If it has, re-register listeners onto that chart.\n if (_innerVisualization !== _chartWrapper.getChart()) {\n _innerVisualization = _chartWrapper.getChart();\n _registerListenersWithGoogle(_innerVisualization, chartListeners);\n }\n }\n\n function _init() {\n _apiReady = false;\n _serviceDeferred = $q.defer();\n //keeps the resulting promise to chain on other actions\n _libraryPromise = agcLibraryLoader\n .then(_apiLoadSuccess)\n .catch(_apiLoadFail);\n\n registerWrapperListener('ready', _handleReady, self);\n }\n\n function _registerListener(listenerCollection, eventName, listenerFn, listenerObject) {\n // This is the function that will be invoked by the charts API.\n // Passing the wrapper function allows the use of DI for\n // for the called function.\n var listenerWrapper = function() {\n var locals = {\n chartWrapper: _chartWrapper,\n chart: _chartWrapper.getChart(),\n args: arguments\n };\n $injector.invoke(listenerFn, listenerObject || this, locals);\n };\n\n if (angular.isDefined(listenerCollection) && angular.isObject(listenerCollection)) {\n if (!angular.isArray(listenerCollection[eventName])) {\n listenerCollection[eventName] = [];\n }\n listenerCollection[eventName].push(listenerWrapper);\n return function() {\n if (angular.isDefined(listenerWrapper.googleListenerHandle)) {\n $google.visualization.events.removeListener(listenerWrapper.googleListenerHandle);\n }\n var fnIndex = listenerCollection[eventName].indexOf(listenerWrapper);\n listenerCollection[eventName].splice(fnIndex, 1);\n if (listenerCollection[eventName].length === 0) {\n listenerCollection[eventName] = undefined;\n }\n };\n }\n }\n\n function _registerListenersWithGoogle(eventSource, listenerCollection) {\n for (var eventName in listenerCollection) {\n if (listenerCollection.hasOwnProperty(eventName) && angular.isArray(listenerCollection[eventName])) {\n for (var fnIterator = 0; fnIterator < listenerCollection[eventName].length; fnIterator++) {\n if (angular.isFunction(listenerCollection[eventName][fnIterator])) {\n listenerCollection[eventName][fnIterator].googleListenerHandle =\n $google.visualization.events.addListener(eventSource, eventName, listenerCollection[eventName][fnIterator]);\n }\n }\n }\n }\n }\n\n function _runDrawCycle() {\n _activateServiceEvent('beforeDraw');\n _chartWrapper.draw();\n }\n\n /*\n This function does this:\n - waits for API to load, if not already loaded\n - sets up ChartWrapper object (create or update)\n - schedules timeout event to draw chart\n */\n function draw() {\n if (_needsUpdate) {\n _libraryPromise = _libraryPromise.then(_continueSetup);\n }\n _libraryPromise = _libraryPromise.then(_runDrawCycle());\n }\n\n function getChartWrapper() {\n // Most get functions on this interface return copies,\n // this one should return reference so as to expose the \n //chart api to users\n return _chartWrapper;\n }\n\n function getData() {\n var data = _data || {};\n return angular.copy(data);\n }\n\n function getElement() {\n return _element;\n }\n\n function getOption(name) {\n var options = _options || {};\n return _getSetDescendantProp(options, name);\n }\n\n function getOptions() {\n var options = _options || {};\n return angular.copy(options);\n }\n\n function getReadyPromise() {\n return _serviceDeferred.promise;\n }\n\n function getView() {\n var view = _view || {};\n return angular.copy(view);\n }\n\n function isApiReady() {\n return _apiReady;\n }\n\n function registerChartListener(eventName, listenerFn, listenerObject) {\n return _registerListener(chartListeners, eventName, listenerFn, listenerObject);\n }\n\n function registerServiceListener(eventName, listenerFn, listenerObject) {\n return _registerListener(serviceListeners, eventName, listenerFn, listenerObject);\n }\n\n function registerWrapperListener(eventName, listenerFn, listenerObject) {\n return _registerListener(wrapperListeners, eventName, listenerFn, listenerObject);\n }\n\n function setData(data) {\n if (angular.isDefined(data)) {\n _data = angular.copy(data);\n _needsUpdate = true;\n }\n }\n\n function setElement(element) {\n if (angular.isElement(element) && _element !== element) {\n _element = element;\n // clear out the chartWrapper because we're going to need a new one\n _chartWrapper = null;\n _needsUpdate = true;\n }\n }\n\n function setOption(name, value) {\n _options = _options || {};\n _getSetDescendantProp(_options, name, angular.copy(value));\n _needsUpdate = true;\n }\n\n function setOptions(options) {\n if (angular.isDefined(options)) {\n _options = angular.copy(options);\n _needsUpdate = true;\n }\n }\n\n function setup(element, chartType, data, view, options, formatters, customFormatters) {\n // Keep values if already set,\n // can call setup() with nulls to keep\n // existing values\n _element = element || _element;\n _chartType = chartType || _chartType;\n _data = data || _data;\n _view = view || _view;\n _options = options || _options;\n _formatters = formatters || _formatters;\n _customFormatters = customFormatters || _customFormatters;\n\n _libraryPromise = _libraryPromise.then(_continueSetup);\n }\n\n function setView(view) {\n _view = angular.copy(view);\n }\n }\n return GoogleChartService;\n }\n})();\n"]}