{"version":3,"sources":["plotly_renderers.coffee","plotly_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","Plotly","$","makePlotlyChart","makePlotlyScatterChart","traceOptions","layoutOptions","transpose","pivotData","opts","colKeys","columns","d","data","datumKeys","defaults","fullAggName","groupByTitle","hAxisTitle","i","layout","result","rowKeys","rows","titleText","traceKeys","localeStrings","vs","by","plotly","plotlyConfig","extend","getRowKeys","getColKeys","length","push","aggregatorName","valAttrs","join","map","traceKey","datumKey","j","labels","len","trace","val","values","parseFloat","getAggregator","value","isFinite","name","type","x","y","rowAttrs","colAttrs","title","hovermode","width","window","innerWidth","height","innerHeight","Math","ceil","sqrt","grid","domain","row","floor","column","showlegend","xaxis","automargin","yaxis","appendTo","newPlot","detach","colKey","k","len1","renderArea","rowKey","v","text","mode","style","remove","pivotUtilities","plotly_renderers","Horizontal Bar Chart","orientation","barmode","Horizontal Stacked Bar Chart","Bar Chart","Stacked Bar Chart","Line Chart","Area Chart","stackgroup","Scatter Chart","Multiple Pie Chart","scalegroup","hoverinfo","textinfo","call","this"],"mappings":"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","file":"plotly_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"plotly.js\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"plotly.js\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, Plotly\n\ncallWithJQuery ($, Plotly) ->\n\n makePlotlyChart = (traceOptions = {}, layoutOptions = {}, transpose = false) ->\n (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n plotlyConfig: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n traceKeys = if transpose then colKeys else rowKeys\n traceKeys.push([]) if traceKeys.length == 0\n datumKeys = if transpose then rowKeys else colKeys\n datumKeys.push([]) if datumKeys.length == 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n data = traceKeys.map (traceKey) ->\n values = []\n labels = []\n for datumKey in datumKeys\n val = parseFloat(pivotData.getAggregator(\n if transpose then datumKey else traceKey,\n if transpose then traceKey else datumKey\n ).value())\n values.push(if isFinite(val) then val else null)\n labels.push(datumKey.join('-') || ' ')\n\n trace = {name: traceKey.join('-') || fullAggName}\n if traceOptions.type == \"pie\"\n trace.values = values\n trace.labels = if labels.length > 1 then labels else [fullAggName]\n else\n trace.x = if transpose then values else labels\n trace.y = if transpose then labels else values\n return $.extend(trace, traceOptions)\n\n if transpose\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 layout =\n title: titleText\n hovermode: 'closest'\n width: window.innerWidth / 1.4\n height: window.innerHeight / 1.4 - 50\n\n if traceOptions.type == 'pie'\n columns = Math.ceil(Math.sqrt(data.length))\n rows = Math.ceil(data.length / columns)\n layout.grid = {columns, rows}\n for i, d of data\n d.domain = {\n row: Math.floor(i / columns),\n column: i - columns * Math.floor(i / columns),\n }\n if data.length > 1\n d.title = d.name\n layout.showlegend = false if data[0].labels.length == 1\n else\n layout.xaxis =\n title: if transpose then fullAggName else null\n automargin: true\n layout.yaxis =\n title: if transpose then null else fullAggName\n automargin: true\n\n\n result = $(\"