{"version":3,"file":"c3_renderers.js","sources":["c3_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\"), 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: {vs: \"vs\", 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 chartOpts.horizontal ?= false\n chartOpts.stacked ?= false\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 y = vals[0] ? 0\n x = vals[1] ? 0\n scatterData.y[series].push y\n scatterData.x[series].push x\n scatterData.t[series] ?= {}\n scatterData.t[series][x] ?= {}\n scatterData.t[series][x][y] = 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 fullAggName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n row.push(val)\n else\n row.push(null)\n columns.push row\n\n vAxisTitle = fullAggName\n\n if chartOpts.horizontal\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n title = $(\"

\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n formatter = pivotData.getAggregator([], []).format\n\n params =\n axis:\n rotated: chartOpts.horizontal\n y:\n label: vAxisTitle\n tick: {}\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data:\n type: chartOpts.type\n order: null\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 params = $.extend(true, {}, params, opts.c3)\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,e) ->\n {name: series, value: y, x} = e[0]\n formatter(scatterData.t[series][x][y])\n else\n params.axis.x.type= 'category'\n params.axis.y.tick.format ?= (v) -> formatter(v)\n params.tooltip.format = value: (v) -> formatter(v)\n\n if chartOpts.horizontal\n categories = (c.shift() for c in columns)\n if categories.length == 1 and categories[0] == fullAggName\n categories = [\"\"]\n params.axis.x.categories = categories\n if headers.length == 1 and headers[0] == \"\"\n headers = [fullAggName]\n columns.unshift(headers)\n params.data.rows = columns\n else\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked\n if chartOpts.horizontal\n params.data.groups = [x.join(\"-\") for x in colKeys]\n else\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n\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 \"Horizontal Bar Chart\": makeC3Chart(type: \"bar\", horizontal: true)\n \"Horizontal Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true, horizontal: true)\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Line Chart\": makeC3Chart()\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n"]}