{"version":3,"sources":["/source/pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","renderers","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","showZero","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","countUnique","arg","attr","uniq","record","ref","call","numInputs","listUnique","sep","join","sum","parseFloat","min","val","Math","max","average","len","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","sqrt","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Minimum","Maximum","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","pvtData","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","m","p","_this","as","bs","a","a1","b","b1","rd","rx","rz","String","toLowerCase","match","shift","order","mapping","sorters","sort","isFunction","pivotUtilities","input","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","vals","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","derivedAttributes","filter","processRecord","f","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","html","Error","convertToArray","prototype","attrs","sortersArr","comparison","sorter","flatColKey","flatRowKey","len2","n","ref1","ref2","ref3","fromCharCode","agg","pivotData","c","r","spanSize","td","th","totalAggregator","tr","txt","document","createElement","className","arr","noDraw","stop","parseInt","setAttribute","appendChild","innerHTML","pivot","e","renderer","rendererOptions","_error","console","error","stack","hasChildNodes","removeChild","lastChild","append","pivotUI","inputOpts","overwrite","locale","attrLength","axisValues","colList","existingOpts","initialRender","len3","len4","o","pivotTable","q","ref4","refresh","refreshDelayed","rendererControl","shownAttributes","tr1","tr2","uiTable","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","base","class","addClass","appendTo","attrElem","btns","checkContainer","filterItem","filterItemExcluded","hasExcludedItem","keys","showFilterList","triangleLink","updateFilter","valueList","hide","find","prop","placeholder","testString","show","unselectedCount","removeClass","toggle","clickLeft","clickTop","currentTarget","position","left","top","css","prepend","inArray","rendererName","len5","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","ref5","ref6","s","subopts","t","unusedAttrsContainer","remove","not","excludedItems","ref7","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorGen","heatmapper","numCols","numRows","color","hexGen","hex","intensity","round","toString","colorFor","forEachCell","values","elem","barcharter","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.min.js","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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults = \n digitsAfterDecimal: 2, scaler: 1, \n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n showZero: false\n opts = $.extend defaults, opts\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n return \"\" if x == 0 and not opts.showZero\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n countUnique: (formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> @uniq.length\n format: formatter\n numInputs: if attr? then 0 else 1\n\n listUnique: (sep) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> @uniq.join sep\n format: (x) -> x\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n min: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n push: (record) ->\n x = parseFloat(record[attr])\n if not isNaN x then @val = Math.min(x, @val ? x)\n value: -> @val\n format: formatter\n numInputs: if attr? then 0 else 1\n\n max: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n push: (record) -> \n x = parseFloat(record[attr])\n if not isNaN x then @val = Math.max(x, @val ? x)\n value: -> @val\n format: formatter\n numInputs: if attr? then 0 else 1\n\n average: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n len: 0\n push: (record) ->\n if not isNaN parseFloat(record[attr])\n @sum += parseFloat(record[attr])\n @len++\n value: -> @sum/@len\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) -> \n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (pvtData, opts) -> pivotTableRenderer(pvtData, opts)\n \"Table Barchart\": (pvtData, opts) -> $(pivotTableRenderer(pvtData, opts)).barchart()\n \"Heatmap\": (pvtData, opts) -> $(pivotTableRenderer(pvtData, opts)).heatmap()\n \"Row Heatmap\": (pvtData, opts) -> $(pivotTableRenderer(pvtData, opts)).heatmap(\"rowheatmap\")\n \"Col Heatmap\": (pvtData, opts) -> $(pivotTableRenderer(pvtData, opts)).heatmap(\"colheatmap\")\n\n locales = \n en: \n aggregators: aggregators\n renderers: renderers\n localeStrings: \n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter results\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n naturalSort = (as, bs) => #thanks http://stackoverflow.com/a/4373421/112871\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n if typeof as is \"number\" or typeof bs is \"number\"\n return 1 if isNaN(as)\n return -1 if isNaN(bs)\n return as - bs\n a = String(as).toLowerCase()\n b = String(bs).toLowerCase()\n return 0 if a is b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n a = a.match(rx)\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 isnt b1\n if rd.test(a1) and rd.test(b1)\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n a.length - b.length\n\n sortAs = (order) -> \n mapping = {}\n for i, x of order\n mapping[x] = i\n (a, b) ->\n if mapping[a]? and mapping[b]?\n return mapping[a] - mapping[b]\n else if mapping[a]?\n return -1\n else if mapping[b]?\n return 1\n else\n return naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n sort = sorters(attr)\n if $.isFunction(sort)\n return sort \n else\n return naturalSort\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs}\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts) ->\n @aggregator = opts.aggregator\n @aggregatorName = opts.aggregatorName\n @colAttrs = opts.cols\n @rowAttrs = opts.rows\n @valAttrs = opts.vals\n @sorters = opts.sorters\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord input, opts.derivedAttributes, (record) =>\n @processRecord(record) if opts.filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) -> \n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof jQuery\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).html()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n #converts to [{attr:val, attr:val},{attr:val, attr:val}] using method above\n @convertToArray = (input) ->\n result = []\n PivotData.forEachRecord input, {}, (record) -> result.push record\n return result\n\n arrSort: (attrs) => \n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) -> \n for i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n @rowKeys.sort @arrSort(@rowAttrs)\n @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs \n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n localeStrings:\n totals: \"Totals\"\n\n opts = $.extend defaults, opts\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.innerHTML = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.innerHTML = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n result.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.innerHTML = r\n tr.appendChild th \n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n result.appendChild tr\n\n #now the actual data rows, with their row headers and totals\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.innerHTML = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.innerHTML = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n tr.appendChild td\n\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.innerHTML = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n result.appendChild tr\n\n #finally, the row for col totals, and a grand total\n tr = document.createElement(\"tr\")\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.innerHTML = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.innerHTML = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n tr.appendChild td\n result.appendChild tr\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, opts) ->\n defaults =\n cols : []\n rows: []\n vals: []\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: -> \n derivedAttributes: {},\n renderer: pivotTableRenderer\n rendererOptions: null\n localeStrings: locales.en.localeStrings\n\n opts = $.extend defaults, opts\n\n result = null\n try\n pivotData = new PivotData(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n \n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n if not locales[locale]?\n locale = \"en\"\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n menuLimit: 200\n cols: [], rows: [], vals: []\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n rendererOptions: localeStrings: locales[locale].localeStrings\n onRefresh: null\n filter: -> true\n sorters: -> \n localeStrings: locales[locale].localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend defaults, inputOpts\n else\n opts = existingOpts\n\n try\n #cache the input in some useful form\n input = PivotData.convertToArray(input)\n tblCols = (k for own k of input[0])\n tblCols.push c for own c of opts.derivedAttributes when (c not in tblCols)\n\n #figure out the cardinality and some stats\n axisValues = {}\n axisValues[x] = {} for x in tblCols\n\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n for own k, v of record when opts.filter(record)\n v ?= \"null\"\n axisValues[k][v] ?= 0\n axisValues[k][v]++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").append(rendererControl).append(colList)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownAttributes)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownAttributes)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"
\")\n\n renderer = $(\"\").addClass('pvtAxisContainer pvtUnused')\n shownAttributes = (c for c in tblCols when c not in opts.hiddenAttributes)\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownAttributes\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n colList.addClass('pvtVertList')\n else\n colList.addClass('pvtHorizList')\n\n for own i, c of shownAttributes\n do (c) ->\n keys = (k for k of axisValues[c])\n hasExcludedItem = false\n valueList = $(\"
\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"

\").text(\"#{c} (#{keys.length})\")\n if keys.length > opts.menuLimit\n valueList.append $(\"

\").html(opts.localeStrings.tooMany)\n else\n btns = $(\"

\").appendTo(valueList)\n btns.append $(\"

\").addClass('pvtVals')\n .appendTo(tr1)\n .append(aggregator)\n .append($(\"
\"))\n\n #column axes\n $(\"
\").addClass('pvtAxisContainer pvtHorizList pvtCols').appendTo(tr1)\n\n tr2 = $(\"
\").addClass('pvtAxisContainer pvtRows').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend colList\n else\n uiTable.prepend $(\"
\",{\"class\":\"pvtUi\"}).attr(\"cellpadding\",5),B=t(\"\").appendTo(Q),l=t(\"\").appendTo(Q),z.append(t(\"\").append(B).append(m)),this.html(Q),q=k.cols,L=0,F=q.length;F>L;L++)Z=q[L],this.find(\".pvtCols\").append(this.find(\".axis_\"+t.inArray(Z,P)));for(H=k.rows,R=0,M=H.length;M>R;R++)Z=H[R],this.find(\".pvtRows\").append(this.find(\".axis_\"+t.inArray(Z,P)));null!=k.aggregatorName&&this.find(\".pvtAggregator\").val(k.aggregatorName),null!=k.rendererName&&this.find(\".pvtRenderer\").val(k.rendererName),w=!0,V=function(r){return function(){var a,o,i,s,u,c,p,h,d,g,m,v,b,A,C;if(v={derivedAttributes:k.derivedAttributes,localeStrings:k.localeStrings,rendererOptions:k.rendererOptions,sorters:k.sorters,cols:[],rows:[]},c=null!=(d=k.aggregators[l.val()]([])().numInputs)?d:0,C=[],r.find(\".pvtRows li span.pvtAttr\").each(function(){return v.rows.push(t(this).data(\"attrName\"))}),r.find(\".pvtCols li span.pvtAttr\").each(function(){return v.cols.push(t(this).data(\"attrName\"))}),r.find(\".pvtVals select.pvtAttrDropdown\").each(function(){return 0===c?t(this).remove():(c--,\"\"!==t(this).val()?C.push(t(this).val()):void 0)}),0!==c)for(h=r.find(\".pvtVals\"),Z=m=0,g=c;g>=0?g>m:m>g;Z=g>=0?++m:--m){for(u=t(\"
\"),j=t(\"\").addClass(\"pvtAxisContainer pvtUnused\"),P=function(){var t,n,r;for(r=[],n=0,t=J.length;t>n;n++)g=J[n],e.call(k.hiddenAttributes,g)<0&&r.push(g);return r}(),Y=!1,W=\"auto\"===k.unusedAttrsVertical?120:parseInt(k.unusedAttrsVertical),!isNaN(W)){for(c=0,E=0,x=P.length;x>E;E++)u=P[E],c+=u.length;Y=c>W}m.addClass(k.unusedAttrsVertical===!0||Y?\"pvtVertList\":\"pvtHorizList\"),C=function(n){var r,a,o,i,s,u,l,c,h,f,g,v,b,A,C;if(l=function(){var t;t=[];for(T in d[n])t.push(T);return t}(),u=!1,C=t(\"
\").addClass(\"pvtFilterBox\").hide(),C.append(t(\"

\").text(n+\" (\"+l.length+\")\")),l.length>k.menuLimit)C.append(t(\"

\").html(k.localeStrings.tooMany));else for(a=t(\"

\").appendTo(C),a.append(t(\"

\").addClass(\"pvtVals\").appendTo(_).append(l).append(t(\"
\")),t(\"
\").addClass(\"pvtAxisContainer pvtHorizList pvtCols\").appendTo(_),z=t(\"
\").addClass(\"pvtAxisContainer pvtRows\").attr(\"valign\",\"top\")),D=t(\"\").attr(\"valign\",\"top\").addClass(\"pvtRendererArea\").appendTo(z),k.unusedAttrsVertical===!0||Y?(Q.find(\"tr:nth-child(1)\").prepend(B),Q.find(\"tr:nth-child(2)\").prepend(m)):Q.prepend(t(\"