{"version":3,"sources":["webpack:///./node_modules/blacklight-range-limit/app/assets/javascripts/blacklight_range_limit/blacklight_range_limit.esm.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/bootstrap-slider.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.canvaswrapper.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.colorhelpers.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.event.drag.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.browser.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.drawSeries.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.hover.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.saturated.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.selection.js","webpack:///./node_modules/blacklight-range-limit/vendor/assets/javascripts/flot/jquery.flot.uiConstants.js"],"names":["BlacklightRangeLimit","options","this","display_ratio","redrawnEvent","parseNum","str","String","replace","parseInt","form_selection","form","min","max","begin_val","$","find","val","isNaN","end_val","normalized_selection","checkForNeededFacetsToFetch","each","container","parent","load","attr","response","status","hasClass","turnIntoPlot","function_for_find_segment","pointer_lookup_arr","x_coord","i","length","hash","from","xaxis","domDependenciesMet","plot","modalObserverConfig","attributes","initSliderModalObserver","modalSelector","MutationObserver","mutations","forEach","mutation","attributeName","target","hasAttribute","buildSlider","observe","document","querySelector","initPlotModalObserver","wait_for_visible","width","height","areaChart","trigger","setTimeout","parseSegment","el","first","data","series_data","Array","pointer_lookup","x_ticks","segment","to","count","text","avg","push","html","config","closest","extend","yaxis","ticks","autoscaleMargin","tickDecimals","series","lines","fill","steps","grid","clickable","hoverable","autoHighlight","margin","left","right","selection","mode","err","alert","find_segment_for","last_segment","tooltip","show","hide","bind","event","pos","item","x","title","label","getSelection","setSelection","ranges","Math","floor","slider_placeholder","slider","on","ui","values","getValue","redrawPlot","resize","setupGrid","draw","initializeDistroFacets","filter","func","wait","immediate","timeout","window","context","args","arguments","callNow","clearTimeout","apply","initializeSlider","area","slider_el","css","min_max","range_element","current_limit","isInt","n","thisContext","boundaries","contents","wrapAll","begin_el","end_el","placeholder_input","appendTo","undefined","value","plot_el","change","val1","val2","initialize","Slider","element","picker","insertBefore","append","id","Modernizr","touch","touchCapable","tooltipInner","orientation","addClass","stylePos","mousePos","sizePos","style","outerWidth","top","outerHeight","step","range","selectionEl","selectionElStyle","handle1","handle1Stype","handle2","handle2Stype","handle","diff","percentage","offset","size","formater","layout","touchstart","proxy","mousedown","mouseenter","showTooltip","mouseleave","hideTooltip","prototype","constructor","over","inDrag","removeClass","abs","ev","type","originalEvent","getPercentage","diff1","diff2","dragged","touchmove","mousemove","touchend","mouseup","calculateValue","prop","off","round","touches","setValue","fn","option","$this","defaults","Constructor","Canvas","cls","getElementsByClassName","createElement","className","direction","position","appendChild","getContext","Error","pixelRatio","browser","getPixelRatio","SVGContainer","SVG","_textCache","updateTransforms","transforms","transform","baseVal","clear","t","appendItem","restore","save","scale","clearRect","render","cache","layerKey","hasOwnProperty","call","layer","getSVGLayer","layerCache","display","styleKey","styleCache","key","positions","active","rendered","splice","firstChild","removeChild","parentNode","measured","classes","svgElement","pointerEvents","createElementNS","setAttribute","bottom","getTextInfo","font","angle","textStyle","info","variant","weight","lineHeight","family","generateKey","indexOf","addTspanElements","textNode","createTextNode","maxWidth","setAttributeNS","elementRect","getBBox","addText","y","halign","valign","textContent","cloneNode","textAlign","tspan","split","childNodes","removeText","htmlYCoord","clearCache","Flot","jQuery","defaultTickGenerator","axis","prev","start","saturated","saturate","floorInBase","tickSize","v","Number","NaN","MAX_VALUE","multiplyAdd","defaultTickFormatter","precision","oldTickDecimals","expRepTickFormatter","factor","parseFloat","formatted","decimal","decimalPrecision","substr","expPosition","exponentValue","tenExponent","log","LN10","roundWith","updatedPrecision","recomputePrecision","toFixed","num","log10Value","LOG10E","newPrecision","Plot","placeholder","data_","options_","plugins","colors","color","tickColor","inverseTransform","autoScaleMargin","autoScale","windowSize","growOnly","tickFormatter","showTickLabels","labelWidth","labelHeight","reserveSpace","tickLength","showMinorTicks","showTicks","gridLines","alignTicksWithAxis","minTickSize","below","above","boxPosition","centerX","centerY","xaxes","yaxes","points","radius","lineWidth","fillColor","symbol","bars","horizontal","barWidth","align","zero","shadowSize","highlightColor","aboveData","backgroundColor","borderColor","labelMargin","axisMargin","borderWidth","minBorderMargin","markings","markingsColor","markingsLineWidth","mouseActiveRadius","interaction","redrawOverlayInterval","hooks","surface","overlay","eventHolder","ctx","octx","plotOffset","plotWidth","plotHeight","processOptions","processRawData","processDatapoints","processOffset","adjustSeriesDataRange","setRange","drawBackground","drawSeries","drawAxis","findNearbyItems","axisReserveSpace","bindEvents","drawOverlay","shutdown","eventManager","redrawTimeout","setData","getPlaceholder","getCanvas","getSurface","getEventHolder","getPlotOffset","o","getData","getAxes","res","concat","_","getXAxes","getYAxes","c2p","used","x1","y1","p2c","getOptions","triggerRedrawOverlay","pointOffset","point","axisNumber","destroy","removeData","empty","executeHooks","clearTextCache","autoScaleAxis","computeRangeForDataSeries","force","isValid","datapoints","ps","pointsize","format","topSentry","POSITIVE_INFINITY","bottomSentry","NEGATIVE_INFINITY","xmin","ymin","xmax","ymax","j","m","f","computeRange","Infinity","delta","useAbsoluteBarWidth","xValues","minDistance","isFinite","onlyUnique","index","self","sort","a","b","distance","computeBarWidth","findNearbyItem","mouseX","mouseY","seriesFilter","computeDistance","items","findNearbyInterpolationPoint","posX","posY","dist","dx","dy","smallestDistance","comparer","x2","p1x","p1y","p2x","p2y","datapoint","leftPoint","rightPoint","seriesIndex","computeValuePrecision","computeTickSize","addEventHandler","handler","priority","eventList","eventData","unbind","MINOR_TICKS_COUNT_CONSTANT","uiConstants","TICK_LENGTH_CONSTANT","hook","d","oldseries","s","parseData","neededColors","maxIndex","sc","c","colorPool","colorPoolSize","variation","definedColors","parse","colori","toString","getOrCreateAxis","fillInSeriesOptions","prevSeries","k","p","updateAxis","datamin","datamax","reusePoints","allAxes","number","required","defaultValue","stack","nullify","every","processData","obj","coord","axes","setTransformationHelpers","identity","it","tp","allocateAxisBoxFirstPhase","lw","lh","isXAxis","padding","innermost","outermost","found","box","alignAxisWithGrid","ceil","showGrid","axisOpts","opts","slice","setupTickFormatter","autoScaledMin","autoScaledMax","tmp","allocatedAxes","grep","noTicks","fixupNumberOfTicks","sqrt","getAxisTickSize","tickGenerator","otherAxis","niceTicks","extraDec","ts","test","setupTickGeneration","oticks","isFunction","newTick","setMajorTicks","anyDataInSeries","some","e","snapRangeToTicks","associatedSeries","notAllBarSeries","isValidEndpointTick","unshift","setEndpointTicks","showMajorTickLabels","showEndpointsTickLabels","legacyStyles","name","measureTickLabels","minMargin","margins","adjustLayoutForThingsStickingOut","allocateAxisBoxSecondPhase","newLabelBox","nullBox","labelBoxes","overlapping","x11","y11","x12","y12","x21","y21","x22","y22","overlapsOtherLabels","previousLabelBoxes","labelBox","drawAxisLabel","tick","widenedMinMax","minimum","maximum","widen","wmin","widenMinMax","dec","norm","magn","ticksOption","canvas1","canvas2","point1","point2","getEndpointPrecision","translate","fillStyle","getColorOrGradient","fillRect","drawGrid","extractRange","findEdges","alignPosition","drawTickBar","edges","xoff","yoff","strokeStyle","beginPath","moveTo","lineTo","stroke","drawTickMarks","minorTicks","minorTicksNr","xminor","yminor","v1","drawGridLines","bw","xrange","yrange","xequal","yequal","subPixel","drawMarkings","bc","strokeRect","drawBorder","drawSeriesLines","drawSymbol","drawSeriesBars","drawSeriesPoints","foundItems","foundPoint","findNearbyPoint","dataIndex","foundIndex","findNearbyBar","itemDistance","findItems","maxDistance","mx","my","maxx","maxy","barLeft","barRight","fillTowards","defaultBottom","CustomEvent","dispatchEvent","spec","defaultColor","gradient","createLinearGradient","l","co","brightness","opacity","addColorStop","init","initPlugins","children","remove","existing","setupCanvases","axisOptions","axisCount","fontSize","fontSizeDefault","fontDefaults","parseOptions","version","linearTickGenerator","make","r","g","add","charAt","normalize","join","clamp","clone","extract","elem","toLowerCase","nodeName","get","exec","trim","lookupColors","aqua","azure","beige","black","blue","brown","cyan","darkblue","darkcyan","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkviolet","fuchsia","gold","green","indigo","khaki","lightblue","lightcyan","lightgreen","lightgrey","lightpink","lightyellow","lime","magenta","maroon","navy","olive","orange","pink","purple","violet","red","silver","white","yellow","drag","fn1","fn2","fn3","$event","$special","special","not","which","drop","dragging","setup","squared","attachEvent","dontStart","teardown","selectable","detachEvent","returned","dragTarget","dragProxy","cursorOffsetX","pageX","cursorOffsetY","pageY","offsetX","offsetY","is","hijack","allowed","result","dispatch","pow","bool","ownerDocument","unselectable","MozUserSelect","dragstart","dragend","getPageXY","doc","documentElement","X","clientX","pageXOffset","scrollLeft","clientLeft","Y","clientY","pageYOffset","scrollTop","clientTop","devicePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","isSafari","HTMLElement","safari","pushNotification","isMobileSafari","navigator","userAgent","match","isOpera","opr","addons","opera","isFirefox","InstallTrigger","isIE","documentMode","isEdge","StyleMedia","isChrome","chrome","webstore","isBlink","CSS","drawBar","fillStyleCallback","axisx","axisy","drawLeft","drawRight","drawTop","drawBottom","getFillStyle","filloptions","seriesColor","lineJoin","dashes","setLineDash","decimate","ypos","areaOpen","segmentStart","segmentEnd","y2","x1old","x2old","plotLineArea","xoffset","yoffset","prevx","prevy","plotLine","drawCircle","shadow","arc","PI","decimatePoints","drawSymbolFn","plotPoints","plotBars","eventType","lastMouseMoveEvent","highlights","generatePlothoverEvent","newEvent","detail","changedTouches","doTriggerClickHoverEvent","searchDistance","seriesFlag","triggerClickHoverEvent","onMouseMove","onMouseLeave","onClick","triggerCleanupEvent","unhighlight","eventname","page","canvasX","canvasY","h","auto","highlight","indexOfHighlight","hi","drawBarHighlight","drawPointHighlight","pointRadius","closePath","addEventListener","removeEventListener","multiply","bInt","base","second","currentMode","SNAPPING_CONSTANT","savedhandlers","onDrag","updateSelection","onDragStart","body","focus","onselectstart","ondrag","setSelectionPos","onDragEnd","selectionIsSane","triggerSelectedEvent","c1","c2","selectionDirection","p1","p2","updateMode","clearSelection","preventEvent","minSize","visualization","displaySelectionDecorations","scalingFactor","shape","oX","oY","w","fullEarWidth","earWidth","drawSelectionDecorations","PANHINT_LENGTH_CONSTANT","ZOOM_DISTANCE_MARGIN"],"mappings":"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","file":"js/npm.blacklight-range-limit-aacc809a0ac97a5672ea.chunk.js","sourcesContent":["/**\n * BlacklightRangeLimit module setup.\n */\n\nconst BlacklightRangeLimit = function (options) {\n this.options = options || {};\n};\nBlacklightRangeLimit.display_ratio = 1 / (1.618 * 2); // half a golden rectangle, why not\n/* A custom event \"plotDrawn.blacklight.rangeLimit\" will be sent when flot plot\n is (re-)drawn on screen possibly with a new size. target of event will be the DOM element\n containing the plot. Used to resize slider to match. */\nBlacklightRangeLimit.redrawnEvent = \"plotDrawn.blacklight.rangeLimit\";\n\n// takes a string and parses into an integer, but throws away commas first, to avoid truncation when there is a comma\n// use in place of javascript's native parseInt\nBlacklightRangeLimit.parseNum = function parseNum(str) {\n str = String(str).replace(/[^0-9-]/g, '');\n return parseInt(str, 10);\n};\nBlacklightRangeLimit.form_selection = function form_selection(form, min, max) {\n var begin_val = BlacklightRangeLimit.parseNum($(form).find(\"input.range_begin\").val());\n if (isNaN(begin_val) || begin_val < min) {\n begin_val = min;\n }\n var end_val = BlacklightRangeLimit.parseNum($(form).find(\"input.range_end\").val());\n if (isNaN(end_val) || end_val > max) {\n end_val = max;\n }\n return BlacklightRangeLimit.normalized_selection(begin_val, end_val);\n};\n\n// Add AJAX fetched range facets if needed, and add a chart to em\nBlacklightRangeLimit.checkForNeededFacetsToFetch = function checkForNeededFacetsToFetch() {\n $(\".range_limit .profile .distribution a.load_distribution\").each(function () {\n var container = $(this).parent('div.distribution');\n $(container).load($(this).attr('href'), function (response, status) {\n if ($(container).hasClass(\"chart_js\") && status == \"success\") {\n BlacklightRangeLimit.turnIntoPlot(container);\n }\n });\n });\n};\nBlacklightRangeLimit.function_for_find_segment = function function_for_find_segment(pointer_lookup_arr) {\n return function (x_coord) {\n for (var i = pointer_lookup_arr.length - 1; i >= 0; i--) {\n var hash = pointer_lookup_arr[i];\n if (x_coord >= hash.from) return hash;\n }\n return pointer_lookup_arr[0];\n };\n};\n\n// Send endpoint to endpoint+0.99999 to have display\n// more closely approximate limiting behavior esp\n// at small resolutions. (Since we search on whole numbers,\n// inclusive, but flot chart is decimal.)\nBlacklightRangeLimit.normalized_selection = function normalized_selection(min, max) {\n max += 0.99999;\n return {\n xaxis: {\n 'from': min,\n 'to': max\n }\n };\n};\n\n// Check if Flot is loaded\nBlacklightRangeLimit.domDependenciesMet = function domDependenciesMet() {\n return typeof $.plot != \"undefined\";\n};\nBlacklightRangeLimit.modalObserverConfig = {\n attributes: true\n};\nBlacklightRangeLimit.initSliderModalObserver = function (modalSelector) {\n // Use a mutation observer to detect when the modal dialog is open\n const modalObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.attributeName !== 'open') {\n return;\n }\n if (mutation.target.hasAttribute('open')) {\n $(modalSelector).find(\".range_limit .profile .range.slider_js\").each(function () {\n BlacklightRangeLimit.buildSlider(this);\n });\n }\n });\n });\n modalObserver.observe(document.querySelector(modalSelector), BlacklightRangeLimit.modalObserverConfig);\n};\nBlacklightRangeLimit.initPlotModalObserver = function (modalSelector) {\n // Use a mutation observer to detect when the modal dialog is open\n const modalObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.attributeName !== 'open') {\n return;\n }\n if (mutation.target.hasAttribute('open')) {\n $(modalSelector).find(\".range_limit .profile .distribution.chart_js ul\").each(function () {\n BlacklightRangeLimit.turnIntoPlot($(this).parent());\n });\n\n // Case when there is no currently selected range\n BlacklightRangeLimit.checkForNeededFacetsToFetch();\n }\n });\n });\n modalObserver.observe(document.querySelector(modalSelector), BlacklightRangeLimit.modalObserverConfig);\n};\n\n// second arg, if provided, is a number of ms we're willing to\n\nBlacklightRangeLimit.turnIntoPlot = function turnIntoPlot(container, wait_for_visible) {\n // flot can only render in a a div with a defined width.\n // for instance, a hidden div can't generally be rendered in (although if you set\n // an explicit width on it, it might work)\n //\n // We'll count on later code that catch bootstrap collapse open to render\n // on show, for currently hidden divs.\n\n // for some reason width sometimes return negative, not sure\n // why but it's some kind of hidden.\n if (container.width() > 0) {\n var height = container.width() * BlacklightRangeLimit.display_ratio;\n\n // Need an explicit height to make flot happy.\n container.height(height);\n BlacklightRangeLimit.areaChart($(container));\n $(container).trigger(BlacklightRangeLimit.redrawnEvent);\n } else if (wait_for_visible > 0) {\n setTimeout(function () {\n BlacklightRangeLimit.turnIntoPlot(container, wait_for_visible - 50);\n }, 50);\n }\n};\nBlacklightRangeLimit.parseSegment = function parseSegment(el) {\n if ($(el).find(\"span.single\").first().data('blrlSingle')) {\n var val = BlacklightRangeLimit.parseNum($(el).find(\"span.single\").first().data('blrlSingle'));\n return [val, val];\n } else {\n var from = BlacklightRangeLimit.parseNum($(el).find(\"span.from\").first().data('blrlBegin'));\n var to = BlacklightRangeLimit.parseNum($(el).find(\"span.to\").first().data('blrlEnd'));\n return [from, to];\n }\n};\n\n// Takes a div holding a ul of distribution segments produced by\n// blacklight_range_limit/_range_facets and makes it into\n// a flot area chart.\nBlacklightRangeLimit.areaChart = function areaChart(container) {\n //flot loaded? And canvas element supported.\n if (BlacklightRangeLimit.domDependenciesMet()) {\n // Grab the data from the ul div\n var series_data = new Array();\n var pointer_lookup = new Array();\n var x_ticks = new Array();\n var min = BlacklightRangeLimit.parseSegment($(container).find(\"ul li:first-child\").first())[0];\n var max = BlacklightRangeLimit.parseSegment($(container).find(\"ul li:last-child\").first())[1];\n $(container).find(\"ul li\").each(function () {\n var segment = BlacklightRangeLimit.parseSegment(this);\n var from = segment[0];\n var to = segment[1];\n var count = BlacklightRangeLimit.parseNum($(this).find(\"span.facet-count,span.count\").text());\n var avg = count / (to - from + 1);\n\n //We use the avg as the y-coord, to make the area of each\n //segment proportional to how many documents it holds.\n series_data.push([from, avg]);\n series_data.push([to + 1, avg]);\n x_ticks.push(from);\n pointer_lookup.push({\n 'from': from,\n 'to': to,\n 'count': count,\n 'label': $(this).find(\".facet-select,.facet_select\").html()\n });\n });\n x_ticks.push(max + 1);\n var plot;\n var config = $(container).closest('.blrl-plot-config').data('plot-config') || $(container).closest('.facet-limit').data('plot-config') || {};\n try {\n plot = $.plot($(container), [series_data], $.extend(true, config, {\n yaxis: {\n ticks: [],\n min: 0,\n autoscaleMargin: 0.1\n },\n //xaxis: { ticks: x_ticks },\n xaxis: {\n tickDecimals: 0\n },\n // force integer ticks\n series: {\n lines: {\n fill: true,\n steps: true\n }\n },\n grid: {\n clickable: true,\n hoverable: true,\n autoHighlight: false,\n margin: {\n left: 0,\n right: 0\n }\n },\n selection: {\n mode: \"x\"\n }\n }));\n } catch (err) {\n alert(err);\n }\n var find_segment_for = BlacklightRangeLimit.function_for_find_segment(pointer_lookup);\n var last_segment = null;\n $(container).tooltip({\n 'html': true,\n 'placement': 'bottom',\n 'trigger': 'manual',\n 'delay': {\n show: 0,\n hide: 100\n }\n });\n $(container).bind(\"plothover\", function (event, pos, item) {\n var segment = find_segment_for(pos.x);\n if (segment != last_segment) {\n var title = find_segment_for(pos.x).label + ' (' + BlacklightRangeLimit.parseNum(segment.count) + ')';\n $(container).attr(\"title\", title).tooltip(\"_fixTitle\").tooltip(\"show\");\n last_segment = segment;\n }\n });\n $(container).bind(\"mouseout\", function () {\n last_segment = null;\n $(container).tooltip('hide');\n });\n $(container).bind(\"plotclick\", function (event, pos, item) {\n if (plot.getSelection() == null) {\n segment = find_segment_for(pos.x);\n plot.setSelection(BlacklightRangeLimit.normalized_selection(segment.from, segment.to));\n }\n });\n $(container).bind(\"plotselected plotselecting\", function (event, ranges) {\n if (ranges != null) {\n var from = Math.floor(ranges.xaxis.from);\n var to = Math.floor(ranges.xaxis.to);\n var form = $(container).closest(\".limit_content\").find(\"form.range_limit\");\n form.find(\"input.range_begin\").val(from);\n form.find(\"input.range_end\").val(to);\n var slider_placeholder = $(container).closest(\".limit_content\").find(\"[data-slider-placeholder]\");\n if (slider_placeholder) {\n slider_placeholder.slider(\"setValue\", [from, to]);\n }\n }\n });\n var form = $(container).closest(\".limit_content\").find(\"form.range_limit\");\n form.find(\"input.range_begin, input.range_end\").on('input', function () {\n plot.setSelection(BlacklightRangeLimit.form_selection(form, min, max), true);\n });\n $(container).closest(\".limit_content\").find(\".profile .range\").on(\"slide\", function (event, ui) {\n var values = $(event.target).data(\"slider\").getValue();\n form.find(\"input.range_begin\").val(values[0]);\n form.find(\"input.range_end\").val(values[1]);\n plot.setSelection(BlacklightRangeLimit.normalized_selection(values[0], Math.max(values[0], values[1])), true);\n });\n\n // initially entirely selected, to match slider\n plot.setSelection(BlacklightRangeLimit.normalized_selection(min, max));\n }\n};\n\n// after a collapsible facet contents is fully shown,\n// resize the flot chart to current conditions. This way, if you change\n// browser window size, you can get chart resized to fit by closing and opening\n// again, if needed.\nBlacklightRangeLimit.redrawPlot = function redrawPlot(container) {\n if (container && container.width() > 0) {\n // resize the container's height, since width may have changed.\n container.height(container.width() * BlacklightRangeLimit.display_ratio);\n\n // redraw the chart.\n var plot = container.data(\"plot\");\n if (plot) {\n // how to redraw after possible resize?\n // Cribbed from https://github.com/flot/flot/blob/master/jquery.flot.resize.js\n plot.resize();\n plot.setupGrid();\n plot.draw();\n // plus trigger redraw of the selection, which otherwise ain't always right\n // we'll trigger a fake event on one of the boxes\n var form = $(container).closest(\".limit_content\").find(\"form.range_limit\");\n form.find(\"input.range_begin\").trigger(\"change\");\n\n // send our custom event to trigger redraw of slider\n $(container).trigger(BlacklightRangeLimit.redrawnEvent);\n }\n }\n};\n\n/**\n * Closure functions in this file are mainly concerned with initializing, resizing, and updating\n * range limit functionality based off of page load, facet opening, page resizing, and otherwise\n * events.\n */\n\nBlacklightRangeLimit.initializeDistroFacets = function (modalSelector) {\n // Facets already on the page? Turn em into a chart.\n $(\".range_limit .profile .distribution.chart_js ul\").each(function () {\n BlacklightRangeLimit.turnIntoPlot($(this).parent());\n });\n BlacklightRangeLimit.checkForNeededFacetsToFetch();\n\n // Listen for twitter bootstrap collapsible open events, to render flot\n // in previously hidden divs on open, if needed.\n $(\"body\").on(\"show.bs.collapse\", function (event) {\n // Was the target a .facet-content including a .chart-js?\n var container = $(event.target).filter(\".facet-content\").find(\".chart_js\");\n\n // only if it doesn't already have a canvas, it isn't already drawn\n if (container && container.find(\"canvas\").length == 0) {\n // be willing to wait up to 1100ms for container to\n // have width -- right away on show.bs is too soon, but\n // shown.bs is later than we want, we want to start rendering\n // while animation is still in progress.\n BlacklightRangeLimit.turnIntoPlot(container, 1100);\n }\n });\n\n // For Blacklight version < 8, when loaded in a modal\n $(modalSelector).on('shown.bs.modal', function () {\n $(this).find(\".range_limit .profile .distribution.chart_js ul\").each(function () {\n BlacklightRangeLimit.turnIntoPlot($(this).parent());\n });\n\n // Case when there is no currently selected range\n BlacklightRangeLimit.checkForNeededFacetsToFetch();\n });\n\n // Use a mutation observer to detect when the HTML dialog is open\n BlacklightRangeLimit.initPlotModalObserver(modalSelector);\n $(\"body\").on(\"shown.bs.collapse\", function (event) {\n var container = $(event.target).filter(\".facet-content\").find(\".chart_js\");\n BlacklightRangeLimit.redrawPlot(container);\n });\n\n // debouce borrowed from underscore\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n const debounce = function (func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n $(window).on(\"resize\", debounce(function () {\n $(\".chart_js\").each(function (i, container) {\n BlacklightRangeLimit.redrawPlot($(container));\n });\n }, 350));\n};\n\n// for Blacklight.onLoad:\n\nBlacklightRangeLimit.initializeSlider = function (modalSelector) {\n $(\".range_limit .profile .range.slider_js\").each(function () {\n BlacklightRangeLimit.buildSlider(this);\n });\n\n // For Blacklight < 8, when loaded in a modal\n $(modalSelector).on('shown.bs.modal', function () {\n $(this).find(\".range_limit .profile .range.slider_js\").each(function () {\n BlacklightRangeLimit.buildSlider(this);\n });\n });\n\n // For Blacklight 8, use a mutation observer to detect when the HTML dialog is open\n BlacklightRangeLimit.initSliderModalObserver(modalSelector);\n\n // catch event for redrawing chart, to redraw slider to match width\n $(\"body\").on(\"plotDrawn.blacklight.rangeLimit\", function (event) {\n var area = $(event.target).closest(\".limit_content.range_limit\");\n var plot = area.find(\".chart_js\").data(\"plot\");\n var slider_el = area.find(\".slider\");\n if (plot && slider_el) {\n slider_el.width(plot.width());\n slider_el.css(\"display\", \"block\");\n }\n });\n};\n\n// returns two element array min/max as numbers. If there is a limit applied,\n// it's boundaries are are limits. Otherwise, min/max in current result\n// set as sniffed from HTML. Pass in a DOM element for a div.range\n// Will return NaN as min or max in case of error or other weirdness.\nBlacklightRangeLimit.min_max = function min_max(range_element) {\n var current_limit = $(range_element).closest(\".limit_content.range_limit\").find(\".current\");\n let min, max;\n min = max = BlacklightRangeLimit.parseNum(current_limit.find(\".single\").data('blrlSingle'));\n if (isNaN(min)) {\n min = BlacklightRangeLimit.parseNum(current_limit.find(\".from\").first().data('blrlBegin'));\n max = BlacklightRangeLimit.parseNum(current_limit.find(\".to\").first().data('blrlEnd'));\n }\n if (isNaN(min) || isNaN(max)) {\n //no current limit, take from results min max included in spans\n min = BlacklightRangeLimit.parseNum($(range_element).find(\".min\").first().text());\n max = BlacklightRangeLimit.parseNum($(range_element).find(\".max\").first().text());\n }\n return [min, max];\n};\n\n// Check to see if a value is an Integer\n// see: http://stackoverflow.com/questions/3885817/how-to-check-if-a-number-is-float-or-integer\nBlacklightRangeLimit.isInt = function isInt(n) {\n return n % 1 === 0;\n};\nBlacklightRangeLimit.buildSlider = function buildSlider(thisContext) {\n var range_element = $(thisContext);\n var boundaries = BlacklightRangeLimit.min_max(thisContext);\n var min = boundaries[0];\n var max = boundaries[1];\n if (BlacklightRangeLimit.isInt(min) && BlacklightRangeLimit.isInt(max)) {\n $(thisContext).contents().wrapAll('
');\n var range_element = $(thisContext);\n var form = $(range_element).closest(\".range_limit\").find(\"form.range_limit\");\n var begin_el = form.find(\"input.range_begin\");\n var end_el = form.find(\"input.range_end\");\n var placeholder_input = $('').appendTo(range_element);\n\n // make sure slider is loaded\n if (placeholder_input.slider !== undefined) {\n placeholder_input.slider({\n min: min,\n max: max,\n value: [min, max],\n tooltip: \"hide\"\n });\n\n // try to make slider width/orientation match chart's\n var container = range_element.closest(\".range_limit\");\n var plot_el = container.find(\".chart_js\");\n var plot = plot_el.data(\"plot\");\n var slider_el = container.find(\".slider\");\n if (plot_el) {\n plot_el.attr('aria-hidden', 'true');\n }\n if (slider_el) {\n slider_el.attr('aria-hidden', 'true');\n }\n if (plot && slider_el) {\n slider_el.width(plot.width());\n slider_el.css(\"display\", \"block\");\n } else if (slider_el) {\n slider_el.css(\"width\", \"100%\");\n }\n }\n\n // Slider change should update text input values.\n var parent = $(thisContext).parent();\n var form = $(parent).closest(\".limit_content\").find(\"form.range_limit\");\n $(parent).closest(\".limit_content\").find(\".profile .range\").on(\"slide\", function (event, ui) {\n var values = $(event.target).data(\"slider\").getValue();\n form.find(\"input.range_begin\").val(values[0]);\n form.find(\"input.range_end\").val(values[1]);\n });\n }\n begin_el.val(min);\n end_el.val(max);\n begin_el.on('input', function () {\n var val = BlacklightRangeLimit.parseNum(this.value);\n if (isNaN(val) || val < min) {\n //for weird data, set slider at min\n val = min;\n }\n var values = placeholder_input.data(\"slider\").getValue();\n values[0] = val;\n placeholder_input.slider(\"setValue\", values);\n });\n end_el.on('input', function () {\n var val = BlacklightRangeLimit.parseNum(this.value);\n if (isNaN(val) || val > max) {\n //weird entry, set slider to max\n val = max;\n }\n var values = placeholder_input.data(\"slider\").getValue();\n values[1] = val;\n placeholder_input.slider(\"setValue\", values);\n });\n begin_el.change(function () {\n var val1 = BlacklightRangeLimit.parseNum(begin_el.val());\n var val2 = BlacklightRangeLimit.parseNum(end_el.val());\n if (val2 < val1) {\n begin_el.val(val2);\n end_el.val(val1);\n }\n });\n end_el.change(function () {\n var val1 = BlacklightRangeLimit.parseNum(begin_el.val());\n var val2 = BlacklightRangeLimit.parseNum(end_el.val());\n if (val2 < val1) {\n begin_el.val(val2);\n end_el.val(val1);\n }\n });\n};\nBlacklightRangeLimit.initialize = function (modalSelector) {\n BlacklightRangeLimit.initializeDistroFacets(modalSelector);\n BlacklightRangeLimit.initializeSlider(modalSelector);\n};\nexport { BlacklightRangeLimit as default };","/* =========================================================\n * bootstrap-slider.js v2.0.0\n * http://www.eyecon.ro/bootstrap-slider\n * =========================================================\n * Copyright 2012 Stefan Petre\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n!function ($) {\n var Slider = function (element, options) {\n this.element = $(element);\n this.picker = $(' ').insertBefore(this.element).append(this.element);\n this.id = this.element.data('slider-id') || options.id;\n if (this.id) {\n this.picker[0].id = this.id;\n }\n if (typeof Modernizr !== 'undefined' && Modernizr.touch) {\n this.touchCapable = true;\n }\n var tooltip = this.element.data('slider-tooltip') || options.tooltip;\n this.tooltip = this.picker.find('.tooltip');\n this.tooltipInner = this.tooltip.find('div.tooltip-inner');\n this.orientation = this.element.data('slider-orientation') || options.orientation;\n switch (this.orientation) {\n case 'vertical':\n this.picker.addClass('slider-vertical');\n this.stylePos = 'top';\n this.mousePos = 'pageY';\n this.sizePos = 'offsetHeight';\n this.tooltip.addClass('right')[0].style.left = '100%';\n break;\n default:\n this.picker.addClass('slider-horizontal').css('width', this.element.outerWidth());\n this.orientation = 'horizontal';\n this.stylePos = 'left';\n this.mousePos = 'pageX';\n this.sizePos = 'offsetWidth';\n this.tooltip.addClass('top')[0].style.top = -this.tooltip.outerHeight() - 14 + 'px';\n break;\n }\n this.min = this.element.data('slider-min') || options.min;\n this.max = this.element.data('slider-max') || options.max;\n this.step = this.element.data('slider-step') || options.step;\n this.value = this.element.data('slider-value') || options.value;\n if (this.value[1]) {\n this.range = true;\n }\n this.selection = this.element.data('slider-selection') || options.selection;\n this.selectionEl = this.picker.find('.slider-selection');\n if (this.selection === 'none') {\n this.selectionEl.addClass('hide');\n }\n this.selectionElStyle = this.selectionEl[0].style;\n this.handle1 = this.picker.find('.slider-handle:first');\n this.handle1Stype = this.handle1[0].style;\n this.handle2 = this.picker.find('.slider-handle:last');\n this.handle2Stype = this.handle2[0].style;\n var handle = this.element.data('slider-handle') || options.handle;\n switch (handle) {\n case 'round':\n this.handle1.addClass('round');\n this.handle2.addClass('round');\n break;\n case 'triangle':\n this.handle1.addClass('triangle');\n this.handle2.addClass('triangle');\n break;\n }\n if (this.range) {\n this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0]));\n this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1]));\n } else {\n this.value = [Math.max(this.min, Math.min(this.max, this.value))];\n this.handle2.addClass('hide');\n if (this.selection == 'after') {\n this.value[1] = this.max;\n } else {\n this.value[1] = this.min;\n }\n }\n this.diff = this.max - this.min;\n this.percentage = [(this.value[0] - this.min) * 100 / this.diff, (this.value[1] - this.min) * 100 / this.diff, this.step * 100 / this.diff];\n this.offset = this.picker.offset();\n this.size = this.picker[0][this.sizePos];\n this.formater = options.formater;\n this.layout();\n if (this.touchCapable) {\n // Touch: Bind touch events:\n this.picker.on({\n touchstart: $.proxy(this.mousedown, this)\n });\n } else {\n this.picker.on({\n mousedown: $.proxy(this.mousedown, this)\n });\n }\n if (tooltip === 'show') {\n this.picker.on({\n mouseenter: $.proxy(this.showTooltip, this),\n mouseleave: $.proxy(this.hideTooltip, this)\n });\n } else {\n this.tooltip.addClass('hide');\n }\n };\n Slider.prototype = {\n constructor: Slider,\n over: false,\n inDrag: false,\n showTooltip: function () {\n this.tooltip.addClass('in');\n //var left = Math.round(this.percent*this.width);\n //this.tooltip.css('left', left - this.tooltip.outerWidth()/2);\n this.over = true;\n },\n hideTooltip: function () {\n if (this.inDrag === false) {\n this.tooltip.removeClass('in');\n }\n this.over = false;\n },\n layout: function () {\n this.handle1Stype[this.stylePos] = this.percentage[0] + '%';\n this.handle2Stype[this.stylePos] = this.percentage[1] + '%';\n if (this.orientation == 'vertical') {\n this.selectionElStyle.top = Math.min(this.percentage[0], this.percentage[1]) + '%';\n this.selectionElStyle.height = Math.abs(this.percentage[0] - this.percentage[1]) + '%';\n } else {\n this.selectionElStyle.left = Math.min(this.percentage[0], this.percentage[1]) + '%';\n this.selectionElStyle.width = Math.abs(this.percentage[0] - this.percentage[1]) + '%';\n }\n if (this.range) {\n this.tooltipInner.text(this.formater(this.value[0]) + ' : ' + this.formater(this.value[1]));\n this.tooltip[0].style[this.stylePos] = this.size * (this.percentage[0] + (this.percentage[1] - this.percentage[0]) / 2) / 100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight() / 2 : this.tooltip.outerWidth() / 2) + 'px';\n } else {\n this.tooltipInner.text(this.formater(this.value[0]));\n this.tooltip[0].style[this.stylePos] = this.size * this.percentage[0] / 100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight() / 2 : this.tooltip.outerWidth() / 2) + 'px';\n }\n },\n mousedown: function (ev) {\n // Touch: Get the original event:\n if (this.touchCapable && ev.type === 'touchstart') {\n ev = ev.originalEvent;\n }\n this.offset = this.picker.offset();\n this.size = this.picker[0][this.sizePos];\n var percentage = this.getPercentage(ev);\n if (this.range) {\n var diff1 = Math.abs(this.percentage[0] - percentage);\n var diff2 = Math.abs(this.percentage[1] - percentage);\n this.dragged = diff1 < diff2 ? 0 : 1;\n } else {\n this.dragged = 0;\n }\n this.percentage[this.dragged] = percentage;\n this.layout();\n if (this.touchCapable) {\n // Touch: Bind touch events:\n $(document).on({\n touchmove: $.proxy(this.mousemove, this),\n touchend: $.proxy(this.mouseup, this)\n });\n } else {\n $(document).on({\n mousemove: $.proxy(this.mousemove, this),\n mouseup: $.proxy(this.mouseup, this)\n });\n }\n this.inDrag = true;\n var val = this.calculateValue();\n this.element.trigger({\n type: 'slideStart',\n value: val\n }).trigger({\n type: 'slide',\n value: val\n });\n return false;\n },\n mousemove: function (ev) {\n // Touch: Get the original event:\n if (this.touchCapable && ev.type === 'touchmove') {\n ev = ev.originalEvent;\n }\n var percentage = this.getPercentage(ev);\n if (this.range) {\n if (this.dragged === 0 && this.percentage[1] < percentage) {\n this.percentage[0] = this.percentage[1];\n this.dragged = 1;\n } else if (this.dragged === 1 && this.percentage[0] > percentage) {\n this.percentage[1] = this.percentage[0];\n this.dragged = 0;\n }\n }\n this.percentage[this.dragged] = percentage;\n this.layout();\n var val = this.calculateValue();\n this.element.trigger({\n type: 'slide',\n value: val\n }).data('value', val).prop('value', val);\n return false;\n },\n mouseup: function (ev) {\n if (this.touchCapable) {\n // Touch: Bind touch events:\n $(document).off({\n touchmove: this.mousemove,\n touchend: this.mouseup\n });\n } else {\n $(document).off({\n mousemove: this.mousemove,\n mouseup: this.mouseup\n });\n }\n this.inDrag = false;\n if (this.over == false) {\n this.hideTooltip();\n }\n this.element;\n var val = this.calculateValue();\n this.element.trigger({\n type: 'slideStop',\n value: val\n }).data('value', val).prop('value', val);\n return false;\n },\n calculateValue: function () {\n var val;\n if (this.range) {\n val = [this.min + Math.round(this.diff * this.percentage[0] / 100 / this.step) * this.step, this.min + Math.round(this.diff * this.percentage[1] / 100 / this.step) * this.step];\n this.value = val;\n } else {\n val = this.min + Math.round(this.diff * this.percentage[0] / 100 / this.step) * this.step;\n this.value = [val, this.value[1]];\n }\n return val;\n },\n getPercentage: function (ev) {\n if (this.touchCapable) {\n ev = ev.touches[0];\n }\n var percentage = (ev[this.mousePos] - this.offset[this.stylePos]) * 100 / this.size;\n percentage = Math.round(percentage / this.percentage[2]) * this.percentage[2];\n return Math.max(0, Math.min(100, percentage));\n },\n getValue: function () {\n if (this.range) {\n return this.value;\n }\n return this.value[0];\n },\n setValue: function (val) {\n this.value = val;\n if (this.range) {\n this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0]));\n this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1]));\n } else {\n this.value = [Math.max(this.min, Math.min(this.max, this.value))];\n this.handle2.addClass('hide');\n if (this.selection == 'after') {\n this.value[1] = this.max;\n } else {\n this.value[1] = this.min;\n }\n }\n this.diff = this.max - this.min;\n this.percentage = [(this.value[0] - this.min) * 100 / this.diff, (this.value[1] - this.min) * 100 / this.diff, this.step * 100 / this.diff];\n this.layout();\n }\n };\n $.fn.slider = function (option, val) {\n return this.each(function () {\n var $this = $(this),\n data = $this.data('slider'),\n options = typeof option === 'object' && option;\n if (!data) {\n $this.data('slider', data = new Slider(this, $.extend({}, $.fn.slider.defaults, options)));\n }\n if (typeof option == 'string') {\n data[option](val);\n }\n });\n };\n $.fn.slider.defaults = {\n min: 0,\n max: 10,\n step: 1,\n orientation: 'horizontal',\n value: 5,\n selection: 'before',\n tooltip: 'show',\n handle: 'round',\n formater: function (value) {\n return value;\n }\n };\n $.fn.slider.Constructor = Slider;\n}(window.jQuery);","/** ## jquery.flot.canvaswrapper\n\nThis plugin contains the function for creating and manipulating both the canvas\nlayers and svg layers.\n\nThe Canvas object is a wrapper around an HTML5 canvas tag.\nThe constructor Canvas(cls, container) takes as parameters cls,\nthe list of classes to apply to the canvas adnd the containter,\nelement onto which to append the canvas. The canvas operations\ndon't work unless the canvas is attached to the DOM.\n\n### jquery.canvaswrapper.js API functions\n*/\n\n(function ($) {\n var Canvas = function (cls, container) {\n var element = container.getElementsByClassName(cls)[0];\n if (!element) {\n element = document.createElement('canvas');\n element.className = cls;\n element.style.direction = 'ltr';\n element.style.position = 'absolute';\n element.style.left = '0px';\n element.style.top = '0px';\n container.appendChild(element);\n\n // If HTML5 Canvas isn't available, throw\n\n if (!element.getContext) {\n throw new Error('Canvas is not available.');\n }\n }\n this.element = element;\n var context = this.context = element.getContext('2d');\n this.pixelRatio = $.plot.browser.getPixelRatio(context);\n\n // Size the canvas to match the internal dimensions of its container\n var width = $(container).width();\n var height = $(container).height();\n this.resize(width, height);\n\n // Collection of HTML div layers for text overlaid onto the canvas\n\n this.SVGContainer = null;\n this.SVG = {};\n\n // Cache of text fragments and metrics, so we can avoid expensively\n // re-calculating them when the plot is re-rendered in a loop.\n\n this._textCache = {};\n };\n\n /**\n - resize(width, height)\n Resizes the canvas to the given dimensions.\n The width represents the new width of the canvas, meanwhile the height\n is the new height of the canvas, both of them in pixels.\n */\n\n Canvas.prototype.resize = function (width, height) {\n var minSize = 10;\n width = width < minSize ? minSize : width;\n height = height < minSize ? minSize : height;\n var element = this.element,\n context = this.context,\n pixelRatio = this.pixelRatio;\n\n // Resize the canvas, increasing its density based on the display's\n // pixel ratio; basically giving it more pixels without increasing the\n // size of its element, to take advantage of the fact that retina\n // displays have that many more pixels in the same advertised space.\n\n // Resizing should reset the state (excanvas seems to be buggy though)\n\n if (this.width !== width) {\n element.width = width * pixelRatio;\n element.style.width = width + 'px';\n this.width = width;\n }\n if (this.height !== height) {\n element.height = height * pixelRatio;\n element.style.height = height + 'px';\n this.height = height;\n }\n\n // Save the context, so we can reset in case we get replotted. The\n // restore ensure that we're really back at the initial state, and\n // should be safe even if we haven't saved the initial state yet.\n\n context.restore();\n context.save();\n\n // Scale the coordinate space to match the display density; so even though we\n // may have twice as many pixels, we still want lines and other drawing to\n // appear at the same size; the extra pixels will just make them crisper.\n\n context.scale(pixelRatio, pixelRatio);\n };\n\n /**\n - clear()\n Clears the entire canvas area, not including any overlaid HTML text\n */\n Canvas.prototype.clear = function () {\n this.context.clearRect(0, 0, this.width, this.height);\n };\n\n /**\n - render()\n Finishes rendering the canvas, including managing the text overlay.\n */\n Canvas.prototype.render = function () {\n var cache = this._textCache;\n\n // For each text layer, add elements marked as active that haven't\n // already been rendered, and remove those that are no longer active.\n\n for (var layerKey in cache) {\n if (hasOwnProperty.call(cache, layerKey)) {\n var layer = this.getSVGLayer(layerKey),\n layerCache = cache[layerKey];\n var display = layer.style.display;\n layer.style.display = 'none';\n for (var styleKey in layerCache) {\n if (hasOwnProperty.call(layerCache, styleKey)) {\n var styleCache = layerCache[styleKey];\n for (var key in styleCache) {\n if (hasOwnProperty.call(styleCache, key)) {\n var val = styleCache[key],\n positions = val.positions;\n for (var i = 0, position; positions[i]; i++) {\n position = positions[i];\n if (position.active) {\n if (!position.rendered) {\n layer.appendChild(position.element);\n position.rendered = true;\n }\n } else {\n positions.splice(i--, 1);\n if (position.rendered) {\n while (position.element.firstChild) {\n position.element.removeChild(position.element.firstChild);\n }\n position.element.parentNode.removeChild(position.element);\n }\n }\n }\n if (positions.length === 0) {\n if (val.measured) {\n val.measured = false;\n } else {\n delete styleCache[key];\n }\n }\n }\n }\n }\n }\n layer.style.display = display;\n }\n }\n };\n\n /**\n - getSVGLayer(classes)\n Creates (if necessary) and returns the SVG overlay container.\n The classes string represents the string of space-separated CSS classes\n used to uniquely identify the text layer. It return the svg-layer div.\n */\n Canvas.prototype.getSVGLayer = function (classes) {\n var layer = this.SVG[classes];\n\n // Create the SVG layer if it doesn't exist\n\n if (!layer) {\n // Create the svg layer container, if it doesn't exist\n\n var svgElement;\n if (!this.SVGContainer) {\n this.SVGContainer = document.createElement('div');\n this.SVGContainer.className = 'flot-svg';\n this.SVGContainer.style.position = 'absolute';\n this.SVGContainer.style.top = '0px';\n this.SVGContainer.style.left = '0px';\n this.SVGContainer.style.height = '100%';\n this.SVGContainer.style.width = '100%';\n this.SVGContainer.style.pointerEvents = 'none';\n this.element.parentNode.appendChild(this.SVGContainer);\n svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svgElement.style.width = '100%';\n svgElement.style.height = '100%';\n this.SVGContainer.appendChild(svgElement);\n } else {\n svgElement = this.SVGContainer.firstChild;\n }\n layer = document.createElementNS('http://www.w3.org/2000/svg', 'g');\n layer.setAttribute('class', classes);\n layer.style.position = 'absolute';\n layer.style.top = '0px';\n layer.style.left = '0px';\n layer.style.bottom = '0px';\n layer.style.right = '0px';\n svgElement.appendChild(layer);\n this.SVG[classes] = layer;\n }\n return layer;\n };\n\n /**\n - getTextInfo(layer, text, font, angle, width)\n Creates (if necessary) and returns a text info object.\n The object looks like this:\n ```js\n {\n width //Width of the text's wrapper div.\n height //Height of the text's wrapper div.\n element //The HTML div containing the text.\n positions //Array of positions at which this text is drawn.\n }\n ```\n The positions array contains objects that look like this:\n ```js\n {\n active //Flag indicating whether the text should be visible.\n rendered //Flag indicating whether the text is currently visible.\n element //The HTML div containing the text.\n text //The actual text and is identical with element[0].textContent.\n x //X coordinate at which to draw the text.\n y //Y coordinate at which to draw the text.\n }\n ```\n Each position after the first receives a clone of the original element.\n The idea is that that the width, height, and general 'identity' of the\n text is constant no matter where it is placed; the placements are a\n secondary property.\n Canvas maintains a cache of recently-used text info objects; getTextInfo\n either returns the cached element or creates a new entry.\n The layer parameter is string of space-separated CSS classes uniquely\n identifying the layer containing this text.\n Text is the text string to retrieve info for.\n Font is either a string of space-separated CSS classes or a font-spec object,\n defining the text's font and style.\n Angle is the angle at which to rotate the text, in degrees. Angle is currently unused,\n it will be implemented in the future.\n The last parameter is the Maximum width of the text before it wraps.\n The method returns a text info object.\n */\n Canvas.prototype.getTextInfo = function (layer, text, font, angle, width) {\n var textStyle, layerCache, styleCache, info;\n\n // Cast the value to a string, in case we were given a number or such\n\n text = '' + text;\n\n // If the font is a font-spec object, generate a CSS font definition\n\n if (typeof font === 'object') {\n textStyle = font.style + ' ' + font.variant + ' ' + font.weight + ' ' + font.size + 'px/' + font.lineHeight + 'px ' + font.family;\n } else {\n textStyle = font;\n }\n\n // Retrieve (or create) the cache for the text's layer and styles\n\n layerCache = this._textCache[layer];\n if (layerCache == null) {\n layerCache = this._textCache[layer] = {};\n }\n styleCache = layerCache[textStyle];\n if (styleCache == null) {\n styleCache = layerCache[textStyle] = {};\n }\n var key = generateKey(text);\n info = styleCache[key];\n\n // If we can't find a matching element in our cache, create a new one\n\n if (!info) {\n var element = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n if (text.indexOf('