{"body":"var app = angular.module('metricsApp');\napp.controller('ChartsController', ['$scope', 'MetricData', 'MetricOptions', function ChartsController($scope, MetricData, MetricOptions) {\n    var optionsPromise = MetricOptions.getOptions(1, {\n        title: 'Test metric',\n        xType: 'datetime',\n        yTitle: 'Test items',\n        seriesName: 'test series'\n    })\n        .then(\n            function (success) {\n                return success;\n            },\n            function (error) {\n                console.log(error);\n            }\n        );\n\n    var rawToChart = function (rawValues) {\n        return rawValues.map(function (p) { return [p.x, p.value] });\n    }\n\n    var mergeOptionsWithValues = function (options, metricValues) {\n        options.series[0].data = rawToChart(metricValues.result[0].values);\n        return options;\n    }\n\n    var getDataPromise = function (interval) {\n        return optionsPromise\n            .then(\n                function (options) {\n                    return MetricData.getData(interval).then(\n                        function (metricValues) {\n                            return mergeOptionsWithValues(options, metricValues);\n                        }\n                    );\n                }\n            );\n    }\n    \n    $scope.monthlyDataPromise = getDataPromise(1);\n}]);","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/504pZI8e","modified":1516285854,"id":"504pZI8e","size":1322,"lines":41,"own_paste":false,"theme":"","date":1516285854}