forked from susielu/d3-legend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindexRollup.js.map
1 lines (1 loc) · 44.5 KB
/
indexRollup.js.map
1
{"version":3,"file":null,"sources":["src/legend.js","src/color.js","src/size.js","src/symbol.js","index.js"],"sourcesContent":["export default {\n\n d3_identity: function (d) {\n return d;\n },\n\n d3_mergeLabels: function (gen, labels) {\n\n if(labels.length === 0) return gen;\n\n gen = (gen) ? gen : [];\n\n var i = labels.length;\n for (; i < gen.length; i++) {\n labels.push(gen[i]);\n }\n return labels;\n },\n\n d3_linearLegend: function (scale, cells, labelFormat) {\n var data = [];\n\n if (cells.length > 1){\n data = cells;\n\n } else {\n var domain = scale.domain(),\n increment = (domain[domain.length - 1] - domain[0])/(cells - 1),\n i = 0;\n\n for (; i < cells; i++){\n data.push(domain[0] + i*increment);\n }\n }\n\n var labels = data.map(labelFormat);\n\n return {data: data,\n labels: labels,\n feature: function(d){ return scale(d); }};\n },\n\n d3_quantLegend: function (scale, labelFormat, labelDelimiter) {\n var labels = scale.range().map(function(d){\n var invert = scale.invertExtent(d),\n a = labelFormat(invert[0]),\n b = labelFormat(invert[1]);\n\n return labelFormat(invert[0]) + \" \" + labelDelimiter + \" \" + labelFormat(invert[1]);\n\n });\n\n return {data: scale.range(),\n labels: labels,\n feature: this.d3_identity\n };\n },\n\n d3_ordinalLegend: function (scale) {\n return {data: scale.domain(),\n labels: scale.domain(),\n feature: function(d){ return scale(d); }};\n },\n\n d3_drawShapes: function (shape, shapes, shapeHeight, shapeWidth, shapeRadius, path) {\n if (shape === \"rect\"){\n shapes.attr(\"height\", shapeHeight).attr(\"width\", shapeWidth);\n\n } else if (shape === \"circle\") {\n shapes.attr(\"r\", shapeRadius)//.attr(\"cx\", shapeRadius).attr(\"cy\", shapeRadius);\n\n } else if (shape === \"line\") {\n shapes.attr(\"x1\", 0).attr(\"x2\", shapeWidth).attr(\"y1\", 0).attr(\"y2\", 0);\n\n } else if (shape === \"path\") {\n shapes.attr(\"d\", path);\n }\n },\n\n d3_addText: function (svg, enter, labels, classPrefix){\n enter.append(\"text\").attr(\"class\", classPrefix + \"label\");\n svg.selectAll(\"g.\" + classPrefix + \"cell text\").data(labels).text(this.d3_identity);\n },\n\n d3_calcType: function (scale, ascending, cells, labels, labelFormat, labelDelimiter){\n var type = scale.invertExtent ?\n this.d3_quantLegend(scale, labelFormat, labelDelimiter) : scale.ticks ?\n this.d3_linearLegend(scale, cells, labelFormat) : this.d3_ordinalLegend(scale);\n\n type.labels = this.d3_mergeLabels(type.labels, labels);\n\n if (ascending) {\n type.labels = this.d3_reverse(type.labels);\n type.data = this.d3_reverse(type.data);\n }\n\n return type;\n },\n\n d3_reverse: function(arr) {\n var mirror = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n mirror[i] = arr[l-i-1];\n }\n return mirror;\n },\n\n d3_placement: function (orient, cell, cellTrans, text, textTrans, labelAlign) {\n cell.attr(\"transform\", cellTrans);\n text.attr(\"transform\", textTrans);\n if (orient === \"horizontal\"){\n text.style(\"text-anchor\", labelAlign);\n }\n },\n\n d3_addEvents: function(cells, dispatcher){\n var _ = this;\n\n cells.on(\"mouseover.legend\", function (d) { _.d3_cellOver(dispatcher, d, this); })\n .on(\"mouseout.legend\", function (d) { _.d3_cellOut(dispatcher, d, this); })\n .on(\"click.legend\", function (d) { _.d3_cellClick(dispatcher, d, this); });\n },\n\n d3_cellOver: function(cellDispatcher, d, obj){\n cellDispatcher.call(\"cellover\", obj, d);\n },\n\n d3_cellOut: function(cellDispatcher, d, obj){\n cellDispatcher.call(\"cellout\", obj, d);\n },\n\n d3_cellClick: function(cellDispatcher, d, obj){\n cellDispatcher.call(\"cellclick\", obj, d);\n },\n\n d3_title: function(svg, title, classPrefix){\n if (title !== \"\"){\n\n var titleText = svg.selectAll('text.' + classPrefix + 'legendTitle');\n\n titleText.data([title])\n .enter()\n .append('text')\n .attr('class', classPrefix + 'legendTitle');\n\n svg.selectAll('text.' + classPrefix + 'legendTitle')\n .text(title)\n\n var cellsSvg = svg.select('.' + classPrefix + 'legendCells')\n\n var yOffset = svg.select('.' + classPrefix + 'legendTitle').nodes()\n .map(function(d) { return d.getBBox().height})[0],\n xOffset = -cellsSvg.nodes().map(function(d) { return d.getBBox().x})[0];\n\n cellsSvg.attr('transform', 'translate(' + xOffset + ',' + (yOffset + 10) + ')');\n\n }\n }\n}\n","import helper from './legend';\nimport { dispatch } from 'd3-dispatch';\nimport { scaleLinear } from 'd3-scale';\nimport { format } from 'd3-format';\n\nexport default function color(){\n\n var scale = scaleLinear(),\n shape = \"rect\",\n shapeWidth = 15,\n shapeHeight = 15,\n shapeRadius = 10,\n shapePadding = 2,\n cells = [5],\n labels = [],\n classPrefix = \"\",\n useClass = false,\n title = \"\",\n labelFormat = format(\".01f\"),\n labelOffset = 10,\n labelAlign = \"middle\",\n labelDelimiter = \"to\",\n orient = \"vertical\",\n ascending = false,\n path,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n\n function legend(svg){\n\n var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter),\n legendG = svg.selectAll('g').data([scale]);\n\n legendG.enter().append('g').attr('class', classPrefix + 'legendCells');\n\n var cell = svg.select('.' + classPrefix + 'legendCells')\n .selectAll(\".\" + classPrefix + \"cell\").data(type.data),\n cellEnter = cell.enter().append(\"g\")\n .attr(\"class\", classPrefix + \"cell\"),//.merge(cell).style(\"opacity\", 1e-6),\n shapeEnter = cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\"),\n shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape);\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher);\n\n cell.exit().transition().style(\"opacity\", 0).remove();\n\n helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path);\n\n helper.d3_addText( svg, cellEnter, type.labels, classPrefix)\n\n // sets placement\n var text = cellEnter.selectAll(\"text\"),\n shapeSize = shapes.nodes().map( function(d){ return d.getBBox(); });\n\n //sets scale\n //everything is fill except for line which is stroke,\n if (!useClass){\n if (shape == \"line\"){\n shapes.style(\"stroke\", type.feature);\n } else {\n shapes.style(\"fill\", type.feature);\n }\n } else {\n shapes.attr(\"class\", function(d){ return classPrefix + \"swatch \" + type.feature(d); });\n }\n\n var cellTrans,\n textTrans,\n textAlign = (labelAlign == \"start\") ? 0 : (labelAlign == \"middle\") ? 0.5 : 1;\n\n //positions cells and text\n if (orient === \"vertical\"){\n cellTrans = function(d,i) { return \"translate(0, \" + (i * (shapeSize[i].height + shapePadding)) + \")\"; };\n textTrans = function(d,i) { return \"translate(\" + (shapeSize[i].width + shapeSize[i].x +\n labelOffset) + \",\" + (shapeSize[i].y + shapeSize[i].height/2 + 5) + \")\"; };\n\n } else if (orient === \"horizontal\"){\n cellTrans = function(d,i) { return \"translate(\" + (i * (shapeSize[i].width + shapePadding)) + \",0)\"; }\n textTrans = function(d,i) { return \"translate(\" + (shapeSize[i].width*textAlign + shapeSize[i].x) +\n \",\" + (shapeSize[i].height + shapeSize[i].y + labelOffset + 8) + \")\"; };\n }\n\n helper.d3_placement(orient, cellEnter, cellTrans, text, textTrans, labelAlign);\n helper.d3_title(svg, title, classPrefix);\n\n cell.transition().style(\"opacity\", 1);\n\n }\n\n\n\n legend.scale = function(_) {\n if (!arguments.length) return scale;\n scale = _;\n return legend;\n };\n\n legend.cells = function(_) {\n if (!arguments.length) return cells;\n if (_.length > 1 || _ >= 2 ){\n cells = _;\n }\n return legend;\n };\n\n legend.shape = function(_, d) {\n if (!arguments.length) return shape;\n if (_ == \"rect\" || _ == \"circle\" || _ == \"line\" || (_ == \"path\" && (typeof d === 'string')) ){\n shape = _;\n path = d;\n }\n return legend;\n };\n\n legend.shapeWidth = function(_) {\n if (!arguments.length) return shapeWidth;\n shapeWidth = +_;\n return legend;\n };\n\n legend.shapeHeight = function(_) {\n if (!arguments.length) return shapeHeight;\n shapeHeight = +_;\n return legend;\n };\n\n legend.shapeRadius = function(_) {\n if (!arguments.length) return shapeRadius;\n shapeRadius = +_;\n return legend;\n };\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding;\n shapePadding = +_;\n return legend;\n };\n\n legend.labels = function(_) {\n if (!arguments.length) return labels;\n labels = _;\n return legend;\n };\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign;\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _;\n }\n return legend;\n };\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return labelFormat;\n labelFormat = _;\n return legend;\n };\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset;\n labelOffset = +_;\n return legend;\n };\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter;\n labelDelimiter = _;\n return legend;\n };\n\n legend.useClass = function(_) {\n if (!arguments.length) return useClass;\n if (_ === true || _ === false){\n useClass = _;\n }\n return legend;\n };\n\n legend.orient = function(_){\n if (!arguments.length) return orient;\n _ = _.toLowerCase();\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _;\n }\n return legend;\n };\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending;\n ascending = !!_;\n return legend;\n };\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix;\n classPrefix = _;\n return legend;\n };\n\n legend.title = function(_) {\n if (!arguments.length) return title;\n title = _;\n return legend;\n };\n\n legend.on = function(){\n var value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value;\n }\n\n return legend;\n\n};\n","import helper from './legend';\nimport { dispatch } from 'd3-dispatch';\nimport { scaleLinear } from 'd3-scale';\nimport { format } from 'd3-format';\nimport { sum, max } from 'd3-array';\n\nexport default function size(){\n\n var scale = scaleLinear(),\n shape = \"rect\",\n shapeWidth = 15,\n shapePadding = 2,\n cells = [5],\n labels = [],\n useStroke = false,\n classPrefix = \"\",\n title = \"\",\n labelFormat = format(\".01f\"),\n labelOffset = 10,\n labelAlign = \"middle\",\n labelDelimiter = \"to\",\n orient = \"vertical\",\n ascending = false,\n path,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n\n function legend(svg){\n\n var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter),\n legendG = svg.selectAll('g').data([scale]);\n\n legendG.enter().append('g').attr('class', classPrefix + 'legendCells');\n\n var cell = svg.select('.' + classPrefix + 'legendCells')\n .selectAll(\".\" + classPrefix + \"cell\").data(type.data),\n cellEnter = cell.enter().append(\"g\")\n .attr(\"class\", classPrefix + \"cell\"),//.merge(cell).style(\"opacity\", 1e-6),\n shapeEnter = cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\"),\n shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape);\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher);\n\n cell.exit().transition().style(\"opacity\", 0).remove();\n\n //creates shape\n if (shape === \"line\"){\n helper.d3_drawShapes(shape, shapes, 0, shapeWidth);\n shapes.attr(\"stroke-width\", type.feature);\n } else {\n helper.d3_drawShapes(shape, shapes, type.feature, type.feature, type.feature, path);\n }\n\n helper.d3_addText( svg, cellEnter, type.labels, classPrefix)\n\n //sets placement\n var text = cellEnter.selectAll(\"text\"),\n shapeSize = shapes.nodes().map(\n function(d, i){\n var bbox = d.getBBox()\n var stroke = scale(type.data[i]);\n\n if (shape === \"line\" && orient === \"horizontal\") {\n bbox.height = bbox.height + stroke;\n } else if (shape === \"line\" && orient === \"vertical\"){\n bbox.width = bbox.width;\n }\n\n return bbox;\n });\n\n var maxH = max(shapeSize, function(d){ return d.height + d.y; }),\n maxW = max(shapeSize, function(d){ return d.width + d.x; });\n\n var cellTrans,\n textTrans,\n textAlign = (labelAlign == \"start\") ? 0 : (labelAlign == \"middle\") ? 0.5 : 1;\n\n //positions cells and text\n if (orient === \"vertical\"){\n\n cellTrans = function(d,i) {\n var height = sum(shapeSize.slice(0, i + 1 ), function(d){ return d.height; });\n return \"translate(0, \" + (height + i*shapePadding) + \")\"; };\n\n textTrans = function(d,i) { return \"translate(\" + (maxW + labelOffset) + \",\" +\n (shapeSize[i].y + shapeSize[i].height/2 + 5) + \")\"; };\n\n } else if (orient === \"horizontal\"){\n cellTrans = function(d,i) {\n var width = sum(shapeSize.slice(0, i + 1 ), function(d){ return d.width; });\n return \"translate(\" + (width + i*shapePadding) + \",0)\"; };\n\n textTrans = function(d,i) { return \"translate(\" + (shapeSize[i].width*textAlign + shapeSize[i].x) + \",\" +\n (maxH + labelOffset ) + \")\"; };\n }\n\n helper.d3_placement(orient, cellEnter, cellTrans, text, textTrans, labelAlign);\n helper.d3_title(svg, title, classPrefix);\n\n cell.transition().style(\"opacity\", 1);\n\n }\n\n legend.scale = function(_) {\n if (!arguments.length) return scale;\n scale = _;\n return legend;\n };\n\n legend.cells = function(_) {\n if (!arguments.length) return cells;\n if (_.length > 1 || _ >= 2 ){\n cells = _;\n }\n return legend;\n };\n\n\n legend.shape = function(_, d) {\n if (!arguments.length) return shape;\n if (_ == \"rect\" || _ == \"circle\" || _ == \"line\" ){\n shape = _;\n path = d;\n }\n return legend;\n };\n\n legend.shapeWidth = function(_) {\n if (!arguments.length) return shapeWidth;\n shapeWidth = +_;\n return legend;\n };\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding;\n shapePadding = +_;\n return legend;\n };\n\n legend.labels = function(_) {\n if (!arguments.length) return labels;\n labels = _;\n return legend;\n };\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign;\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _;\n }\n return legend;\n };\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return labelFormat;\n labelFormat = _;\n return legend;\n };\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset;\n labelOffset = +_;\n return legend;\n };\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter;\n labelDelimiter = _;\n return legend;\n };\n\n legend.orient = function(_){\n if (!arguments.length) return orient;\n _ = _.toLowerCase();\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _;\n }\n return legend;\n };\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending;\n ascending = !!_;\n return legend;\n };\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix;\n classPrefix = _;\n return legend;\n };\n\n legend.title = function(_) {\n if (!arguments.length) return title;\n title = _;\n return legend;\n };\n\n legend.on = function(){\n var value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value;\n }\n\n return legend;\n\n};\n","import helper from './legend';\nimport { dispatch } from 'd3-dispatch';\nimport { scaleLinear } from 'd3-scale';\nimport { format } from 'd3-format';\nimport { max } from 'd3-array';\n\nexport default function symbol(){\n\n var scale = scaleLinear(),\n shape = \"path\",\n shapeWidth = 15,\n shapeHeight = 15,\n shapeRadius = 10,\n shapePadding = 5,\n cells = [5],\n labels = [],\n classPrefix = \"\",\n useClass = false,\n title = \"\",\n labelFormat = format(\".01f\"),\n labelAlign = \"middle\",\n labelOffset = 10,\n labelDelimiter = \"to\",\n orient = \"vertical\",\n ascending = false,\n legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n\n function legend(svg){\n\n var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter),\n legendG = svg.selectAll('g').data([scale]);\n\n legendG.enter().append('g').attr('class', classPrefix + 'legendCells');\n\n var cell = svg.select('.' + classPrefix + 'legendCells')\n .selectAll(\".\" + classPrefix + \"cell\").data(type.data),\n cellEnter = cell.enter().append(\"g\")\n .attr(\"class\", classPrefix + \"cell\"),//.style(\"opacity\", 1e-6),\n shapeEnter = cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\"),\n shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape);\n\n //add event handlers\n helper.d3_addEvents(cellEnter, legendDispatcher);\n\n //remove old shapes\n cell.exit().transition().style(\"opacity\", 0).remove();\n\n helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, type.feature);\n helper.d3_addText( svg, cellEnter, type.labels, classPrefix)\n\n // sets placement\n var text = cellEnter.selectAll(\"text\"),\n shapeSize = shapes.nodes().map( function(d){ return d.getBBox(); });\n\n var maxH = max(shapeSize, function(d){ return d.height; }),\n maxW = max(shapeSize, function(d){ return d.width; });\n\n var cellTrans,\n textTrans,\n textAlign = (labelAlign == \"start\") ? 0 : (labelAlign == \"middle\") ? 0.5 : 1;\n\n //positions cells and text\n if (orient === \"vertical\"){\n cellTrans = function(d,i) { return \"translate(0, \" + (i * (maxH + shapePadding)) + \")\"; };\n textTrans = function(d,i) { return \"translate(\" + (maxW + labelOffset) + \",\" +\n (shapeSize[i].y + shapeSize[i].height/2 + 5) + \")\"; };\n\n } else if (orient === \"horizontal\"){\n cellTrans = function(d,i) { return \"translate(\" + (i * (maxW + shapePadding)) + \",0)\"; };\n textTrans = function(d,i) { return \"translate(\" + (shapeSize[i].width*textAlign + shapeSize[i].x) + \",\" +\n (maxH + labelOffset ) + \")\"; };\n }\n\n helper.d3_placement(orient, cellEnter, cellTrans, text, textTrans, labelAlign);\n helper.d3_title(svg, title, classPrefix);\n cell.transition().style(\"opacity\", 1);\n\n }\n\n\n legend.scale = function(_) {\n if (!arguments.length) return scale;\n scale = _;\n return legend;\n };\n\n legend.cells = function(_) {\n if (!arguments.length) return cells;\n if (_.length > 1 || _ >= 2 ){\n cells = _;\n }\n return legend;\n };\n\n legend.shapePadding = function(_) {\n if (!arguments.length) return shapePadding;\n shapePadding = +_;\n return legend;\n };\n\n legend.labels = function(_) {\n if (!arguments.length) return labels;\n labels = _;\n return legend;\n };\n\n legend.labelAlign = function(_) {\n if (!arguments.length) return labelAlign;\n if (_ == \"start\" || _ == \"end\" || _ == \"middle\") {\n labelAlign = _;\n }\n return legend;\n };\n\n legend.labelFormat = function(_) {\n if (!arguments.length) return labelFormat;\n labelFormat = _;\n return legend;\n };\n\n legend.labelOffset = function(_) {\n if (!arguments.length) return labelOffset;\n labelOffset = +_;\n return legend;\n };\n\n legend.labelDelimiter = function(_) {\n if (!arguments.length) return labelDelimiter;\n labelDelimiter = _;\n return legend;\n };\n\n legend.orient = function(_){\n if (!arguments.length) return orient;\n _ = _.toLowerCase();\n if (_ == \"horizontal\" || _ == \"vertical\") {\n orient = _;\n }\n return legend;\n };\n\n legend.ascending = function(_) {\n if (!arguments.length) return ascending;\n ascending = !!_;\n return legend;\n };\n\n legend.classPrefix = function(_) {\n if (!arguments.length) return classPrefix;\n classPrefix = _;\n return legend;\n };\n\n legend.title = function(_) {\n if (!arguments.length) return title;\n title = _;\n return legend;\n };\n\n legend.on = function(){\n var value = legendDispatcher.on.apply(legendDispatcher, arguments)\n return value === legendDispatcher ? legend : value;\n }\n\n return legend;\n\n};\n","import legendColor from './src/color'\nimport legendSize from './src/size'\nimport legendSymbol from './src/symbol'\n\nexport default {\n legendColor,\n legendSize,\n legendSymbol\n};"],"names":["scaleLinear","format","dispatch","max","sum"],"mappings":"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"}