{"version":3,"sources":["c3_renderers.coffee"],"names":[],"mappings":"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","file":"c3_renderers.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"c3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"c3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, c3\n \ncallWithJQuery ($, c3) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n c3: {}\n\n opts = $.extend true, defaults, opts\n opts.c3.size ?= {}\n opts.c3.size.width ?= window.innerWidth / 1.4\n opts.c3.size.height ?= window.innerHeight / 1.4 - 50\n chartOpts.type ?= \"line\"\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n rotationAngle = 0\n\n fullAggName = pivotData.aggregatorName \n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n scatterData = x:{}, y:{}, t:{}\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs)\n vAxisTitle = attrs[0] ? \"\"\n hAxisTitle = attrs[1] ? \"\" \n groupByTitle = attrs.slice(2).join(\"-\")\n titleText = vAxisTitle\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n for rowKey in rowKeys\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n vals = rowKey.concat(colKey)\n series = vals.slice(2).join(\"-\")\n if series == \"\" then series = \"series\"\n scatterData.x[series] ?= []\n scatterData.y[series] ?= []\n scatterData.t[series] ?= []\n scatterData.y[series].push vals[0] ? 0\n scatterData.x[series].push vals[1] ? 0\n scatterData.t[series].push agg.format(agg.value())\n else\n numCharsInHAxis = 0\n for x in headers\n numCharsInHAxis += x.length\n if numCharsInHAxis > 50\n rotationAngle = 45\n\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then pivotData.aggregatorName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n if val < 1\n row.push val.toPrecision(3)\n else\n row.push val.toFixed(3)\n else\n row.push null\n columns.push row\n\n vAxisTitle = pivotData.aggregatorName+ \n if pivotData.valAttrs.length then \"(#{pivotData.valAttrs.join(\", \")})\" else \"\"\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n \n title = $(\"

\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n params = \n axis: \n y:\n label: vAxisTitle\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data: \n type: chartOpts.type\n tooltip:\n grouped: false\n color: \n pattern: [ \"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\",\n \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\",\n \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\",\n \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\",\n \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\" ]\n\n\n $.extend params, opts.c3\n\n if chartOpts.type == \"scatter\"\n xs = {}\n numSeries = 0\n dataColumns = []\n for s of scatterData.x\n numSeries += 1\n xs[s] = s+\"_x\"\n dataColumns.push [s+\"_x\"].concat(scatterData.x[s])\n dataColumns.push [s].concat(scatterData.y[s])\n params.data.xs = xs\n params.data.columns = dataColumns\n params.axis.x.tick = fit: false\n if numSeries == 1\n params.legend = show: false \n params.tooltip.format = \n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d) -> scatterData.t[c][d]\n else\n params.axis.x.type= 'category'\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked?\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n renderArea = $(\"

\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"
\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return $(\"
\").append title, result\n\n $.pivotUtilities.c3_renderers = \n \"Line Chart\": makeC3Chart()\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n"]}