{"version":3,"file":"gchart_renderers.js","sources":["gchart_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.gchart.width ?= window.innerWidth / 1.4\n opts.gchart.height ?= window.innerHeight / 1.4\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\")\n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options =\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options = $.extend(true, {}, options, opts.gchart, extraOptions)\n\n result = $(\"
\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0])\n result.bind \"dblclick\", ->\n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', ->\n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers =\n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n"]}