;(function(root, factory) { if (typeof define === 'function' && define.amd) { define(['rave', 'rave-library', 'rave-utilities', 'rave-layouts', 'rave-legends'], factory); } else if (typeof exports === 'object') { module.exports = factory(require('rave'), require('rave-library'), require('rave-utilities'), require('rave-layouts'), require('rave-legends')); } else { root.raveLibraryMapMin = factory(root.rave, root.raveLibrary, root.raveUtilities, root.raveLayouts, root.raveLegends); } }(this, function(rave, raveLibrary, raveUtilities, raveLayouts, raveLegends) { (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o1)elementsToRemove=Array.prototype.slice.call(arguments);this["dataModel"]=this.context["dataModel"]();if(!this["dataValid"]()){var __i_enFor0=0;for(var __len_enFor0=elementsToRemove.length;__i_enFor0<__len_enFor0;++__i_enFor0){var e=elementsToRemove[__i_enFor0]; this["_chart"].selectAll(e).selectAll("*").remove()}this["_legends"]["visible"](false)["draw"]();return false}return true},"dataValid":function(){return this["dataModel"].validate()},"getLegendCount":function(){return 1},"isAxesManagerRequired":function(){return false},"isZoomSupported":function(){return true},"getProperty":function(s){return this.context.getPropertyValue(s)},"getPropertyDefault":function(s){return this.context["getPropertyDefault"](s)},"getBooleanProperty":function(s){var obj=this["getProperty"](s); return obj},"getDoubleProperty":function(s){var obj=this["getProperty"](s);return+obj},"getIntProperty":function(s){var obj=this["getProperty"](s);return~~obj},"getStringProperty":function(id){var obj=this["getProperty"](id);return obj==null?null:""+obj},"getStringPropertyEmptyAsNull":function(id){var s=this["getStringProperty"](id);return s==null||s.length==0?null:s},"getCSSSizeToPixelNumber":function(id){var cssSize=rave["library"]["internal"]["CSSConverter"].convertCSSSizeToPixelNumber(this.context.getPropertyValue(id), 100,10);return cssSize==null?0:cssSize},"getEffectDuration":function(effect){var duration=this["getIntProperty"]("effect.duration");if(duration<0||effect==null||"none"==effect)duration=0;return duration},"getTopPadding":function(){return this["getProperty"]("layout.chart.padding.top")},"getLeftPadding":function(){return this["getProperty"]("layout.chart.padding.left")},"getBottomPadding":function(){return this["getProperty"]("layout.chart.padding.bottom")},"getRightPadding":function(){return this["getProperty"]("layout.chart.padding.right")}, "getLayoutPadding":function(){return this["getProperty"]("layout.padding")},"getLegendChartGap":function(){return this["getProperty"]("layout.legendchart.gap")},"getLegendChartAlign":function(){return this["getBooleanProperty"]("layout.legendchart.align")},"getLegendPosition":function(){return this["getStringProperty"]("legend.position")},getPalette$0:function(){return this.getPalette$1("color.palette")},getPalette$1:function(paletteID){var id=this["getStringProperty"](paletteID);var colorPalette= com_ibm_rave_library_Library.palettes["getPalette"](id);return!colorPalette?com_ibm_rave_library_Library.palettes.getDefaultPalette():colorPalette},getDynamicPalette$0:function(){return this.getDynamicPalette$1("color.palette","color.dynamicPalette.min","color.dynamicPalette.mid","color.dynamicPalette.max")},getDynamicPalette$1:function(paletteID,minId,midId,maxId){var colorPalette;var min=this["getStringProperty"](minId);if(min!=null){var mid=this["getStringProperty"](midId);if(mid!=null){var max= this["getStringProperty"](maxId);if(max!=null){var fills=[min,mid,max];colorPalette=rave["library"]["internal"]["AbstractView"].getFillPalette(fills)}}}return!colorPalette?this["getPalette"](paletteID):colorPalette},"prepareLayoutComponent":function(){this["_layoutComponent"]["setPreExecute"](this.context.getPreExecute())["overall"](new rave["internal"]["RectStruct"](0,0,this.context["size"].w,this.context["size"].h))["legendPosition"](this["getLegendPosition"]())["padding"](this["getLayoutPadding"]())["chartPadding"](this["getTopPadding"](), this["getLeftPadding"](),this["getBottomPadding"](),this["getRightPadding"]())["legendChartGap"](this["getLegendChartGap"]())["legendChartAlign"](this["getLegendChartAlign"]())},"prepareLayoutSizables":function(layoutComponent,useX2,useY1,useX1,useY2,useLegend){layoutComponent["removeAxisSizables"]();if(useX1)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](0));if(useY1)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](2));if(useX2)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](1)); if(useY2)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](3));layoutComponent["legendSize"](useLegend?this["_legends"]:null)},"resetUpdate":function(){this.updateType=4},"isUpdateNothing":function(){return this.updateType==4},"isShowLegend":function(){return this["getBooleanProperty"]("legend.display")},cancelTransitions:function(){this.context.node.selectAll("*").interrupt()},"setBackgroundProperties":function(elementRect,duration){this["_backgroundComponent"]["setPreExecute"](this.context.getPreExecute())["size"](this.context["size"])["backgroundColor"](this["getStringProperty"]("background.chart.color")); this.context.node.selectAll("rect.background.chart")["transition"]()["duration"](duration).call(this["_backgroundComponent"]);this["_backgroundComponent"]["setPreExecute"](this.context.getPreExecute())["rect"](elementRect)["backgroundColor"](this["getStringProperty"]("background.elements.color"));this.context.node.selectAll("rect.background.elements")["transition"]()["duration"](duration).call(this["_backgroundComponent"])},"isShowDataLabels":function(){return this["getBooleanProperty"]("data.label.display")}, "isShowDataLabelsAsPercentageOfColor":function(){var dataLabel=this["getStringProperty"]("data.label.type");return"PercentOfColor"==dataLabel},"isShowDataLabelsAsPercentageOfCategory":function(){var dataLabel=this["getStringProperty"]("data.label.type");return"PercentOfCategory"==dataLabel},"getlDataLabelAccessor":function(dataSet,slot,isInterval){var labelAccessor;var labelEntry=dataSet.slot(slot).entry();if(!labelEntry)if(this["isShowDataLabelsAsPercentageOfCategory"]())labelAccessor=isInterval? com_ibm_rave_bundles_components_IntervalDataUtilities["PERCENT_OF_CATEGORY_ACCESSOR"]:com_ibm_rave_bundles_data_PointDataUtilities["PERCENT_OF_CATEGORY_ACCESSOR"];else if(this["isShowDataLabelsAsPercentageOfColor"]())labelAccessor=isInterval?com_ibm_rave_bundles_components_IntervalDataUtilities["PERCENT_OF_COLOR_ACCESSOR"]:com_ibm_rave_bundles_data_PointDataUtilities["PERCENT_OF_COLOR_ACCESSOR"];else labelAccessor=isInterval?com_ibm_rave_bundles_components_IntervalDataUtilities["VALUE_ACCESSOR"]: com_ibm_rave_bundles_data_PointDataUtilities["Y_ACCESSOR"];else labelAccessor=rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(labelEntry));return labelAccessor},"getEntryForDataLabelFormatter":function(dataSet,labelSlot,defaultSlot){var labelEntry=dataSet.slot(labelSlot).entry();return labelEntry?labelEntry:dataSet.slot(defaultSlot).entry()},"getBackgroundConstrastLabelStyle":function(){var labelFontStyle=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](this["getStringProperty"]("labelstyle.font")); if(this["getBooleanProperty"]("contrast.label.color")==false)return labelFontStyle;var defaultFillColor;if(labelFontStyle){defaultFillColor=labelFontStyle["fill"];if(defaultFillColor==null)defaultFillColor=labelFontStyle["color"]}else labelFontStyle={};if(defaultFillColor==null)defaultFillColor="#000000";labelFontStyle["fill"]=com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](this["getStringProperty"]("background.elements.color"),defaultFillColor);return labelFontStyle},"getPalette":function(a0){var args= arguments;if(args.length==0)return this.getPalette$0();if(args.length==1&&(a0==null||typeof a0==="string"))return this.getPalette$1(a0);return rave["library"]["internal"]["AbstractView"].prototype["getPalette"].apply(this,args)},"getDynamicPalette":function(a0,a1,a2,a3){var args=arguments;if(args.length==0)return this.getDynamicPalette$0();return this.getDynamicPalette$1(a0,a1,a2,a3)}});var com_ibm_rave_bundles_components_BundleComponentImpl=rave["internal"]["Declare"]({"_renderCallback":null,_$functionClassMethod:function(){var _$self= function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var self=_$self;this.each(function(data,index,groupIndex){self["execute"](rave.select(this))});return null};return _$self},"execute":function(g){},"setPreExecute":function(callback){this._preExecuteCallback=callback;return this},"preExecute":function(){if(this._preExecuteCallback)this._preExecuteCallback(this)},"setRenderCallback":function(callback){this["_renderCallback"]=callback;return this},"type":function(){}, "updateBorder":function(s,borderWidth,borderColor){if(borderWidth!=null)s.each(function(data,index,groupIndex){if(!this.rave_getProperty("selected")&&!this.rave_getProperty("highlighted"))this.rave_setStyle("stroke-width",borderWidth,"")});if(borderColor!=null)s.each(function(data,index,groupIndex){if(!this.rave_getProperty("selected")&&!this.rave_getProperty("highlighted"))this.rave_setStyle("stroke",borderColor,"")})},"getDefaultLabelColor":function(_labelStyle){if(!_labelStyle)return"#000000"; var defaultFillColor;if(_labelStyle){defaultFillColor=_labelStyle["fill"];if(defaultFillColor==null)defaultFillColor=_labelStyle["color"]}if(defaultFillColor==null)defaultFillColor="#000000";return defaultFillColor.toString()}});var com_ibm_rave_bundles_component_BackgroundComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_BackgroundComponent["COMPONENT_TYPE"]="BackgroundComponent";var com_ibm_rave_bundles_component_ChartLayoutComponent=rave["internal"]["Declare"].implement(); com_ibm_rave_bundles_component_ChartLayoutComponent["COMPONENT_TYPE"]="ChartLayoutComponent";var com_ibm_rave_bundles_components_LegendsManager=rave["internal"]["Declare"]({_numLegends:0,_doTransition:false,_duration:0,_spaceUsed:0,"constructor":function(context,numLegends){this._context=context;this._numLegends=numLegends;this._comp=new com_ibm_rave_bundles_components_LegendComponentImpl;this._rectangle=new rave["internal"]["RectStruct"](0,0,0,0);this._orient="vertical";this._preExecute=null;this._selectors= [];this._palettes=[];this._scale=[];this._swatchSizes=[];this._shapes=[];this._titles=[];this._titleFonts=[];this._titleFills=[];this._titleFontSizes=[];this._titleFontFamilies=[];this._entryFonts=[];this._formatters=[];this._lastVisible=[];this._visible=[];this._dataSlotEntries=[];for(var i=0;i=0?duration:0;return this},"setPreExecute":function(callback){this._preExecute=callback;return this},"selector":function(index,selector){if(index>=0&&index= 0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&indexthis._spaceUsed)this._spaceUsed=this._comp["getSpaceUsed"]()}this._lastVisible[i]= visible}else this._lastVisible[i]=false;return this},"getSizableType":function(){return 2},"getSizableOrientation":function(){return this._orient},"getPreferredSize":function(){return this._spaceUsed},"getSpillOverSize":function(){return 0},"visible":function(a0,a1){var args=arguments;if(args.length==1)return this.visible$1(a0);return this.visible$0(a0,a1)},"preLayout":function(a0,a1){var args=arguments;if(args.length==1)return this.preLayout$0(a0);return this.preLayout$1(a0,a1)}});var com_ibm_rave_bundles_utilities_FontPropertyParser= rave["internal"]["Declare"]({});com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"]=function(fontStyle){if(fontStyle!=null&&fontStyle.length>0){var properties=fontStyle.split(new RegExp(";"));var fontStyles={};var __i_enFor0=0;for(var __len_enFor0=properties.length;__i_enFor0<__len_enFor0;++__i_enFor0){var property=properties[__i_enFor0];var fontMap=property.split(new RegExp(":"));if(fontMap.length==2){var key=fontMap[0].trim();fontStyles[key=="color"?"fill":key]=fontMap[1].trim()}}return fontStyles}return null}; var com_ibm_rave_bundles_components_AxesManager=rave["internal"]["Declare"]({_firstDraw:false,_visible:true,_duration:0,_transpose:false,_swapX:false,_swapY:false,_layoutInProgress:false,_layoutMaxWidth:0,_layoutMaxHeight:0,_xPadding:0,_xOuterPadding:0,_yPadding:0,_yOuterPadding:0,_xPixelPad:0,_yPixelPad:0,_preventStaggerRotate45:false,"constructor":function(context){this._scales=[];this._suppressPanLabels=[];this._drawAxisLabels=[];this._axisComponents=[];this._lastAxisDrawSelectors=[];this._gridComponents= [];this._lastGridDrawSelectors=[];this._clearAxis=new com_ibm_rave_bundles_components_AxisComponentImpl;this._clearGrid=new com_ibm_rave_bundles_components_GridComponentImpl;this._axisSelectors=[];this._gridSelectors=[];this._axisRects=[];this._elementRect=new rave["internal"]["RectStruct"](0,0,0,0);this._lastAxisDrew=[];this._lastGridDrew=[];this._dataSlotEntries=[];this._layoutAxisOrder=[];this._context=context;for(var i=0;i<4;++i){this._scales[i]=null;this._suppressPanLabels[i]=false;this._axisComponents[i]= null;this._lastAxisDrawSelectors[i]=null;this._gridComponents[i]=null;this._lastGridDrawSelectors[i]=null;this._axisSelectors[i]=null;this._gridSelectors[i]=null;this._axisRects[i]=new rave["internal"]["RectStruct"](0,0,0,0);this._lastAxisDrew[i]=false;this._lastGridDrew[i]=false;this._dataSlotEntries[i]=[]}},"preLayout":function(layoutComponent,axesBeforeLegend,xPadding,xOuterPadding,xPixelPad,yPadding,yOuterPadding,yPixelPad){this._xPadding=xPadding;this._xOuterPadding=xOuterPadding;this._xPixelPad= xPixelPad;this._yPadding=yPadding;this._yOuterPadding=yOuterPadding;this._yPixelPad=yPixelPad;this._layoutInProgress=true;var layoutDuration=this._duration;this._duration=0;var children=["g.layoutAxis-bottom","g.layoutAxis-top","g.layoutAxis-left","g.layoutAxis-right","g.layoutGrid-bottom","g.layoutGrid-top","g.layoutGrid-left","g.layoutGrid-right"];rave["library"]["internal"]["AbstractView"].createGroupStructure(this._context.node.select("g.axes-layout"),children);var layoutAxisSelectors=[];var layoutGridSelectors= [];var layoutLastAxisDrew=[];for(var position=0;position<4;++position){if(this._axisComponents[position])this._axisComponents[position]["preLayout"]();layoutAxisSelectors[position]=this._axisSelectors[position];layoutGridSelectors[position]=this._gridSelectors[position];layoutLastAxisDrew[position]=this._lastAxisDrew[position];if(this._axisSelectors[position])this["axisSelector"](position,this._context.node.select("g.layoutAxis-"+com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position])); if(this._gridSelectors[position])this["gridSelector"](position,this._context.node.select("g.layoutGrid-"+com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position]))}layoutComponent["preLayout"](axesBeforeLegend,true);com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect,layoutComponent["elementRect"]());var countHorz=0;var countVert=0;var axes=[];for(position=0;position<4;++position){var role=this.positionToRole(position);var isHorz=position==1||position==0;if(this._axisSelectors[position]&& this._scales[role]){if(isHorz)countHorz++;else countVert++;if(this._scales[role].isOrdinal()||this._scales[role].isClustered()){var score=isHorz?4:2;axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,score))}else{score=isHorz?3:1;axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,score))}}else axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,5))}axes.sort(function(a1,a2){var a1value=a1["score"];var a2value=a2["score"]; return a1valuea2value?1:0});this._layoutAxisOrder=[];for(var i=0;i<4;++i)this._layoutAxisOrder[i]=axes[i]["position"];this._layoutMaxWidth=this._elementRect.width*(countVert>1?0.5:0.4);this._layoutMaxHeight=this._elementRect.height*(countHorz>1?0.5:0.4);for(var index=0;index<4;++index){position=this._layoutAxisOrder[index];com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[position],this._elementRect)}this["draw"]();this._duration=layoutDuration;this._context.node.select("g.axes-layout").selectAll("*").remove(); for(position=0;position<4;++position){this._lastAxisDrew[position]=layoutLastAxisDrew[position];this._axisSelectors[position]=layoutAxisSelectors[position];this._gridSelectors[position]=layoutGridSelectors[position]}this._layoutInProgress=false;return this},getPositionToDraw:function(index){return this._layoutInProgress?this._layoutAxisOrder[index]:index},preDrawAxis:function(index){if(this._layoutInProgress){var position=this._layoutAxisOrder[index];var role=this.positionToRole(position);if(role== 0||role==1)this.setScaleRangePadded(this._scales[role],false,this._xPadding,this._xOuterPadding,this._xPixelPad);else this.setScaleRangePadded(this._scales[role],true,this._yPadding,this._yOuterPadding,this._yPixelPad);this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](true)}},postDrawAxis:function(index){if(this._layoutInProgress){var position=this._layoutAxisOrder[index];var role=this.positionToRole(position);var axis=this._axisComponents[role];var size=axis["getPreferredSize"](); if(position==1||position==0){if(size>this._layoutMaxHeight)size=this._layoutMaxHeight;this._elementRect.height-=size;if(position==1)this._elementRect.y+=size}else{if(size>this._layoutMaxWidth)size=this._layoutMaxWidth;this._elementRect.width-=size;if(position==2)this._elementRect.x+=size}this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](false)}},"draw":function(){for(var role=0;role<4;++role){this._lastAxisDrawSelectors[role]=null;this._lastGridDrawSelectors[role]=null}for(var index= 0;index<4;++index){var position=this.getPositionToDraw(index);role=this.positionToRole(position);if(!this._visible||!this._axisSelectors[position]||!this._scales[role]){this.clearAxis(position);this.clearGrid(position)}else{this.preDrawAxis(index);this.drawAxis(position,role);this.postDrawAxis(index);if(this._gridSelectors[position])this.drawGrid(position,role)}}this._firstDraw=false},"hideAnyPanZoom":function(){return this._suppressPanLabels[0]||this._suppressPanLabels[1]||this._suppressPanLabels[2]|| this._suppressPanLabels[3]},"redraw":function(panning){for(var role=0;role<4;++role){if(this._axisComponents[role]&&this._lastAxisDrawSelectors[role]){this._axisComponents[role]["displayTickLabels"](this._drawAxisLabels[role]);this._axisComponents[role]["showPanZoomTickLabels"](!panning||!this._suppressPanLabels[role]);var isAllow=this._axisComponents[role]["isAllowAutomaticAxisLayoutToChangeOrientation"]();this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](false);this._lastAxisDrawSelectors[role].call(this._axisComponents[role]); this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](isAllow)}if(this._gridComponents[role]&&this._lastGridDrawSelectors[role])this._lastGridDrawSelectors[role].call(this._gridComponents[role])}},"preventStaggerRotate45":function(preventStaggerRotate45){this._preventStaggerRotate45=preventStaggerRotate45},drawAxis:function(position,role){var axisGroup=this._axisSelectors[position];this._lastAxisDrawSelectors[role]=axisGroup;var comp=this["axisComponent"](role);var layoutModeID= role==2?"axis.y.labels.layoutMode":role==3?"axis.y2.labels.layoutMode":"axis.x.labels.layoutMode";var allowStaggerID=role==2?"axis.y.labels.allowStagger":role==3?"axis.y2.labels.allowStagger":"axis.x.labels.allowStagger";var allowRotate45ID=role==2?"axis.y.labels.allowRotate45":role==3?"axis.y2.labels.allowRotate45":"axis.x.labels.allowRotate45";var allowRotate90ID=role==2?"axis.y.labels.allowRotate90":role==3?"axis.y2.labels.allowRotate90":"axis.x.labels.allowRotate90";var layoutMode=""+this._context.getPropertyValue(layoutModeID); var allowStagger=!this._preventStaggerRotate45&&this._context.getPropertyValue(allowStaggerID);var allowRotate45=!this._preventStaggerRotate45&&this._context.getPropertyValue(allowRotate45ID);var allowRotate90=this._context.getPropertyValue(allowRotate90ID);var textTruncateIndicator=this._context.getPropertyValue("axis.labels.truncationText");var axisBounds=this._axisRects[position];var orient=com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position];var transform=com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"](axisBounds, orient);var axisTransform="translate("+transform[0]+","+transform[1]+")";comp["scale"](this._scales[role])["setRole"](com_ibm_rave_bundles_components_AxesManager.ROLES[role])["bounds"](axisBounds)["elementRect"](this._elementRect)["orient"](orient)["layoutMode"](layoutMode)["allowStagger"](allowStagger)["allowRotate45"](allowRotate45)["allowRotate90"](allowRotate90)["setPreExecute"](this._context.getPreExecute())["textTruncateIndicator"](textTruncateIndicator);this._drawAxisLabels[role]=comp["_displayTickLabels"]; var axisGroupUpdate=axisGroup;if(this._duration>0&&!this._firstDraw&&this._lastAxisDrew[position])axisGroupUpdate=axisGroup["transition"]()["duration"](this._duration);axisGroupUpdate.attr("transform",axisTransform);axisGroupUpdate.call(comp);var dataSlotEntryList=this._dataSlotEntries[role];axisGroup.selectAll(".axis-title").property("dataSlots",dataSlotEntryList);this._lastAxisDrew[position]=comp.renderedShapes();if(this._defs){var clipAxis=new com_ibm_rave_bundles_components_ClipPathComponentImpl(this._context.instanceId()+ "clip"+orient);var text=axisGroup.append("text").text("000,000");var bbox=text.node().getBBox();var w=bbox.width;var h=bbox.height;text.remove();var clipRect;if(position==0||position==1){var leftEdge=axisBounds.x+transform[0]*-1;var rightEdge=leftEdge+axisBounds.width;if(!this._scales[role].isOrdinal()&&!this._scales[role].isClustered()){var numericLeftEdge=this._elementRect.x-w+transform[0]*-1;var numericRightEdge=numericLeftEdge+this._elementRect.width+w*2;if(numericLeftEdgerightEdge)rightEdge=numericRightEdge}clipRect=new rave["internal"]["RectStruct"](leftEdge,axisBounds.y+transform[1]*-1,rightEdge-leftEdge,axisBounds.height)}else clipRect=new rave["internal"]["RectStruct"](axisBounds.x+transform[0]*-1,this._elementRect.y-h/2+transform[1]*-1,axisBounds.width,this._elementRect.height+h);clipAxis["clipRect"](clipRect)["applyTo"](axisGroup.select(".axis."+orient)).call(this._defs)}},clearAxis:function(position){if(this._axisSelectors[position]){this._clearAxis["scale"](null); this._axisSelectors[position].call(this._clearAxis)}this._lastAxisDrew[position]=false},drawGrid:function(position,role){var gridGroup=this._gridSelectors[position];this._lastGridDrawSelectors[role]=gridGroup;var comp=this["gridComponent"](role);var axisBounds=this._axisRects[position];var orient=com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position];var transform=com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"](axisBounds,orient);var axisTransform="translate("+transform[0]+ ","+transform[1]+")";comp["setRole"](com_ibm_rave_bundles_components_AxesManager.ROLES[role])["orient"](orient)["setPreExecute"](this._context.getPreExecute())["bounds"](this._elementRect)["axis"](this._axisComponents[role]["axis"]());if(this._duration<=0||this._firstDraw||!this._lastAxisDrew[position])gridGroup.attr("transform",axisTransform).call(comp);else gridGroup["transition"]()["duration"](this._duration).attr("transform",axisTransform).call(comp);this._lastGridDrew[position]=comp.renderedShapes()}, clearGrid:function(position){if(this._gridSelectors[position]){this._clearGrid["axis"](null);this._gridSelectors[position].call(this._clearGrid)}this._lastGridDrew[position]=false},"visible":function(visible){this._visible=visible;return this},"duration":function(duration){this._duration=duration;return this},"transpose":function(transpose){this._transpose=transpose;return this},"swapX":function(swapX){this._swapX=swapX;return this},"swapY":function(swapY){this._swapY=swapY;return this},"scale":function(role, scale){this._scales[role]=scale;return this},"suppressPanLabels":function(role,suppressLabels){this._suppressPanLabels[role]=suppressLabels;return this},"axisComponent":function(role){if(!this._axisComponents[role])this._axisComponents[role]=new com_ibm_rave_bundles_components_AxisComponentImpl;return this._axisComponents[role]},"gridComponent":function(role){if(!this._gridComponents[role])this._gridComponents[role]=new com_ibm_rave_bundles_components_GridComponentImpl;return this._gridComponents[role]}, "defsSelector":function(defs){this._defs=com_ibm_rave_bundles_components_AxesManager.checkSelector(defs);return this},"axisSelector":function(position,axisGroup){this._axisSelectors[position]=com_ibm_rave_bundles_components_AxesManager.checkSelector(axisGroup);return this},"gridSelector":function(position,gridGroup){this._gridSelectors[position]=com_ibm_rave_bundles_components_AxesManager.checkSelector(gridGroup);return this},"elementRect":function(elementRect){com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect, elementRect);return this},"axisRect":function(position,axisRect){com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[position],axisRect);return this},"useDefaultSelectors":function(){this["defsSelector"](this._context.node.select("defs"));this["axisSelector"](0,this._context.node.select("g.axisTransform.bottom"));this["axisSelector"](1,this._context.node.select("g.axisTransform.top"));this["axisSelector"](2,this._context.node.select("g.axisTransform.left"));this["axisSelector"](3, this._context.node.select("g.axisTransform.right"));this["gridSelector"](0,this._context.node.select("g.grid.bottom"));this["gridSelector"](1,this._context.node.select("g.grid.top"));this["gridSelector"](2,this._context.node.select("g.grid.left"));this["gridSelector"](3,this._context.node.select("g.grid.right"));return this},"useBoundsFromLayout":function(layoutInfo){com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect,layoutInfo["elementRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[0], layoutInfo["bottomRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[1],layoutInfo["topRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[2],layoutInfo["leftRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[3],layoutInfo["rightRect"]());return this},"useDefaultX1Properties":function(setGridParameters){this["axisComponent"](0)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.x.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.x.title.text", this._dataSlotEntries[0]))["displayAxisLine"](this._context.getPropertyValue("axis.x.line.display"))["lineColor"](this._context.getPropertyValue("axis.x.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.x.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.x.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.x.labels.display"));var titleFontStyle=this._context.getPropertyValue("axis.x.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.x.labels.style.font"); if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](0)["labelStyle"](labelFontStyle);else this["axisComponent"](0)["labelStyle"](this._context.getPropertyValue("axis.x.labels.style.fill"),this._context.getPropertyValue("axis.x.labels.style.font-size"),this._context.getPropertyValue("axis.x.labels.style.font-family"));if(titleFontStyle!=null&&titleFontStyle.length>0)this["axisComponent"](0)["titleStyle"](titleFontStyle);else this["axisComponent"](0)["titleStyle"](this._context.getPropertyValue("axis.x.title.style.fill"), this._context.getPropertyValue("axis.x.title.style.font-size"),this._context.getPropertyValue("axis.x.title.style.font-family"));if(setGridParameters)this["gridComponent"](0)["displayGridlines"](this._context.getPropertyValue("axis.x.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.x.gridlines.style.stroke"),this._context.getPropertyValue("axis.x.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](0,this._context.getPropertyValue("axis.x.labels.zoomPan"));return this}, "useDefaultY1Properties":function(setGridParameters){this["axisComponent"](2)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.y.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.y.title.text",this._dataSlotEntries[2]))["displayAxisLine"](this._context.getPropertyValue("axis.y.line.display"))["lineColor"](this._context.getPropertyValue("axis.y.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.y.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.y.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.y.labels.display")); var titleFontStyle=this._context.getPropertyValue("axis.y.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.y.labels.style.font");if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](2)["labelStyle"](labelFontStyle);else this["axisComponent"](2)["labelStyle"](this._context.getPropertyValue("axis.y.labels.style.fill"),this._context.getPropertyValue("axis.y.labels.style.font-size"),this._context.getPropertyValue("axis.y.labels.style.font-family"));if(titleFontStyle!= null&&titleFontStyle.length>0)this["axisComponent"](2)["titleStyle"](titleFontStyle);else this["axisComponent"](2)["titleStyle"](this._context.getPropertyValue("axis.y.title.style.fill"),this._context.getPropertyValue("axis.y.title.style.font-size"),this._context.getPropertyValue("axis.y.title.style.font-family"));if(setGridParameters)this["gridComponent"](2)["displayGridlines"](this._context.getPropertyValue("axis.y.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.y.gridlines.style.stroke"), this._context.getPropertyValue("axis.y.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](2,this._context.getPropertyValue("axis.y.labels.zoomPan"));return this},"useDefaultY2Properties":function(setGridParameters){this["axisComponent"](3)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.y2.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.y2.title.text",this._dataSlotEntries[3]))["displayAxisLine"](this._context.getPropertyValue("axis.y2.line.display"))["lineColor"](this._context.getPropertyValue("axis.y2.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.y2.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.y2.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.y2.labels.display")); var titleFontStyle=this._context.getPropertyValue("axis.y2.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.y2.labels.style.font");if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](3)["labelStyle"](labelFontStyle);else this["axisComponent"](3)["labelStyle"](this._context.getPropertyValue("axis.y2.labels.style.fill"),this._context.getPropertyValue("axis.y2.labels.style.font-size"),this._context.getPropertyValue("axis.y2.labels.style.font-family"));if(titleFontStyle!= null&&titleFontStyle.length>0)this["axisComponent"](3)["titleStyle"](titleFontStyle);else this["axisComponent"](3)["titleStyle"](this._context.getPropertyValue("axis.y2.title.style.fill"),this._context.getPropertyValue("axis.y2.title.style.font-size"),this._context.getPropertyValue("axis.y2.title.style.font-family"));if(setGridParameters)this["gridComponent"](3)["displayGridlines"](this._context.getPropertyValue("axis.y2.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.y2.gridlines.style.stroke"), this._context.getPropertyValue("axis.y2.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](3,this._context.getPropertyValue("axis.y2.labels.zoomPan"));return this},"setTickFormatterList":function(role,entries,format,defaultFunction){var fmtRole;switch(role){case 2:fmtRole="ROLE_Y1";break;case 1:fmtRole="ROLE_X2";break;case 3:fmtRole="ROLE_Y2";break;case 0:default:fmtRole="ROLE_X1";break}var fmt=this._context.getCustomFormatterWithFlag([com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS[role], com_ibm_rave_bundles_components_AxesManager.FORMATTERS[this.roleToPosition(role)],"axis","all"],rave["library"]["internal"]["BundleContext"].makeCustomFormatInfo("axis-label",fmtRole,format,entries),defaultFunction,false);this["axisComponent"](role)["tickFormat"](fmt);var simplefmt=this._context.getCustomFormatterWithFlag([com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS[role],com_ibm_rave_bundles_components_AxesManager.FORMATTERS[this.roleToPosition(role)],"axis","all"],rave["library"]["internal"]["BundleContext"].makeCustomFormatInfo("axis-label", fmtRole,format,entries),defaultFunction,true);this["axisComponent"](role)["simplifiedTickFormat"](simplefmt);return this},"setTickFormatter":function(role,entry){var entries=[];if(entry)entries.push(entry);return this["setTickFormatterList"](role,entries,"none",null)},"setScaleRanges":function(padding,outerPadding,pixelPad){this["setIndependentScaleRanges"](padding,outerPadding,pixelPad);this["setDependentScaleRanges"](padding,outerPadding,pixelPad);return this},"setIndependentScaleRanges":function(padding, outerPadding,pixelPad){this.setScaleRangePadded(this._scales[0],false,padding,outerPadding,pixelPad);this.setScaleRangePadded(this._scales[1],false,padding,outerPadding,pixelPad);return this},"setDependentScaleRanges":function(padding,outerPadding,pixelPad){this.setScaleRangePadded(this._scales[2],true,padding,outerPadding,pixelPad);this.setScaleRangePadded(this._scales[3],true,padding,outerPadding,pixelPad);return this},setDataSlot$0:function(role,slot){this.setDataSlot$1(role,[slot]);return this}, setDataSlot$1:function(role,slots){if(role<4&&role>=0){this._dataSlotEntries[role].length=0;if(slots){var __i_enFor0=0;var __exp_enFor0=slots;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var slot=__exp_enFor0[__i_enFor0];this._dataSlotEntries[role].push(slot)}}}return this},setScaleRangePadded:function(scale,dependent,padding,outerPadding,pixelPad){if(scale){var min;var max;if(dependent==this._transpose){min=this._elementRect.x+pixelPad;max=this._elementRect.x+this._elementRect.width- pixelPad}else if(scale.isContinuous()){min=this._elementRect.y+this._elementRect.height-pixelPad;max=this._elementRect.y+pixelPad}else{min=this._elementRect.y+pixelPad;max=this._elementRect.y+this._elementRect.height-pixelPad}scale.range(min,max,padding,outerPadding)}},positionToRole:function(position){var r=position;if(this._transpose)r=(r+2)%4;if(this._swapX&&r<2)r=1-r;if(this._swapY&&r>1)r=5-r;return r},roleToPosition:function(role){var p=role;if(this._swapX&&role<2)p=1-p;if(this._swapY&&p>1)p= 5-p;if(this._transpose)p=(p+2)%4;return p},"scaleTickMagnitude":function(role,tickMagnitude){this["axisComponent"](role)["scaleTickMagnitude"](tickMagnitude);return this},"setDataSlot":function(a0,a1){var args=arguments;if(args.length==2&&typeof a1==="function")return this.setDataSlot$0(a0,a1);return this.setDataSlot$1(a0,a1)}});com_ibm_rave_bundles_components_AxesManager.checkSelector=function(s){return s&&!s.empty()?s:null};com_ibm_rave_bundles_components_AxesManager.setRect=function(target,source){if(source){target.x= source.x;target.y=source.y;target.width=source.width;target.height=source.height}else{target.x=0;target.y=0;target.width=0;target.height=0}};com_ibm_rave_bundles_components_AxesManager["percentFormat"]=function(n){var digits="."+n+"f";var format=rave.format(digits);return function(value,ix,gix){return format.call(null,value,0,0)+"%"}};com_ibm_rave_bundles_components_AxesManager.AxisLayout=rave["internal"]["Declare"]({"position":0,"score":0,"constructor":function(position,score){this["position"]=position; this["score"]=score}});com_ibm_rave_bundles_components_AxesManager["X1"]=0;com_ibm_rave_bundles_components_AxesManager["X2"]=1;com_ibm_rave_bundles_components_AxesManager["Y1"]=2;com_ibm_rave_bundles_components_AxesManager["Y2"]=3;com_ibm_rave_bundles_components_AxesManager["BOTTOM"]=0;com_ibm_rave_bundles_components_AxesManager["TOP"]=1;com_ibm_rave_bundles_components_AxesManager["LEFT"]=2;com_ibm_rave_bundles_components_AxesManager["RIGHT"]=3;com_ibm_rave_bundles_components_AxesManager.ROLES=["ROLE_X1", "ROLE_X2","ROLE_Y1","ROLE_Y2"];com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS=["ROLE_X1","ROLE_X2","ROLE_Y1","ROLE_Y2"];com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS=["bottom","top","left","right"];com_ibm_rave_bundles_components_AxesManager.FORMATTERS=["bottom","top","left","right"];var com_ibm_rave_bundles_component_AxisComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_AxisComponent["COMPONENT_TYPE"]="AxisComponent";com_ibm_rave_bundles_component_AxisComponent["ROLE_X1"]= "ROLE_X1";com_ibm_rave_bundles_component_AxisComponent["ROLE_Y1"]="ROLE_Y1";com_ibm_rave_bundles_component_AxisComponent["ROLE_X2"]="ROLE_X2";com_ibm_rave_bundles_component_AxisComponent["ROLE_Y2"]="ROLE_Y2";var com_ibm_rave_bundles_utilities_TextCrossfader=rave["internal"]["Declare"]({});com_ibm_rave_bundles_utilities_TextCrossfader["textCrossFade"]=function(selection,oldText,newText,fillOpacity,delay){if(!selection.isTransition())return selection.text(newText);var _t=selection.tween("text",function(data, index,groupIndex){return function(t){this.rave_setText(t<0.5?oldText:newText)}});var t0=Math.max(0,Math.min(0.5,delay));if(t0==0.5||oldText==null&&newText==null||oldText!=null&&oldText==newText)return selection;var opacity=fillOpacity==null?1:+fillOpacity;var tf=1/(0.5-t0);return _t.tween("fill-opacity",function(data,index,groupIndex){return function(t){if(t<=t0||t>=1-t0)this.rave_setStyle("fill-opacity",fillOpacity);else this.rave_setStyle("fill-opacity",opacity*Math.abs(t-0.5)*tf)}})};var com_ibm_rave_bundles_utilities_BundleLabelDropper= rave["internal"]["Declare"]({labelCount:0,_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);_$self["drop"](args[0],args[1]);return null};return _$self},"constructor":function(){this._dropOverlap=rave.capabilities.extension("position")["drop"]().remove(false);this._dropOverlap.setOverlapGap(4)},"drop":function(labels,removeOverlap){if(!labels.isTransition())this.applyLabelDrop(labels,removeOverlap);else{var steps= [0,25,75];var self=this;labels.tween("__pointLabelDrop__",function(data,index,groupIndex){if(index==0)return function(t){var currentStep=Math.floor(t*100);if(steps.length>0&¤tStep<100&¤tStep>=steps[0]){steps.splice(0,1);self.applyLabelDrop(labels,removeOverlap)}};return null});this.labelCount=0;labels.each(function(data,index,groupIndex){++self.labelCount}).each("end",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(--self.labelCount==0)self.applyLabelDrop(labels, removeOverlap);return null})}},applyLabelDrop:function(labels,removeOverlap){if(removeOverlap)labels.call(this._dropOverlap);else this._dropOverlap.reset(labels)},"configureForDataLabels":function(rect){if(rect){var ex=[[rect.x,rect.y],[rect.x+rect.width,rect.y+rect.height]];this._dropOverlap.extent(ex)}this._dropOverlap.noClipping()}});com_ibm_rave_bundles_utilities_BundleLabelDropper.OVERLAP_GAP=4;var com_ibm_rave_bundles_components_StyleStructs=rave["internal"]["Declare"]({});com_ibm_rave_bundles_components_StyleStructs.ShapeStyle= function(){this._fill=null;this._stroke=null;this._strokeWidth=null};com_ibm_rave_bundles_components_StyleStructs.LineStyle=function(){this._stroke=null;this._strokeWidth=null;this._dashArray=null};var com_ibm_rave_bundles_component_GridComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_GridComponent["COMPONENT_TYPE"]="GridComponent";var com_ibm_rave_bundles_components_IntervalDataUtilities=rave["internal"]["Declare"]({});com_ibm_rave_bundles_components_IntervalDataUtilities["simpleBars"]= function(data,x,xScale,y,yStart,color,label){var result=[];if(!data||data.length==0||!x||!y)return result;data.forEach(function(d,ix,list){var xv=x(d);if(xv!=null&&(!xScale||xScale(xv)!=null)){var yv=y(d);var yvStart=!yStart?0:yStart(d);if(yv!=null&&yvStart!=null){var r=new com_ibm_rave_bundles_components_IntervalDataUtilities.IntervalData;r["key"]=ix;r["ind1"]=xv;r["ind2"]=r["ind1"];r["cind"]=r["ind1"];r["dep1"]=yvStart;r["dep2"]=yv;r["cdep"]=r["dep2"];r["color"]=color?color(d):null;r["label"]=label? label(d):null;r["value"]=r["dep2"];r["_originalData"]=d;r["valueAsPercentOfCategory"]=100;result.push(r)}}return null});var sum=0;for(var i=0;i0)percent=100*dVal/stack.positiveSum; else percent=100/stack.positiveCount;var r=new com_ibm_rave_bundles_components_IntervalDataUtilities.IntervalData;r["key"]=ix;r["ind1"]=xv;r["ind2"]=xv;r["cind"]=xv;var sum=dVal<0?stack.negativePercent:stack.positivePercent;r["dep1"]=sum;r["dep2"]=sum+percent;r["cdep"]=r["dep2"];r["color"]=color?color(d):null;r["label"]=label?label(d):null;r["value"]=dVal;r["valueAsPercentOfCategory"]=percent;r["_originalData"]=d;result.push(r);if(dVal<0)stack.negativePercent+=percent;else stack.positivePercent+= percent}}return null});else{var __i_enFor0=0;var __exp_enFor0=Object.keys(categories);for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var o$$0=__exp_enFor0[__i_enFor0];var s=""+o$$0;var sum$$0=0;for(var i=0;i0.5)if(bgHSL.getL()>0.5)return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.min(fgHSL.getL(),bgHSL.getL()-0.4));else return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.min(fgHSL.getL(),0.1));else if(bgHSL.getL()<0.5)return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.max(fgHSL.getL(),bgHSL.getL()+0.4));else return rave.hsl(fgHSL.getH(), fgHSL.getS(),Math.max(fgHSL.getL(),0.9))}return fg};com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$1=function(labelColor){var labelRGB=rave.rgb(labelColor);return labelRGB.contrastShift(21)};com_ibm_rave_bundles_utilities_ColorUtil["getContrastRatio"]=function(colorA,colorB){var foregroundLuminance=rave.rgb(colorA).getLuminance();var backgroundLuminance=rave.rgb(colorB).getLuminance();var contrastRatio=foregroundLuminance>=backgroundLuminance?(foregroundLuminance+0.05)/(backgroundLuminance+ 0.05):(backgroundLuminance+0.05)/(foregroundLuminance+0.05);return contrastRatio};com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"]=function(a0,a1){var args=arguments;if(args.length==1)return com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$1(a0);return com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$0(a0,a1)};var com_ibm_rave_bundles_mapBundle_MapBundle=rave["internal"]["Declare"](com_ibm_rave_bundles_RaveBundle,{"getName":function(){return"mapBundle"},"createView":function(ctx){return new com_ibm_rave_bundles_mapBundle_MapView(ctx)}}); com_ibm_rave_bundles_mapBundle_MapBundle["init"]=function(){if(!com_ibm_rave_library_Library.bundle.isRegistered("mapBundle")){var bundle;com_ibm_rave_library_Library.bundle.extension("mapBundle",function(){if(!bundle){bundle=new com_ibm_rave_bundles_mapBundle_MapBundle;bundle["loadResources"]();require("./vizlibrary-map.css")}return bundle})}return"mapBundle"};com_ibm_rave_bundles_mapBundle_MapBundle.BUNDLE_NAME="mapBundle";com_ibm_rave_bundles_mapBundle_MapBundle["init"]();if(!com_ibm_rave_library_Library.bundle["mapBundle"])com_ibm_rave_library_Library.bundle["mapBundle"]= function(){if(!bundle){bundle=new com_ibm_rave_bundles_mapBundle_MapBundle;bundle["loadResources"]();require("./vizlibrary-map.css")}return bundle};else;var com_ibm_rave_bundles_mapBundle_MapView=rave["internal"]["Declare"](com_ibm_rave_bundles_views_BundleView,{"scale":0,transitionDur:0,"constructor":function(){this.currentZoomScale=[1]},"setup":function(){com_ibm_rave_bundles_views_BundleView.prototype["setup"].call(this);this._mapComponent=new com_ibm_rave_bundles_components_MapComponentImpl;this.setupHighlighting(); this.setupPanZoom()},"getLegendCount":function(){return 3},"isZoomSupported":function(){return false},"draw":function(){if(this["isUpdateNothing"]())return;this["preDraw"]("g.vizlibrary-map");if(!this["validateDataModel"]())return;this.setBorder("border.width","border.color");if(this.updateType==0)this.context.actions.action("deselectAll")(this.context.node.selectAll(".chart .element-shape-path"));this.context.node.selectAll(".mapzoom").attr("transform",null);if(this.context.getPropertyValue("scale")!= null&&!(this["getStringProperty"]("scale").length===0)){this["scale"]=+this.context.getPropertyValue("scale");this._mapComponent["baseScale"](this["scale"])}else this["scale"]=NaN;this.renderRegionsAndBubbles();this["resetUpdate"]()},renderRegionsAndBubbles:function(){var geoJsonObject=this.context.getPropertyValue("geoJSONObject");if(!geoJsonObject);var ds=this["dataModel"].dataset("data");if(ds.data()==null)ds.data([]);var bubbleMinSize=Math.abs(this["getCSSSizeToPixelNumber"]("minBubbleSize")); var bubbleMaxSize=Math.abs(this["getCSSSizeToPixelNumber"]("maxBubbleSize"));var defaultBubbleSize=Math.abs(this["getCSSSizeToPixelNumber"]("bubbleSize"));var useMapColorLegend=this["getBooleanProperty"]("legend.map.display");var useBubbleColorLegend=this["getBooleanProperty"]("legend.bubble.display");var useBubbleSizeLegend=this["getBooleanProperty"]("legend.size.display");var bubbleSizeAccessor=ds.slot("bubbleSize").entry();if(bubbleSizeAccessor){var domain=rave["library"]["internal"]["ScaleManager"].numericDomain(ds.data(), bubbleSizeAccessor);if(!domain){useBubbleSizeLegend=false;domain=[0,1]}com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"]=rave["scale"].linear().domain(domain).range([bubbleMinSize,bubbleMaxSize])}else{useBubbleSizeLegend=false;com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"]=null}var bubblePalette;var bubbleColorAccessor=ds.slot("bubbleColor").entry();if(bubbleColorAccessor){bubblePalette=this["getDynamicPalette"]("color.pointPalette","color.pointDynamicPalette.min","color.pointDynamicPalette.mid", "color.pointDynamicPalette.max");bubblePalette.setData(ds,"bubbleColor");bubblePalette.setAccessor(bubbleColorAccessor);bubblePalette.setNullColor(this["getStringProperty"]("color.null"))}else useBubbleColorLegend=false;var regionPalette;var regionColorAccessor=ds.slot("featureColor").entry();if(regionColorAccessor){regionPalette=this["getDynamicPalette"]("color.featurePalette","color.featureDynamicPalette.min","color.featureDynamicPalette.mid","color.featureDynamicPalette.max");regionPalette.setData(ds, "featureColor");regionPalette.setAccessor(regionColorAccessor);regionPalette.setNullColor(this["getStringProperty"]("color.null"))}else useMapColorLegend=false;var duration=~~this.context.getPropertyValue("legendAnimationDuration");var legendPosition=this["getLegendPosition"]();this["_legends"]["visible"](useMapColorLegend||useBubbleColorLegend||useBubbleSizeLegend)["position"](legendPosition)["transition"](!("none"==this.context.getPropertyValue("legendAnimation")),duration)["setPreExecute"](this.context.getPreExecute())["visible"](0, useMapColorLegend)["selector"](0,this.context.node.selectAll("g.legend.feature"))["palette"](0,regionPalette)["shape"](0,"circle")["title"](0,this.context.getDataSlotLabel("legend.map.title",regionColorAccessor))["titleFill"](0,this.context.getPropertyValue("legend.map.titlestyle.fill"))["titleFontSize"](0,this.context.getPropertyValue("legend.map.titlestyle.fontsize"))["titleFontFamily"](0,this.context.getPropertyValue("legend.map.titlestyle.fontfamily"))["setDataSlot"](0,regionColorAccessor)["visible"](1, useBubbleColorLegend)["selector"](1,this.context.node.selectAll("g.legend.point"))["palette"](1,bubblePalette)["shape"](1,"circle")["title"](1,this.context.getDataSlotLabel("legend.bubble.title",bubbleColorAccessor))["titleFill"](1,this.context.getPropertyValue("legend.bubble.titlestyle.fill"))["titleFontSize"](1,this.context.getPropertyValue("legend.bubble.titlestyle.fontsize"))["titleFontFamily"](1,this.context.getPropertyValue("legend.bubble.titlestyle.fontfamily"))["setDataSlot"](1,bubbleColorAccessor)["visible"](2, useBubbleSizeLegend)["selector"](2,this.context.node.selectAll("g.legend.size"))["scale"](2,com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"])["swatchSize"](2,!com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"]?null:com_ibm_rave_bundles_mapBundle_MapView.SWATCH_SIZE_FUNC)["shape"](2,"circle")["title"](2,this.context.getDataSlotLabel("legend.size.title",bubbleSizeAccessor))["titleFill"](2,this.context.getPropertyValue("legend.size.titlestyle.fill"))["titleFontSize"](2,this.context.getPropertyValue("legend.size.titlestyle.fontsize"))["titleFontFamily"](2, this.context.getPropertyValue("legend.size.titlestyle.fontfamily"))["setDataSlot"](2,bubbleSizeAccessor);if(this.updateType<=1){this["prepareLayoutComponent"]();this["prepareLayoutSizables"](this["_layoutComponent"],false,false,false,false,this["_legends"]["anyVisible"]());this["_legends"]["preLayout"](this["_layoutComponent"]);this["_layoutComponent"]["layout"]();legendPosition=this["_layoutComponent"]["legendPosition"]();this["chartRect"]=this["_layoutComponent"]["elementRect"]();var legendRect= this["_layoutComponent"]["legendRect"]();this["_legends"]["position"](legendPosition)["rectangle"](legendRect);this["_clip"]["clipRect"](this["chartRect"])["applyTo"](this.context.node.select(".content")).call(this.context.node.select("defs")["transition"]()["duration"](duration));this["_legends"]["rectangle"](legendRect)}this._mapComponent["geoJSONObject"](geoJsonObject)["borderWidth"](this.context.convertCSSSizeToPixels(this.context.getPropertyValue("border.width")))["borderColor"](this.context.getPropertyValue("border.color"))["bubbleBorderWidth"](this.context.convertCSSSizeToPixels(this.context.getPropertyValue("bubbleBorder.width")))["bubbleBorderColor"](this.context.getPropertyValue("bubbleBorder.color"))["geoJSONfeatureIdLookup"](this["getStringProperty"]("idLookup"))["regionsAndBubblesData"](ds.data())["featureId"](ds.slot("featureId").entry())["bubbleColor"](bubbleColorAccessor)["bubbleSize"](bubbleSizeAccessor)["featureLbl"](ds.slot("featureLabel").entry())["labelFormatter"](this.context.getCustomFormatterForElementLabels(ds.slot("featureLabel").entry()))["bubblePalette"](bubblePalette)["regionPalette"](regionPalette)["nullColor"](this["getStringProperty"]("color.null"))["bubbleScale"](com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"])["defaultBubbleSize"](defaultBubbleSize)["bounds"](this["chartRect"])["setZoomExtent"](+this.context.getPropertyValue("minZoom")/ 100,+this.context.getPropertyValue("maxZoom")/100)["featureLabel"](this["getBooleanProperty"]("showLabels"))["dropLabels"](this["getBooleanProperty"]("dropLabels"))["projectionType"](this["getStringProperty"]("mapProjection"))["rotation"](this["getDoubleProperty"]("mapRotationLongitude"),this["getDoubleProperty"]("mapRotationLatitude"))["regionAnimationDuration"](+this.context.getPropertyValue("regionAnimationDuration"))["regionAnimation"](!("none"==this.context.getPropertyValue("regionAnimation")))["bubbleAnimationDuration"](+this.context.getPropertyValue("bubbleAnimationDuration"))["bubbleAnimation"](!("none"== this.context.getPropertyValue("bubbleAnimation")))["flashDuration"](+this.context.getPropertyValue("flashDuration"))["flash"](this["getBooleanProperty"]("flash"));this["setBackgroundProperties"](this["chartRect"],duration);this["_legends"]["draw"]();this.context.node.selectAll("g.element-group")["transition"]()["duration"](this.transitionDur).call(this._mapComponent);this.bindPanZoom()},"requireUpdate":function(property){if((property=="pointLabelFont"||property=="pointLabelColor"||property=="pointLabelSize")&& !this["getBooleanProperty"]("showLabels"))return 4;if((property=="featureLabelFont"||property=="featureLabelColor"||property=="featureLabelSize")&&!this["getBooleanProperty"]("showLabels"))return 4;if((property=="graticuleColor"||property=="graticuleStrokeThickness")&&!this["getBooleanProperty"]("displayGraticule"))return 4;return rave["library"]["internal"]["AbstractView"].prototype["requireUpdate"].call(this,property)},setupHighlighting:function(){var originalStyle={};originalStyle["stroke-width"]= null;originalStyle["stroke"]=null;rave["library"]["internal"]["BundleUtils"].setupDefaultActions(this.context,".chart .element-shape-path",originalStyle);var action=this.context.actions.action("highlight");action.setOperation(new com_ibm_rave_bundles_mapBundle_MapView.MapHighlightOperation(action.getOperation()))},setupPanZoom:function(){var self=this;this._drag=rave.behavior.drag().on("drag.mapview",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var d= rave.event;self._mapComponent["panMap"](d.dx,d.dy);self.context.node.selectAll("g.element-group").call(self._mapComponent);return null});this._zoom=rave.behavior.zoom().on("zoom.mapview",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var d=rave.event;if(self.currentZoomScale[0]!=d["scale"]){if(d.sourceEvent)d.sourceEvent.stopImmediatePropagation();self.currentZoomScale[0]=d["scale"];self._mapComponent["zoomMap"](d["scale"]);self.context.node.selectAll("g.element-group").call(self._mapComponent)}return null})}, bindPanZoom:function(){var minScale=this._mapComponent["scaleProjection"]();this._zoom["scale"](this._mapComponent["scaleProjection"]());this._zoom.scaleExtent([minScale,minScale*15]);this.context.node.selectAll("rect.background").call(this._drag).call(this._zoom);this.context.node.selectAll("g.mapzoom").call(this._drag).call(this._zoom)},"getGroupStructure":function(){return["defs","g.vizlibrary vizlibrary-map","(","rect.background chart","g.chart","(","g.content","(","rect.background elements", "g.gridlines","(","g.grid left","g.grid bottom",")","g.mapzoom","(","g.elements","(","g.element-group",")",")",")",")","g.legends","(","g.legends-layout","g.legend feature","g.legend point","g.legend size",")",")"]}});com_ibm_rave_bundles_mapBundle_MapView.MapHighlightOperation=rave["internal"]["Declare"](rave["library"]["internal"]["ActionOperation"],{_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments);_$self.adjustNodesZOrder(args[0]); _$self._defOp.apply(_$self._defOp,args)};return _$self},"constructor":function(defOp){this._defOp=defOp},adjustNodesZOrder:function(selected){var node=selected.node();var parentG=node.rave_getParentNode();var grandParentG=parentG.rave_getParentNode();var childList=grandParentG.rave_getChildNodes();var children=[];for(var i=0;i0?regions[0][0]:null;var move= false;var __i_enFor0=0;for(var __len_enFor0=children.length;__i_enFor0<__len_enFor0;++__i_enFor0){var child=children[__i_enFor0];if(child==parentG)move=true;else if(child==firstBubbleNode)move=false;else if(move){grandParentG.removeChild(child);grandParentG.rave_insertBefore(child,parentG)}}}});com_ibm_rave_bundles_mapBundle_MapView.SWATCH_SIZE_FUNC=function(_data,index,groupIndex){return Math.PI*Math.pow(+com_ibm_rave_bundles_mapBundle_MapView["bubbleScale"].call(null,_data,index,groupIndex),2)}; var com_ibm_rave_bundles_components_BackgroundComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"constructor":function(){this._rect=new rave["internal"]["RectStruct"](0,0,0,0)},"execute":function(g){this["preExecute"]();g.style("fill",this._backgroundColor!=null?this._backgroundColor:"#FFFFFF").style("fill-opacity",1);g.attr("x",this._rect.x).attr("y",this._rect.y).attr("width",this._rect.width).attr("height",this._rect.height)},"type":function(){return com_ibm_rave_bundles_component_BackgroundComponent["COMPONENT_TYPE"]}, backgroundColor$0:function(){return this._backgroundColor},backgroundColor$1:function(backgroundColor){this._backgroundColor=backgroundColor;return this},"size":function(size){this._rect.x=0;this._rect.y=0;this._rect.width=size.w;this._rect.height=size.h;return this},"rect":function(rect){var r=new rave["internal"]["RectStruct"](rect.x,rect.y,rect.width,rect.height);this._rect=r;return this},"backgroundColor":function(a0){var args=arguments;if(args.length==0)return this.backgroundColor$0();return this.backgroundColor$1(a0)}}); var com_ibm_rave_bundles_components_ChartLayoutComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{_leftPadding:0,_topPadding:0,_rightPadding:0,_bottomPadding:0,_legendChartAlign:false,_preLegendAtMax:false,_preAxesAtZero:false,"constructor":function(){this._axisSizables=[];this._padding=0;this._topPadding=0;this._leftPadding=0;this._bottomPadding=0;this._rightPadding=0;this._topChartPadding=0;this._leftChartPadding=0;this._bottomChartPadding=0;this._rightChartPadding= 0;this._legendChartGap=0;this._legendPosition="right";this._overallRect=new rave["internal"]["RectStruct"](0,0,0,0);this._legendRect=new rave["internal"]["RectStruct"](0,0,0,0);this._chartRect=new rave["internal"]["RectStruct"](0,0,0,0);this._topRect=new rave["internal"]["RectStruct"](0,0,0,0);this._leftRect=new rave["internal"]["RectStruct"](0,0,0,0);this._bottomRect=new rave["internal"]["RectStruct"](0,0,0,0);this._rightRect=new rave["internal"]["RectStruct"](0,0,0,0);this._elementRect=new rave["internal"]["RectStruct"](0, 0,0,0);this._legendChartAlign=true},"execute":function(g){this["layout"]()},"preLayout":function(legendAtMax,axesAtZero){this._preLegendAtMax=legendAtMax;this._preAxesAtZero=axesAtZero;this["layout"]();this._preLegendAtMax=false;this._preAxesAtZero=false},"layout":function(){this["preExecute"]();com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._chartRect,this._overallRect);com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._legendRect,this._overallRect);var x= this._overallRect.x;var y=this._overallRect.y;var w=this._overallRect.width;var h=this._overallRect.height;var maxWH=Math.max(w,h);var tbLegend="top"==this._legendPosition||"bottom"==this._legendPosition;var legendPercent=this._axisSizables.length==0?0.5:0.3;var legendMaxSize=(tbLegend?this._legendRect.height:this._legendRect.width)*legendPercent;var legendDynamicSize=this._legendSizable?this._preLegendAtMax?maxWH:this._legendSizable["getPreferredSize"]():0;if(legendDynamicSize>legendMaxSize)legendDynamicSize= legendMaxSize;var isLegendTop=false;var isLegendBottom=false;var isLegendLeft=false;var isLegendRight=false;if("top"==this._legendPosition){this._legendRect.height=legendDynamicSize;this._chartRect.height-=this._legendRect.height;this._chartRect.y+=this._legendRect.height;isLegendTop=true}else if("bottom"==this._legendPosition){this._legendRect.height=legendDynamicSize;this._chartRect.height-=this._legendRect.height;this._legendRect.y=y+h-this._legendRect.height;isLegendBottom=true}else if("left"== this._legendPosition){this._legendRect.width=legendDynamicSize;this._chartRect.width-=this._legendRect.width;this._chartRect.x+=this._legendRect.width;isLegendLeft=true}else{this._legendRect.width=legendDynamicSize;this._chartRect.width-=this._legendRect.width;this._legendRect.x=x+w-this._legendRect.width;isLegendRight=true}if(this.evaluatePadding(this._padding,w,h)){var lrgap=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._legendChartGap,w);var tbgap=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._legendChartGap, h);var chartTop=isLegendTop&&this._legendSizable?tbgap:this._topPadding;var chartLeft=isLegendLeft&&this._legendSizable?lrgap:this._leftPadding;var chartBottom=isLegendBottom&&this._legendSizable?tbgap:this._bottomPadding;var chartRight=isLegendRight&&this._legendSizable?lrgap:this._rightPadding;com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset(this._chartRect,chartTop,chartLeft,chartBottom,chartRight)}else{var lrpadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._padding, w);var tbpadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._padding,h);chartTop=tbpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._topChartPadding,h);chartLeft=lrpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._leftChartPadding,w);chartBottom=tbpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._bottomChartPadding,h);chartRight=lrpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._rightChartPadding, w);com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset(this._chartRect,chartTop,chartLeft,chartBottom,chartRight);this._topPadding=tbpadding;this._leftPadding=lrpadding;this._bottomPadding=tbpadding;this._rightPadding=lrpadding}if(this._legendSizable)if(isLegendRight){this._legendRect.x-=this._rightPadding;this._chartRect.width-=this._rightPadding;this._legendRect.y+=this._topPadding;this._legendRect.height-=this._topPadding+this._bottomPadding}else if(isLegendLeft){this._legendRect.x+= this._leftPadding;this._chartRect.x+=this._leftPadding;this._chartRect.width-=this._leftPadding;this._legendRect.y+=this._topPadding;this._legendRect.height-=this._topPadding+this._bottomPadding}else if(isLegendTop){this._legendRect.y+=this._topPadding;this._chartRect.y+=this._topPadding;this._chartRect.height-=this._topPadding;this._legendRect.x+=this._leftPadding;this._legendRect.width-=this._leftPadding+this._rightPadding}else{this._legendRect.y-=this._bottomPadding;this._chartRect.height-=this._bottomPadding; this._legendRect.x+=this._leftPadding;this._legendRect.width-=this._leftPadding+this._rightPadding}x=this._chartRect.x;y=this._chartRect.y;w=this._chartRect.width;h=this._chartRect.height;var bottomH=0;var topH=0;var leftW=0;var rightW=0;var tbSO=0;var lrSO=0;if(!this._preAxesAtZero){var countHorz=0;var countVert=0;for(var i=0;i1?0.4:0.5;if(axisDynamicSize>this._chartRect.height*axisPercent)axisDynamicSize=this._chartRect.height*axisPercent;if("top"==orientation)topH=axisDynamicSize;else bottomH= axisDynamicSize;if(spillOver>lrSO)lrSO=spillOver}else{axisPercent=countVert>1?0.4:0.5;if(axisDynamicSize>this._chartRect.width*axisPercent)axisDynamicSize=this._chartRect.width*axisPercent;if("left"==orientation)leftW=axisDynamicSize;else rightW=axisDynamicSize;if(spillOver>tbSO)tbSO=spillOver}}}}if(lrSO>leftW)leftW=lrSO;if(lrSO>rightW)rightW=lrSO;if(tbSO>topH)topH=tbSO;if(tbSO>bottomH)bottomH=tbSO;this._leftRect.x=x;this._leftRect.width=leftW;this._leftRect.y=y;this._leftRect.height=h;this._rightRect.x= x+w-rightW;this._rightRect.width=rightW;this._rightRect.y=y;this._rightRect.height=h;this._topRect.y=y;this._topRect.height=topH;this._topRect.x=x;this._topRect.width=w;this._bottomRect.y=y+h-bottomH;this._bottomRect.height=bottomH;this._bottomRect.x=x;this._bottomRect.width=w;this._elementRect.x=x+leftW;this._elementRect.y=y+topH;this._elementRect.width=w-(leftW+rightW);this._elementRect.height=h-(topH+bottomH);if(this._legendSizable&&this._legendChartAlign)if(tbLegend){this._legendRect.x=this._elementRect.x; this._legendRect.width=this._elementRect.width}else{this._legendRect.y=this._elementRect.y;this._legendRect.height=this._elementRect.height}},evaluatePadding:function(padding,horizontalExtent,verticalExtent){if(padding==null)return false;var paddingString=padding+"";if(paddingString.length==0)return false;this._topPadding=0;this._leftPadding=0;this._bottomPadding=0;this._rightPadding=0;var items=paddingString.split(new RegExp(";"));var __i_enFor0=0;for(var __len_enFor0=items.length;__i_enFor0<__len_enFor0;++__i_enFor0){var item= items[__i_enFor0];var parts=item.split(new RegExp(":"));if(items.length==1&&parts.length!=2)return false;if(parts.length==2)if(0<=parts[0].indexOf("top"))this._topPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],verticalExtent);else if(0<=parts[0].indexOf("left"))this._leftPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],horizontalExtent);else if(0<=parts[0].indexOf("bottom"))this._bottomPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1], verticalExtent);else if(0<=parts[0].indexOf("right"))this._rightPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],horizontalExtent)}return true},"legendRect":function(){return this._legendRect},"chartRect":function(){return this._chartRect},"topRect":function(){return this._topRect},"leftRect":function(){return this._leftRect},"bottomRect":function(){return this._bottomRect},"rightRect":function(){return this._rightRect},"elementRect":function(){return this._elementRect}, "overall":function(overall){com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._overallRect,overall);return this},padding$0:function(){return this._padding},legendChartAlign$0:function(){return this._legendChartAlign},legendChartGap$0:function(){return this._legendChartGap},topPadding$0:function(){return this._topChartPadding},leftPadding$0:function(){return this._leftChartPadding},bottomPadding$0:function(){return this._bottomChartPadding},rightPadding$0:function(){return this._rightChartPadding}, legendPosition$0:function(){return this._legendPosition},topPadding$1:function(padding){this._topChartPadding=padding;return this},leftPadding$1:function(padding){this._leftChartPadding=padding;return this},bottomPadding$1:function(padding){this._bottomChartPadding=padding;return this},rightPadding$1:function(padding){this._rightChartPadding=padding;return this},"type":function(){return com_ibm_rave_bundles_component_ChartLayoutComponent["COMPONENT_TYPE"]},padding$1:function(value){this._padding= value;return this},"chartPadding":function(top,left,bottom,right){this._topChartPadding=top;this._leftChartPadding=left;this._bottomChartPadding=bottom;this._rightChartPadding=right;return this},legendChartAlign$1:function(legendChartAlign){this._legendChartAlign=legendChartAlign;return this},legendChartGap$1:function(value){this._legendChartGap=value;return this},legendPosition$1:function(position){if("top"==position||"bottom"==position||"left"==position||"right"==position)this._legendPosition=position; return this},"legendSize":function(sizable){this._legendSizable=sizable;return this},"removeAxisSizables":function(){this._axisSizables.length=0;return this},"addAxisSizable":function(sizable){this._axisSizables.push(sizable);return this},"padding":function(a0){var args=arguments;if(args.length==0)return this.padding$0();return this.padding$1(a0)},"legendChartAlign":function(a0){var args=arguments;if(args.length==0)return this.legendChartAlign$0();return this.legendChartAlign$1(a0)},"legendChartGap":function(a0){var args= arguments;if(args.length==0)return this.legendChartGap$0();return this.legendChartGap$1(a0)},"topPadding":function(a0){var args=arguments;if(args.length==0)return this.topPadding$0();return this.topPadding$1(a0)},"leftPadding":function(a0){var args=arguments;if(args.length==0)return this.leftPadding$0();return this.leftPadding$1(a0)},"bottomPadding":function(a0){var args=arguments;if(args.length==0)return this.bottomPadding$0();return this.bottomPadding$1(a0)},"rightPadding":function(a0){var args= arguments;if(args.length==0)return this.rightPadding$0();return this.rightPadding$1(a0)},"legendPosition":function(a0){var args=arguments;if(args.length==0)return this.legendPosition$0();return this.legendPosition$1(a0)}});com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect=function(t,s){t.x=s.x;t.y=s.y;t.width=s.width;t.height=s.height;return t};com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset=function(r,top,left,bottom,right){var ileft=Math.max(0,left);var iright=Math.max(0, right);if(ileft+iright<=r.width){r.x+=ileft;r.width-=ileft+iright}var itop=Math.max(0,top);var ibottom=Math.max(0,bottom);if(itop+ibottom<=r.height){r.y+=itop;r.height-=itop+ibottom}return r};com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize=function(value,extent){var v=rave["library"]["internal"]["CSSConverter"].convertCSSSizeToPixelNumber(value,extent,10);var d=v!=null?v:0;return Math.max(0,Math.min(d,extent))};com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_AXIS_PERCENT"]= 0.4;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_AXIS_PERCENT_SINGLE_PER_ORIENTATION"]=0.5;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_LEGEND_PERCENT"]=0.3;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_LEGEND_PERCENT_NO_AXIS"]=0.5;var com_ibm_rave_bundles_components_ClipPathComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"constructor":function(id){this._clipRect=new rave["internal"]["RectStruct"](0,0, 100,100);this._id=id},"type":function(){return"ClipPathComponent"},"clipRect":function(rect){this._clipRect=new rave["internal"]["RectStruct"](rect.x-1,rect.y-1,rect.width+2,rect.height+2);return this},"applyTo":function(s){s.attr("clip-path","url("+this["url"]()+")");return this},"id":function(){return this._id},"url":function(){return"#"+this._id},"execute":function(g){var clipPath=g.selectAll("#"+this._id).data([0]);clipPath.enter().append("clipPath").attr("id",this._id).append("rect");rave["transition"](clipPath.select("rect")).attr("x", this._clipRect.x).attr("y",this._clipRect.y).attr("width",this._clipRect.width).attr("height",this._clipRect.height)}});var com_ibm_rave_bundles_components_LegendComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{_visible:false,_swatchSize:0,"constructor":function(){this._visible=true;this._size=null;this._colorPalette=null;this._orient="horizontal";this._swatchSize=16*16;this._swatchSizeFunc=null;this._scale=null;this._shape="square";this._title=null;this["_titleStyle"]= {};this._entryStyle={};this._labelFormat=null;this._swatchLegend=null;this._continuousLegend=null;this._legendType=null},"type":function(){return"LegendComponent"},"execute":function(g){if(this._colorPalette)if("continuous"==this._colorPalette.getType()){if(!this._continuousLegend)this._continuousLegend=rave.capabilities.extension("legend").continuous();this._legendType="ContinuousLegend"}else{if(!this._swatchLegend)this._swatchLegend=rave.capabilities.extension("legend").swatch();this._legendType= "SwatchLegend"}else if(this._swatchSizeFunc){if(!this._swatchLegend)this._swatchLegend=rave.capabilities.extension("legend").swatch();this._legendType="SwatchLegend"}else this._legendType=null;this["preExecute"]();if(!this._visible||!this._colorPalette&&!this._swatchSizeFunc||!this._size||this._size[0]<=0||this._size[1]<=0){g.selectAll("*").remove();return}var fontChecker=rave.capabilities.extension("fontchecker");if(this._colorPalette&&"continuous"==this._colorPalette.getType()){this._continuousLegend.shapeRectSize("horizontal"== this._orient?[-1,16]:[16,-1])["size"](this._size)["scale"](this._colorPalette.getScale())["orient"](this._orient)["title"](this._title)["titleFill"](this["_titleStyle"]["fill"])["titleFontSize"](this["_titleStyle"]["font-size"])["titleFontFamily"](this["_titleStyle"]["font-Family"]).titleAlignment("start")["labelFormat"](this._labelFormat);var legend=g.call(this._continuousLegend);if(this._entryStyle)legend.selectAll(".legendLabel").style(this._entryStyle);if(this["_titleStyle"])legend.selectAll(".legendTitle").style(this["_titleStyle"]); if(fontChecker){legend.selectAll(".legendLabel").call(fontChecker);legend.selectAll(".legendTitle").call(fontChecker)}}else{var insets={};insets["bottom"]=5;var swatchSize=this._swatchSize;var scale=null;var labelFormatter=this._labelFormat;if(this._swatchSizeFunc&&this._scale){swatchSize=this._swatchSizeFunc;scale=this._scale}if(this._colorPalette){scale=this._colorPalette.getScale();var originalDomain=this._colorPalette.originalDomain();if(originalDomain){scale.domain(originalDomain);var f=this._colorPalette.originalDomainLabelAccessor(); if(this._labelFormat){var self=this;labelFormatter=function(data,index,groupIndex){return self._labelFormat.call(this,f.call(this,data,index,groupIndex),index,groupIndex)}}else labelFormatter=f}}this._swatchLegend.labelPadding(8)["size"](this._size)["scale"](scale)["orient"](this._orient)["swatchSize"](swatchSize)["shape"](this._shape)["title"](this._title)["titleFill"](this["_titleStyle"]["fill"])["titleFontSize"](this["_titleStyle"]["font-size"])["titleFontFamily"](this["_titleStyle"]["font-family"]).titleAlignment("start")["labelFormat"](labelFormatter).titleInsets(insets); legend=g.call(this._swatchLegend);if(this._entryStyle)legend.selectAll(".legendLabel").style(this._entryStyle);if(this["_titleStyle"])legend.selectAll(".legendTitle").style(this["_titleStyle"]);if(fontChecker){legend.selectAll(".legendLabel").call(fontChecker);legend.selectAll(".legendTitle").call(fontChecker)}}},"legend":function(){if("ContinuousLegend"==this._legendType)return this._continuousLegend;if("SwatchLegend"==this._legendType)return this._swatchLegend;return null},"legendType":function(){return this._legendType}, "visible":function(visible){this._visible=visible;return this},"isVisible":function(){return this._visible},"size":function(size){this._size=size;return this},"colorPalette":function(colorPalette){this._colorPalette=colorPalette;return this},"orient":function(orient){if("horizontal"==orient||"vertical"==orient)this._orient=orient;return this},"position":function(position){return this["orient"](com_ibm_rave_bundles_components_LegendComponentImpl["orientationOf"](position))},swatchSize$0:function(swatchSize){if(swatchSize>= 0&&swatchSize!=null)this._swatchSize=swatchSize;return this},"scale":function(scale){this._scale=scale;return this},swatchSize$1:function(swatchSize){if(swatchSize)this._swatchSizeFunc=swatchSize;return this},"shape":function(shape){this._shape=shape;return this},"title":function(title){this._title=title!=null&&title.length>0?title:null;return this},"titleFill":function(titleFill){this["_titleStyle"]["fill"]=titleFill;return this},"titleFontSize":function(titleFontSize){this["_titleStyle"]["font-size"]= titleFontSize;return this},"titleFontFamily":function(titleFontFamily){this["_titleStyle"]["font-family"]=titleFontFamily;return this},"labelFormat":function(labelFormat){this._labelFormat=labelFormat;return this},"titleFont":function(titleFontStyle){this["_titleStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](titleFontStyle);return this},"entryFont":function(entryFontStyle){this._entryStyle=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](entryFontStyle); return this},"getSpaceUsed":function(){if(this._colorPalette&&"continuous"==this._colorPalette.getType())return this._continuousLegend.getUsedSize()+2;else return this._swatchLegend.getUsedSize()+2},"swatchSize":function(a0){var args=arguments;if(args.length==1&&typeof a0==="function")return this.swatchSize$1(a0);return this.swatchSize$0(a0)}});com_ibm_rave_bundles_components_LegendComponentImpl["orientationOf"]=function(position){if("top"==position||"bottom"==position)return"horizontal";return"vertical"}; com_ibm_rave_bundles_components_LegendComponentImpl.BAR_THINKNESS=16;com_ibm_rave_bundles_components_LegendComponentImpl.SWATCH_SIZE=16;com_ibm_rave_bundles_components_LegendComponentImpl["TOP"]="top";com_ibm_rave_bundles_components_LegendComponentImpl["BOTTOM"]="bottom";com_ibm_rave_bundles_components_LegendComponentImpl["LEFT"]="left";com_ibm_rave_bundles_components_LegendComponentImpl["RIGHT"]="right";com_ibm_rave_bundles_components_LegendComponentImpl["ADJUSTABLE"]=-1;var com_ibm_rave_bundles_components_AxisComponentImpl= rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"_axisTitle":null,"_titleStyle":null,"_lineColor":null,"_tickColor":null,"_labelStyle":null,"_displayAxisTitle":false,"_displayAxisLine":false,"_displayTicks":false,"_displayTickLabels":false,"_showPanZoomTickLabels":false,_rotateLabels:false,_staggerCellWidth:0,_staggerAlignFirstAtStart:false,_staggerAlignLastAtEnd:false,_layoutTimerId:0,_layoutTitleSize:0,_layoutLabelSize:0,_layoutLabelHeight:0,_layoutAverageDigitWidth:0, _layoutSpillOver:0,"_hideOverlappingLabels":false,_pendingLabelTimer:false,_padding:0,_renderedShapes:false,_layoutMode:-1,_allowAutoAxisLayoutToChangeOrientaiton:true,_lastAutomaticAxisLayoutOrientation:-1,_allowStagger:false,_allowRotate45:false,_allowRotate90:false,"constructor":function(){var self=this;this._axisLineProperties=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var line=this.selectAll("path.domain");if(self["_lineColor"]!=null)line.style("stroke", self["_lineColor"]);if(self["_displayAxisLine"])line.attr("visibility",null);else line.attr("visibility","hidden");return null};this._axisTickProperties=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var tickLines=this.selectAll("line");if(self["_displayTicks"])tickLines.attr("visibility",null);else tickLines.attr("visibility","hidden");if(self["_lineColor"]!=null)tickLines.style("stroke",self["_tickColor"]);return null};this._axisTickLabelProperties= function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var labels=this.selectAll("text");labels.each(self._displayHideLabels);labels.each(self._panZoomLabels);labels.style(self["_labelStyle"]);self._axis.ticksHandler(null);return null};this._displayHideLabels=function(obj,group,index){if(self["_displayTickLabels"]){if(this.rave_hasProperty("__tickLabelHidden__")){this.rave_removeProperty("__tickLabelHidden__");var count=~~this.rave_getProperty("__hiddenCount__"); if(count<=1){this.rave_removeProperty("__hiddenCount__");this.removeAttribute("visibility")}else this.rave_setProperty("__hiddenCount__",count-1)}}else if(!this.rave_hasProperty("__tickLabelHidden__")){this.setAttribute("visibility","hidden");this.rave_setProperty("__tickLabelHidden__","hidden");count=~~this.rave_getProperty("__hiddenCount__");this.rave_setProperty("__hiddenCount__",count+1)}};this._panZoomLabels=function(obj,group,index){if(self["_showPanZoomTickLabels"]){if(this.rave_hasProperty("__panZoomHidden__")){this.rave_removeProperty("__panZoomHidden__"); var count=~~this.rave_getProperty("__hiddenCount__");if(count<=1){this.rave_removeProperty("__hiddenCount__");this.removeAttribute("visibility")}else this.rave_setProperty("__hiddenCount__",count-1)}}else if(!this.rave_hasProperty("__panZoomHidden__")){this.setAttribute("visibility","hidden");this.rave_setProperty("__panZoomHidden__","hidden");count=~~this.rave_getProperty("__hiddenCount__");this.rave_setProperty("__hiddenCount__",count+1)}};this._tickHandler=new com_ibm_rave_bundles_components_AxisComponentImpl.AxisTickHandler(this._axisTickLabelProperties, this._axisTickProperties);this._axis=null;this._role=null;this._scale=null;this._orient="bottom";this._bounds=null;this["_displayAxisTitle"]=true;this["_axisTitle"]=null;this["_titleStyle"]={};this["_displayAxisLine"]=true;this["_lineColor"]=null;this["_displayTicks"]=true;this["_tickColor"]=null;this["_displayTickLabels"]=true;this["_labelStyle"]={};this._rotateLabels=false;this["_hideOverlappingLabels"]=true;this._dropOverlap=new com_ibm_rave_bundles_utilities_BundleLabelDropper;this._tickFormat= null;this["_showPanZoomTickLabels"]=true;this._pendingLabelTimer=false;this._padding=16;this._textFlow=rave.capabilities.extension("textflow");this._fontChecker=rave.capabilities.extension("fontchecker");this._renderedShapes=false},"type":function(){return com_ibm_rave_bundles_component_AxisComponent["COMPONENT_TYPE"]},"role":function(){return this._role},"execute":function(g){this["preExecute"]();if(!this._scale){g.selectAll("*").remove();this._renderedShapes=false;return}this._renderedShapes=true; if(this._scale.isOrdinal()||this._scale.isClustered()){this["_hideOverlappingLabels"]=false;this._rotateLabels=true}else{this["_hideOverlappingLabels"]=true;this._rotateLabels=true}this.drawTitle(g);this.drawAxis(g);this.handleAxisText(g);this.drawTitle(g)},handleAxisText:function(g){this.stopLabelDroppingUpdate();var duration=0;var delay=0;var g2=rave["transition"](g);if(g2.isTransition()){var t2=g2;duration=t2["duration"]();delay=t2.delay()}var axisSelector=g.selectAll("g.axis");var labels=axisSelector.selectAll("g.tick").filter(rave["library"]["internal"]["BundleUtils"].notExit).selectAll("text"); var fontChecker=rave.capabilities.extension("fontchecker");labels.style(this["_labelStyle"]);if(fontChecker)labels.call(fontChecker);var mode=this._allowAutoAxisLayoutToChangeOrientaiton?this.determineWhichAutoMode(g):this._lastAutomaticAxisLayoutOrientation;this.configureStaggerData(g,mode);this.handleLabelsRotationAndPosition(g,labels,mode);this.hashingNumericScales(labels,this["labelExtent"](g),mode);if(duration==0){this.doLabelWrapping(g,mode);this.handleLabelsRotationAndPosition(g,labels,mode)}this._lastAutomaticAxisLayoutOrientation= mode;if(!this._scale.isOrdinal()&&!this._scale.isClustered()){var isHorizontal=this._orient=="bottom"||this._orient=="top";var tick=axisSelector.append("g").classed("tick",true);var tickText=tick.append("text");if(labels["size"]()==0){var singleValue=this._scale["scale"]().domain()[0];var formatter=this._tickFormat;if(!formatter){var tickFunc=this._scale["scale"]()["tickFormat"];if(tickFunc)formatter=tickFunc.apply(tickFunc,[singleValue])}var node=tickText[0][0];var stringValue=formatter?formatter.call(node, singleValue,0,0):""+singleValue;tickText.text(stringValue);var dim=node.getBBox();this._layoutLabelSize=isHorizontal?dim.height:dim.width;if(!isHorizontal||mode!=0){tickText.text(".0");this._layoutLabelSize+=node.getBBox().width}}if(!isHorizontal||mode!=0){tickText.text(".0");node=tickText[0][0];dim=node.getBBox();this._layoutAverageDigitWidth=dim.width}tick.remove()}if(this["_hideOverlappingLabels"]&&duration>0)this.updateLabelDropping(labels,duration,delay);if(duration>0)this.doLabelWrappingAfterAnimation(g, labels,mode,duration,delay);if(!this["_displayTickLabels"]){this._layoutLabelSize=0;this._layoutAverageDigitWidth=0}},handleLabelsRotationAndPosition:function(g,labels,mode){if(mode==2||mode==1)if(this._orient=="bottom")this.rotateLabels(g,labels,"end",mode);else if(this._orient=="top")this.rotateLabels(g,labels,"start",mode);else this.rotateLabels(g,labels,"middle",mode);else if(this._orient=="bottom"||this._orient=="top")this.rotateLabels(g,labels,"middle",mode);else if(this._orient=="right")this.rotateLabels(g, labels,"start",mode);else this.rotateLabels(g,labels,"end",mode)},hashingNumericScales:function(labels,extent,mode){if(!labels||!extent)return;if(!this._scale.isOrdinal()&&!this._scale.isClustered()){var isHorizontal=this._orient=="bottom"||this._orient=="top";var tickSpace=mode==1?extent[1]:extent[0];this._textTruncationIndicator="";this._layoutLabelSize=0;for(var i=0;ithis._layoutLabelSize)this._layoutLabelSize=size;if(width>=tickSpace)if(this._simplifiedTickFormat){var newText=this._simplifiedTickFormat.call(null,node.rave_getData(),0,0);if(newText!=null)node.rave_setText(newText);if(node.getBBox().width>=tickSpace)node.rave_setText(this.stringOfSize(node.rave_getText().length,"#"))}else node.rave_setText(this.stringOfSize(node.rave_getText().length,"#"))}}},stringOfSize:function(size,ch){var returnString="";for(var i=0;icellWidth:false;this._staggerAlignLastAtEnd=this._staggerLastNode?this._staggerLastNode.getBBox().width>cellWidth:false}},getStaggerIndex:function(node){for(var index=0;indexwidestLabel)widestLabel=nodeRect.width;if(nodeRect.height>this._layoutLabelHeight)this._layoutLabelHeight=nodeRect.height}widestLabel+=zeroWidth;this._layoutSpillOver=mode==1?this._layoutLabelHeight/2:widestLabel/2+2}else{for(i=0;ithis._layoutLabelHeight)this._layoutLabelHeight=nodeRect.height}this._layoutSpillOver=this._layoutLabelHeight/2}return mode}var originalDataLabelAccessor= this._scale.originalDomainLabelAccessor();var staggerStringsWontMatch=this._tickFormat&&!originalDataLabelAccessor;var calcStagger=(this._allowStagger&&this._layoutMode==-1||this._layoutMode==3)&&!staggerStringsWontMatch;var calcRotate45=this._allowRotate45&&this._layoutMode==-1||this._layoutMode==2;var calcRotate90=this._allowRotate90&&this._layoutMode==-1||this._layoutMode==1;var spaceFor45Label=0;for(i=0;ilayoutLabelWidth)layoutLabelWidth=labelWidth;horizontalScore+=labelWidth<=cellWidth?1:cellWidth/labelWidth;if(isHorizontal){if(calcStagger){var spaceForLabel=cellWidth*2;if(i==0&&i==labelCount-1)spaceForLabel*=0.5;else if(i==0||i==labelCount-1)spaceForLabel*=0.75;staggerScore+=labelWidth<=spaceForLabel?1:spaceForLabel/labelWidth}if(calcRotate45){if(spaceFor45Label==0)spaceFor45Label=cellWidth90/0.7071-layoutLabelHeight;var space=this.calculate45DegreeSpace(node, spaceFor45Label);rotate45Score+=labelWidth<=space?1:space/labelWidth}if(calcRotate90)rotate90Score+=labelWidth<=cellWidth90?1:cellWidth90/labelWidth}}mode=0;if(this._layoutMode==-1){if(isHorizontal&&this._allowStagger){horizontalScore*=1.1;staggerScore*=1.1}if(staggerScore>horizontalScore&&staggerScore>=rotate45Score&&staggerScore>=rotate90Score)mode=3;else if(rotate45Score>horizontalScore&&rotate45Score>=rotate90Score)mode=2;else if(rotate90Score>horizontalScore)mode=1}else if(this._layoutMode== 3&&staggerStringsWontMatch||!isHorizontal)mode=0;else mode=this._layoutMode;if(isHorizontal)switch(mode){case 3:this._layoutLabelSize=layoutLabelHeight*2;break;case 2:this._layoutLabelSize=(layoutLabelWidth+layoutLabelHeight)*0.7071;break;case 1:this._layoutLabelSize=layoutLabelWidth;break;case 0:default:this._layoutLabelSize=layoutLabelHeight;break}else this._layoutLabelSize=layoutLabelWidth;this._layoutLabelHeight=layoutLabelHeight;return mode},calculate45DegreeSpace:function(node,maxWidth){var width= maxWidth;var tfm=node.rave_getParentNode().getAttribute("transform");if(tfm!=null){var tfmString=tfm.toString();var indexOfTrans=tfmString.indexOf("translate(");if(indexOfTrans!=-1){indexOfTrans+=10;var indexOfComma=tfmString.indexOf(",",indexOfTrans);if(indexOfComma!=-1){var xAmount=tfmString.substring(indexOfTrans,indexOfComma);var xLabelPos=+xAmount;var width45Degrees=node.getBBox().width;var xLabelWidth=width45Degrees*0.7071;var isBottom=this._orient=="bottom";if(isBottom){xLabelPos-=node.getBBox().height/ 4;if(xLabelPos-xLabelWidththis._bounds.x+this._bounds.width){xLabelWidth=this._bounds.x+this._bounds.width-xLabelPos;width=xLabelWidth/0.7071}if(width>maxWidth)width=maxWidth}}}return width},rotateLabels:function(g,labels,textAnchor,mode){if(this._rotateLabels){var self=this;var positioning=function(data,index,groupIndex){var x=0;var y=0;var rotation_cy=0;var isBottom=self._orient=="bottom"; if(mode==3){var cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1){if(cellIndex%2==1){var staggerDirection=isBottom?1:-1;y+=self._layoutLabelHeight*staggerDirection}if(cellIndex==0&&self._staggerAlignFirstAtStart)x-=self._staggerCellWidth/4;else if(cellIndex==self.getStaggerCount()-1&&self._staggerAlignLastAtEnd)x+=self._staggerCellWidth/4}}else if(mode==2)if(isBottom)x-=self._layoutLabelHeight;else x+=self._layoutLabelHeight/2;else if(mode==1)if(isBottom){x-=this.getBBox().height/2+self._layoutLabelHeight/ 4;rotation_cy=~~(self._padding/4+self._axis.tickSize())}else{x-=this.getBBox().height/2-self._layoutLabelHeight;rotation_cy=~~-(self._padding/4+self._axis.tickSize())}var rotationDegrees=mode==1?-90:mode==2?-45:0;return"translate("+x+","+y+") rotate("+rotationDegrees+",0,"+rotation_cy+")"};labels.attr("transform",positioning).style("text-anchor",textAnchor);if(mode==3){if(this._staggerAlignFirstAtStart)this._staggerFirstNode.rave_setStyle("text-anchor","start");if(this._staggerAlignLastAtEnd)this._staggerLastNode.rave_setStyle("text-anchor", "end")}}},"axis":function(){return this._axis},drawAxis:function(g){var axisSelector=g.selectAll("g.axis").data([0]);axisSelector.enter().append("g").classed("axis",true).classed(this._orient,true);if(!this._axis)this._axis=new rave["internal"]["Axis"];if(this["_hideOverlappingLabels"])this._textFlow.valignment("top").dropTextOnFail(false);this._axis.ticksHandler(this._tickHandler);this._axis["orient"](this._orient);this._axis["tickFormat"](this._tickFormat);this._axis.tickPadding(10);if(this._scale.isOrdinal()|| this._scale.isClustered()){var labelHeight=20;var isHorizontal=this._orient=="bottom"||this._orient=="top";if(isHorizontal)labelHeight/=0.7071;var range=this._scale["scale"]().rangeExtent();var extent=+range[1]-+range[0];this._axis.ticks(extent/labelHeight)}else if(this._tickMagnitude==null)this._axis.ticks(10);else this._axis.ticks.apply(this._axis,[10,this._scale["scale"]().getTickFormat(),this._tickMagnitude]);var s=this._scale["scale"]();if(this._scale.originalDomain()){var sOrdinal=s.copy(); sOrdinal.domain(this._scale.originalDomain());s=sOrdinal;var self=this;var originalDataLabelAccessor=self._scale.originalDomainLabelAccessor();var tickFormatter;if(originalDataLabelAccessor)if(this._tickFormat)tickFormatter=function(data,index,groupIndex){return self._tickFormat.call(this,originalDataLabelAccessor.call(this,data,index,groupIndex),index,groupIndex)};else tickFormatter=originalDataLabelAccessor;else tickFormatter=this._tickFormat;this._axis["tickFormat"](tickFormatter)}this._axis["scale"](s); axisSelector.call(this._axis);var g2=rave["transition"](axisSelector);if(!g2.isTransition())axisSelector.selectAll("text").call(this._dropOverlap,this["_hideOverlappingLabels"]);axisSelector.selectAll("path.domain").classed("axis-line",true);axisSelector.selectAll("g.tick line").classed("axis-tick",true);if(this._fontChecker)axisSelector.selectAll("g.tick text").classed("axis-label",true).call(this._fontChecker);else axisSelector.selectAll("g.tick text").classed("axis-label",true);axisSelector.call(this._axisLineProperties)}, drawTitle:function(g){if(!this["_displayAxisTitle"]||this["_axisTitle"]==null||this["_axisTitle"].trim().length==0||!this._bounds){g.selectAll("text.axis-title."+this._orient).remove();return}var x=0;var y=0;var dy="";var transform;if("top"==this._orient){x=this._elementRect.x+this._elementRect.width/2;y=-this._bounds.height+this._padding/4;dy="0.75em"}else if("bottom"==this._orient){x=this._elementRect.x+this._elementRect.width/2;y=this._bounds.height-this._padding/4;dy="-0.25em"}else if("left"== this._orient){x=-this._elementRect.y-this._elementRect.height/2;y=-this._bounds.width+this._padding/4;dy="0.75em";transform="rotate(-90)"}else{x=this._elementRect.y+this._elementRect.height/2;y=-this._bounds.width+this._padding/4;dy="0.75em";transform="rotate(90)"}var fillOpacity;var tmp=g.append("text").attr("class","axis-title "+this._orient);fillOpacity=tmp.style("fill-opacity");tmp.remove();var label=g.selectAll("text.axis-title."+this._orient);if(label["size"]()==0){label.data([0]).enter().append("text").attr("class", "axis-title "+this._orient).style("text-anchor","middle").attr("x",x).attr("y",y).attr("transform",transform).attr("dy",dy).style(this["_titleStyle"]).text(this["_axisTitle"]);if(this._fontChecker)g.selectAll("text.axis-title."+this._orient).call(this._fontChecker)}com_ibm_rave_bundles_utilities_TextCrossfader["textCrossFade"](rave["transition"](label),label.text(),this["_axisTitle"],fillOpacity,0.25).style("text-anchor","middle").attr("x",x).attr("y",y).attr("transform",transform).attr("dy",dy).style(this["_titleStyle"])}, getUnZoomedScale:function(scale){var s=scale.copy();if(s.getZoomTransform())s.getZoomTransform()(1,0);return s},isValid:function(data){var s=this.getUnZoomedScale(this._axis["scale"]());var v=+s.call(null,data,0,0);var range=this._axis["scale"]().range();if(this._axis["scale"]().range().indexOf(v)>-1)return true;if(range[0]v&&v>range[1])return true;return false},doLabelWrapping:function(g,mode){if(this["_displayTickLabels"]){this._textFlow.valignment("top"); if(!this["_hideOverlappingLabels"])this._textFlow.dropTextOnFail(true);var d=this["labelExtent"](g);if(!d||d[0]<0||d[1]<0)return;var w=~~d[0];var h=~~d[1];if(mode==2){w=~~(d[1]/0.7071-this._layoutLabelHeight);h=~~(this._layoutLabelHeight/0.7071)}else if(mode==1){var tmp=w;w=h;h=tmp}var allowWrap=mode==1;if(this._scale.isOrdinal()||this._scale.isClustered()){var hActual=~~(this._layoutLabelHeight*1.2);if(hActual>h)h=hActual;var isHorizontal=this._orient=="bottom"||this._orient=="top";if(mode==0&&!isHorizontal)allowWrap= true}var self=this;var cellWidth=w;var cellHeight=h;this._textFlow.wrap(allowWrap).truncate(true)["textTruncateIndicator"](this._textTruncationIndicator!=null?this._textTruncationIndicator:"...").spacing(1.2).extent(function(data,index,groupIndex){var width=cellWidth;var height=cellHeight;if(mode==2){var cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1)width=~~self.calculate45DegreeSpace(this,cellWidth)}else if(mode==3){cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1){if(cellIndex==0&& cellIndex==self.getStaggerCount()-1)width=cellWidth;else if(cellIndex==0||cellIndex==self.getStaggerCount()-1)width=cellWidth*3/2;else width=cellWidth*2;height=cellHeight/2}}return[width,height]});g.selectAll("g.tick \x3e text").call(this._textFlow)}},"labelExtent":function(g){var isHorizontal=this._orient=="bottom"||this._orient=="top";var w=this._bounds.width;var h=this._bounds.height;if(this._scale["scale"]().rangeBand){var rangeBandValue=+this._scale["scale"]().rangeBand();if(isHorizontal)w=rangeBandValue; else h=rangeBandValue}this.calcTitleExtent(g);if(isHorizontal){h-=this._axis.tickSize();h-=this._padding/2;if(this._layoutTitleSize!=0){h-=this._layoutTitleSize;h-=this._padding/2}}else{w-=this._axis.tickSize();w-=this._padding/2;if(this._layoutTitleSize!=0){w-=this._layoutTitleSize;w-=this._padding/2}}return[w,h]},calcTitleExtent:function(g){this._layoutTitleSize=0;var title=g.selectAll("text.axis-title");if(title["size"]()>0){var textHeight=title[0][0].getBBox().height;this._layoutTitleSize=textHeight}}, "setRole":function(role){this._role=role;return this},"scaleTickMagnitude":function(tickMagnitude){this._tickMagnitude=tickMagnitude;return this},"scale":function(scale){this._scale=scale?scale:null;return this},orient$0:function(orient){if("left"==orient||"bottom"==orient||"right"==orient||"top"==orient){this._orient=orient;if(this._role==null)if("left"==orient)this._role="ROLE_Y1";else if("bottom"==orient)this._role="ROLE_X1";else if("right"==orient)this._role="ROLE_Y2";else this._role="ROLE_X2"}return this}, orient$1:function(){return this._orient},"bounds":function(bounds){this._bounds=bounds;return this},"elementRect":function(elementRect){this._elementRect=elementRect;return this},tickFormat$0:function(tickFormat){this._tickFormat=tickFormat;return this},tickFormat$1:function(){return this._tickFormat},simplifiedTickFormat$0:function(tickFormat){this._simplifiedTickFormat=tickFormat;return this},simplifiedTickFormat$1:function(){return this._simplifiedTickFormat},"displayAxisTitle":function(displayAxisTitle){this["_displayAxisTitle"]= displayAxisTitle;return this},"displayAxisLine":function(displayAxisLine){this["_displayAxisLine"]=displayAxisLine;return this},"displayTicks":function(displayTicks){this["_displayTicks"]=displayTicks;return this},"displayTickLabels":function(displayTickLabels){this["_displayTickLabels"]=displayTickLabels;return this},"allowAutomaticAxisLayoutToChangeOrientation":function(state){this._allowAutoAxisLayoutToChangeOrientaiton=state;return this},"isAllowAutomaticAxisLayoutToChangeOrientation":function(){return this._allowAutoAxisLayoutToChangeOrientaiton}, "showPanZoomTickLabels":function(showPanZoomTickLabels){this["_showPanZoomTickLabels"]=showPanZoomTickLabels;return this},"axisTitle":function(axisTitle){this["_axisTitle"]=axisTitle;return this},"axisColor":function(axisColor){this["_lineColor"]=axisColor;this["_tickColor"]=axisColor;return this},"lineColor":function(lineColor){this["_lineColor"]=lineColor;return this},"tickColor":function(tickColor){this["_tickColor"]=tickColor;return this},"labelColor":function(labelColor){this["_labelStyle"]["fill"]= labelColor;return this},labelStyle$0:function(fill,fontSize,fontFamily){this["_labelStyle"]["fill"]=fill;this["_labelStyle"]["font-size"]=fontSize;this["_labelStyle"]["font-family"]=fontFamily;return this},"titleColor":function(titleColor){this["_titleStyle"]["fill"]=titleColor;return this},titleStyle$0:function(fill,fontSize,fontFamily){this["_titleStyle"]["fill"]=fill;this["_titleStyle"]["font-size"]=fontSize;this["_titleStyle"]["font-family"]=fontFamily;return this},"padding":function(padding){this._padding= padding;return this},"layoutMode":function(layoutMode){this._layoutMode=-1;if(layoutMode!=null)if(layoutMode=="horizontal")this._layoutMode=0;else if(layoutMode=="stagger")this._layoutMode=3;else if(layoutMode=="rotate45")this._layoutMode=2;else if(layoutMode=="rotate90")this._layoutMode=1;return this},"allowStagger":function(allow){this._allowStagger=allow;return this},"allowRotate45":function(allow){this._allowRotate45=allow;return this},"allowRotate90":function(allow){this._allowRotate90=allow; return this},renderedShapes:function(){return this._renderedShapes},labelStyle$1:function(fontStyle){this["_labelStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](fontStyle);return this},titleStyle$1:function(fontStyle){this["_titleStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](fontStyle);return this},isAxisSwapped:function(){return(this._role=="ROLE_Y1"||this._role=="ROLE_Y2")&&(this._orient=="top"||this._orient=="bottom")||(this._role=="ROLE_X1"|| this._role=="ROLE_X2")&&(this._orient=="right"||this._orient=="left")},"textTruncateIndicator":function(indicator){this._textTruncationIndicator=indicator;return this},stopLabelDroppingUpdate:function(){this._pendingLabelTimer=false},updateLabelDropping:function(labels,duration,delay){var self=this;var start=delay+duration;var labelCollideCallback=function(elapsed){if(!self._pendingLabelTimer)return true;labels.call(self._dropOverlap,self["_hideOverlappingLabels"]);if(elapsed>=start){self._pendingLabelTimer= false;return true}return false};if(duration>0){this._pendingLabelTimer=true;rave.timer(labelCollideCallback,start)}},doLabelWrappingAfterAnimation:function(g,labels,mode,duration,delay){this._layoutTimerId++;var timerId=this._layoutTimerId;var self=this;var wrapCallback=function(elapsed){if(self._layoutTimerId==timerId){self.doLabelWrapping(g,mode);self.handleLabelsRotationAndPosition(g,labels,mode)}return true};rave.timer(wrapCallback,delay+duration)},"preLayout":function(){this._layoutTitleSize= 0;this._layoutLabelSize=0;this._layoutLabelHeight=0;this._layoutAverageDigitWidth=0;this._layoutSpillOver=0},"getSizableType":function(){return this._scale.isOrdinal()||this._scale.isClustered()?1:0},"getSizableOrientation":function(){return this._orient},"getPreferredSize":function(){var layoutPaddingSize=0;if(this._axis){layoutPaddingSize=this._axis.tickSize();if(this._layoutLabelSize!=0)layoutPaddingSize+=this._padding/2;if(this._layoutTitleSize!=0)layoutPaddingSize+=this._padding/2}return this._layoutLabelSize+ this._layoutAverageDigitWidth+this._layoutTitleSize+layoutPaddingSize+2},"getSpillOverSize":function(){return this._layoutSpillOver},"orient":function(a0){var args=arguments;if(args.length==0)return this.orient$1();return this.orient$0(a0)},"tickFormat":function(a0){var args=arguments;if(args.length==0)return this.tickFormat$1();return this.tickFormat$0(a0)},"simplifiedTickFormat":function(a0){var args=arguments;if(args.length==0)return this.simplifiedTickFormat$1();return this.simplifiedTickFormat$0(a0)}, "labelStyle":function(a0,a1,a2){var args=arguments;if(args.length==1)return this.labelStyle$1(a0);return this.labelStyle$0(a0,a1,a2)},"titleStyle":function(a0,a1,a2){var args=arguments;if(args.length==1)return this.titleStyle$1(a0);return this.titleStyle$0(a0,a1,a2)}});com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"]=function(bounds,orient){if("left"==orient)return[bounds.x+bounds.width,0];if("right"==orient)return[bounds.x,0];if("top"==orient)return[0,bounds.y+bounds.height];return[0, bounds.y]};com_ibm_rave_bundles_components_AxisComponentImpl.NodeIndex=rave["internal"]["Declare"]({_domainIndex:0,"constructor":function(node,domainIndex){this._node=node;this._domainIndex=domainIndex},"contains":function(node){return node==this._node},"getIndex":function(){return this._domainIndex}});com_ibm_rave_bundles_components_AxisComponentImpl.AxisTickHandler=rave["internal"]["Declare"](rave["internal"]["AbstractTickHandler"],{_$functionClassMethod:function(){var _$self=function(args){if(args!== null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);_$self["handle"](args[0]);return null};return _$self},"constructor":function(label,tick){this._label=label;this._tick=tick},"handle":function(ticks){ticks.call(this._tick);ticks.call(this._label)}});com_ibm_rave_bundles_components_AxisComponentImpl["LABEL_HIDDEN_FLAG"]="__tickLabelHidden__";com_ibm_rave_bundles_components_AxisComponentImpl["PANZOOM_HIDDEN_FLAG"]="__panZoomHidden__";com_ibm_rave_bundles_components_AxisComponentImpl["HIDDEN_COUNT"]= "__hiddenCount__";com_ibm_rave_bundles_components_AxisComponentImpl["PREFERRED_SPACE_PER_TICK"]=20;com_ibm_rave_bundles_components_AxisComponentImpl["PREFERRED_TICK_COUNT"]=10;com_ibm_rave_bundles_components_AxisComponentImpl["TICK_PADDING"]=10;com_ibm_rave_bundles_components_AxisComponentImpl.HORIZONTAL=0;com_ibm_rave_bundles_components_AxisComponentImpl.ROTATE90=1;com_ibm_rave_bundles_components_AxisComponentImpl.ROTATE45=2;com_ibm_rave_bundles_components_AxisComponentImpl.STAGGER=3;com_ibm_rave_bundles_components_AxisComponentImpl.TEXTFLOW_SPACING= 1.2;com_ibm_rave_bundles_components_AxisComponentImpl["BOTTOM_ORIENTATION"]="bottom";com_ibm_rave_bundles_components_AxisComponentImpl["TOP_ORIENTATION"]="top";com_ibm_rave_bundles_components_AxisComponentImpl["LEFT_ORIENTATION"]="left";com_ibm_rave_bundles_components_AxisComponentImpl["RIGHT_ORIENTATION"]="right";com_ibm_rave_bundles_components_AxisComponentImpl.AUTOMODE=-1;var com_ibm_rave_bundles_components_GridComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl, {_displayGridlines:false,_renderedShapes:false,"constructor":function(){this._axis=null;this._role=null;this._orient="bottom";this._bounds=null;this._displayGridlines=true;this._gridlineStyle=new com_ibm_rave_bundles_components_StyleStructs.LineStyle;this._renderedShapes=false},"type":function(){return com_ibm_rave_bundles_component_GridComponent["COMPONENT_TYPE"]},"role":function(){return this._role},"execute":function(g){this["preExecute"]();if(!this._displayGridlines||!this._axis||!this._bounds){g.selectAll("*").remove(); this._renderedShapes=false;return}this._renderedShapes=true;var size="bottom"==this._orient||"top"==this._orient?this._bounds.height:this._bounds.width;var ticksHandler=this._axis.ticksHandler();var tickSize=this._axis.tickSize();var outerTickSize=this._axis.outerTickSize();var tickFormat=this._axis["tickFormat"]();var ax=this._axis.tickSize(-size,0)["tickFormat"]("").ticksHandler(null);g.call(ax);this._axis.tickSize(tickSize,outerTickSize)["tickFormat"](tickFormat).ticksHandler(ticksHandler);g.selectAll("g.tick line").classed("grid-tick", true);g.selectAll(".grid-tick").style("stroke",this._gridlineStyle._stroke).style("stroke-dasharray",this._gridlineStyle._dashArray);g.selectAll("path.domain").remove()},"axis":function(axis){this._axis=axis;return this},"setRole":function(role){this._role=role;return this},orient$0:function(orient){if("left"==orient||"right"==orient||"bottom"==orient||"top"==orient)this._orient=orient;return this},"bounds":function(bounds){this._bounds=bounds;return this},displayGridlines$0:function(displayGridlines){this._displayGridlines= displayGridlines;return this},"gridlineStyle":function(gridlineColor,dashArray){this["gridlineColor"](gridlineColor);this["dashArray"](dashArray);return this},gridlineColor$0:function(gridlineColor){this._gridlineStyle._stroke=gridlineColor!=null&&gridlineColor.length>0?gridlineColor:null;return this},dashArray$0:function(dashArray){this._gridlineStyle._dashArray=dashArray!=null&&dashArray.length>0?dashArray:null;return this},orient$1:function(){return this._orient},displayGridlines$1:function(){return this._displayGridlines}, gridlineColor$1:function(){return this._gridlineStyle._stroke},dashArray$1:function(){return this._gridlineStyle._dashArray},renderedShapes:function(){return this._renderedShapes},"orient":function(a0){var args=arguments;if(args.length==0)return this.orient$1();return this.orient$0(a0)},"displayGridlines":function(a0){var args=arguments;if(args.length==0)return this.displayGridlines$1();return this.displayGridlines$0(a0)},"gridlineColor":function(a0){var args=arguments;if(args.length==0)return this.gridlineColor$1(); return this.gridlineColor$0(a0)},"dashArray":function(a0){var args=arguments;if(args.length==0)return this.dashArray$1();return this.dashArray$0(a0)}});var com_ibm_rave_bundles_components_KeyedBundleComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"key":function(keyFunction){this.keyFunction=keyFunction;return this},"getKey":function(){if(!this.keyFunction)return null;var self=this;return function(datum,index,groupIndex){return self.keyFunction(datum)}}}); var com_ibm_rave_bundles_components_MapComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_KeyedBundleComponentImpl,{_scale:0,_minScale:0,_featureLabel:false,_prevFeatureLabel:false,_isAlbersUsa:false,_dropLabels:false,_rotationLongitude:0,_rotationLatitude:0,_projectionChanged:true,_boundsChanged:true,_dataChanged:true,_baseScale:0,_panZoom:false,_panY:false,_panX:false,_defaultPanZoom:false,_defaultBubbleSize:0,LABEL_PADDING:2,"constructor":function(){this._centroidCache={}; this._coordinateCache={};this._scale=NaN;this._prevFeatureLabel=this._featureLabel=true;this._isAlbersUsa=false;this._regionFillCache=rave["internal"]["ES6Map"]["create"]();this._darkCache=rave["internal"]["ES6Map"]["create"]();this._labelDropper=rave.capabilities.extension("position")["drop"]();this._mapPan=[];this._mapPan[0]=this._mapPan[1]=0;this._translation=[0,0];this._regionAnimationNeeded=true;this._borderWidth=null;this._borderColor=null;this._bubbleBorderWidth=null;this._bubbleBorderColor= null},"is_defaultPanZoom":function(){return this._defaultPanZoom},"is_GraphicalPan":function(){return this._panZoom},panX$0:function(){return this._panX},panY$0:function(){return this._panY},baseScale$0:function(){return this._baseScale},baseScale$1:function(bScale){var _bScale=bScale;if(_bScale<0)_bScale=0;this._baseScale=_bScale;this["projectionChanged"](true)},"type":function(){return com_ibm_rave_bundles_components_MapComponentImpl.MAP_COMPONENT},"execute":function(g){this["_chart"]=g;if(this._dataChanged|| this._projectionChanged||this._boundsChanged||isNaN(this._scale)){this._mapPan[0]=this._mapPan[1]=0;this.textBBoxCache={};this._coordinateCache={};this._featureIdFieldArray=this._geoJSONfeatureIdLookup.split(new RegExp("\\."));this._dataMap=this.prepareData(this._geoJSONObject["features"]);this.dataChangedRegions=rave["internal"]["ES6Map"]["create"]();this._bubbleAnimationDuration=this._bubbleAnimationEnabled?this._bubbleAnimationDuration:0;this._regionAnimationDuration=this._regionAnimationEnabled? this._regionAnimationDuration:0;this.addFeatures();this.removeFeatures();this._projection=this.centerProjection();this["_chart"].attr("transform","translate(0, 0)");this.recalculateCentroidsOnAction()}this.updateFeatures();this._regionAnimationNeeded=true;this["projectionChanged"](false);this._boundsChanged=false;this._dataChanged=false},centerProjection:function(){var center=rave.geo.centroid(this._geoJSONObject);this._projection=this["createProjection"]();if(isNaN(this._scale)){this._projection["scale"](1).translate([0, 0]);if(!this._isAlbersUsa)this._projection.center([center[0],center[1]]);var pathGen=rave.geo.path().projection(this._projection);this._cachedPathGenerator=pathGen;var geoBounds=pathGen["bounds"](this._geoJSONObject);var geoWidth=Math.abs(geoBounds[1][0]-geoBounds[0][0]);var geoHeight=Math.abs(geoBounds[1][1]-geoBounds[0][1]);this._scale=0.95/Math.max(geoWidth/this._bounds.width,geoHeight/this._bounds.height);this._translation[0]=this._bounds.x+(this._bounds.width-this._scale*(geoBounds[1][0]+geoBounds[0][0]))/ 2;this._translation[1]=this._bounds.y+(this._bounds.height-this._scale*(geoBounds[1][1]+geoBounds[0][1]))/2}this._projection["scale"](this._scale).translate([this._translation[0],this._translation[1]]);if(!this._isAlbersUsa)this._projection.center([center[0],center[1]]);this._zoomExtent[1]=this._zoomExtent[1]*this._scale;this._zoomExtent[0]=this._zoomExtent[0]*this._scale;this._minScale=this._baseScale=this._scale;return this._projection},addFeatures:function(){var self=this;this._features=this["_chart"].selectAll("g.element-shape").data(this._geoJSONObject["features"]); this._features.enter().append("g").attr("class",function(data,index,groupIndex){var classes="element-shape ";var featureId=self.findGeoJSONId(data);classes+=self.classFromFeatureId(featureId);return classes}).append("path").attr("class","element-shape-path").style("opacity",0);this.bubbleLabelRegionSelector=this["_chart"].selectAll(".region").data(this._dataMap.values(),function(data,index,groupIndex){return self._featureId(data)});var gEnter=this.bubbleLabelRegionSelector.enter().append("g").attr("class", "region");gEnter.append("circle").attr("cx",0).attr("cy",0).attr("r",0).attr("class",function(data,index,groupIndex){var featureId=""+self._featureId(data);self.dataChangedRegions.set(featureId,0);return"bubble "+self.classFromFeatureId(featureId)});if(this._featureLabel)this.createLabels(gEnter);var paths=this._features.select("path");var count=[];count[0]=paths["size"]();var animationDuration=this._regionAnimationNeeded?this._regionAnimationDuration:0;paths["transition"]("Path_Elements")["duration"](animationDuration).style("opacity", 1).each("end",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);count[0]=count[0]-1;if(count[0]==0)if(self._flash&&self._flashDuration>0)self.flashRegionsAndBubble();return null});this._features.select("path").classed("flash",false).attr("fill",function(data,index,groupIndex){var featureId=self.findGeoJSONId(this.rave_getParentNode().rave_getData());var d=self._dataMap.get(featureId);if(d!=null)return self._regionPalette.call(this,d,index,groupIndex);return self._nullColor}).style("stroke", this._borderColor).style("stroke-width",this._borderWidth);this.bubbleLabelRegionSelector.select("circle").classed("flash",false).attr("fill",function(data,index,groupIndex){return!self._bubblePalette?null:self._bubblePalette.call(this,data,index,groupIndex)}).style("stroke",this._bubbleBorderColor).style("stroke-width",this._bubbleBorderWidth)["transition"]("BUBBLES_TRANSITION")["duration"](this._bubbleAnimationDuration).ease("bounce").attr("r",function(data,index,groupIndex){var result=self.getFinalRadius(data); var featureId=""+self._featureId(data);if(self.dataChangedRegions.has(featureId)&&self.dataChangedRegions.get(featureId)==0)return result;if(+this.getAttribute("r")!=result)if(!self.dataChangedRegions.has(featureId))self.dataChangedRegions.set(featureId,result);return result})},createLabels:function(bubbleSelector){var self=this;var labelText;if(this._featureLbl)labelText=!this._labelFormatter?function(data,index,groupIndex){return self._featureLbl(data)}:function(data,index,groupIndex){var v=self._featureLbl(data); return v==null?null:self._labelFormatter.call(this,v,index,groupIndex)};bubbleSelector.append("text").attr("x","0").attr("y","0").text(labelText).attr("class",function(data,index,groupIndex){var featureId=""+self._featureId(data);var c="label "+self.classFromFeatureId(featureId);c+=self.isDarkBackground(featureId)?" light-label":" dark-label";return c}).style("opacity",0)},updateFeatures:function(){var pathGenerator;if(this._cachedPathGenerator)pathGenerator=this._cachedPathGenerator;else pathGenerator= rave.geo.path().projection(this._projection);var self=this;this._features.select("path").attr("d",pathGenerator);this.bubbleLabelRegionSelector.select("circle").attr("transform",function(data,index,groupIndex){var center=self.getCentroidLargestPolygon(""+self._featureId(data),pathGenerator);if(!center)return"translate(-1000,-1000)";return"translate("+ +center[0]+", "+ +center[1]+")"});if(this._featureLabel&&!this._prevFeatureLabel)this.createLabels(this["_chart"].selectAll(".region"));if(this._featureLabel){this.bubbleLabelRegionSelector.selectAll("text").attr("transform", function(data,index,groupIndex){var featureId=""+self._featureId(data);var center=self.getTextCenter(featureId,this,pathGenerator,self.getFinalRadius(data));if(!center)return"translate(-1000,-1000)";return"translate("+center[0]+", "+center[1]+")"}).attr("visibility",null)["transition"]()["duration"](this._bubbleAnimationDuration).style("opacity",1);if(this._dropLabels)this._labelDropper.dropOverlap(this["_chart"].selectAll("text.label"))}else this.bubbleLabelRegionSelector.selectAll("text").remove(); this._prevFeatureLabel=this._featureLabel},removeFeatures:function(){var animationDuration=this._regionAnimationNeeded?this._regionAnimationDuration:0;this._features.exit().select("path")["transition"]()["duration"](animationDuration).style("opacity",0);this._features.exit()["transition"]()["duration"](animationDuration).remove();this.bubbleLabelRegionSelector.exit().selectAll("circle")["transition"]()["duration"](this._bubbleAnimationDuration).attr("r",0);this.bubbleLabelRegionSelector.exit().selectAll("text")["transition"]()["duration"](this._bubbleAnimationDuration).style("opacity", 0);this.bubbleLabelRegionSelector.exit()["transition"]()["duration"](this._bubbleAnimationDuration).remove()},flashRegionsAndBubble:function(){var self=this;var valid=[];var __i_enFor0=0;var __exp_enFor0=this.dataChangedRegions.keys();for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var key=__exp_enFor0[__i_enFor0];if(this.dataChangedRegions.get(key)>0)valid.push(key)}if(valid.length==0)return;setTimeout(function(){self["_chart"].selectAll("path").classed("flash",function(data, index,groupIndex){var parent=rave.select(this.rave_getParentNode());var featureId=self.findGeoJSONId(parent.datum());return valid.indexOf(featureId)>-1?true:false});self["_chart"].selectAll("circle").classed("flash",function(data,index,groupIndex){var featureId=""+self._featureId(data);return valid.indexOf(featureId)>-1?true:false});var selStr=["path.flash","circle.flash"];var width=[self._borderWidth,self._bubbleBorderWidth];var color=[self._borderColor,self._bubbleBorderColor];for(var i=0;i<2;++i){var flash= self["_chart"].selectAll(selStr[i]);var strokeWidth=width[i];var strokeColor=color[i];var count=[];count[0]=flash["size"]();flash.style("stroke-width","2px").style("stroke",null)["transition"]()["duration"](self._flashDuration).style("stroke-width",strokeWidth).style("stroke",strokeColor).each("end",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);count[0]=count[0]-1;if(count[0]==0)flash.style("stroke-width","2px").style("stroke",null)["transition"]()["duration"](self._flashDuration).style("stroke-width", strokeWidth).style("stroke",strokeColor);return null})}},~~this._bubbleAnimationDuration)},getFinalRadius:function(data){if(this._bubbleScale&&this._bubbleSize){var v=this._bubbleSize(data);return v!=null?+this._bubbleScale.call(null,v,0,0):0}else if(this._bubbleColor)return this._defaultBubbleSize;else return 0},prepareData:function(geoRegions){var regionIds=[];var __i_enFor0=0;var __exp_enFor0=geoRegions;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var region=__exp_enFor0[__i_enFor0]; regionIds.push(this.findGeoJSONId(region))}var dataMap=rave["internal"]["ES6Map"]["create"]();for(var i=0;i-1)dataMap.set(id,d)}return dataMap},isDarkBackground:function(featureId){var color=this._regionFillCache.get(featureId);if(color==null){var feature=this["_chart"].select("."+this.classFromFeatureId(featureId)+" \x3e path");color=""+feature.attr("fill");this._regionFillCache.set(featureId, color)}var dark=this._darkCache.get(color);if(dark==null){var DARK_THRESHOLD=127.5;var rgb=rave.rgb(color);var brightness=rgb.getR()*0.299+rgb.getG()*0.587+rgb.getB()*0.114;dark=brightness<=DARK_THRESHOLD;this._darkCache.set(color,dark)}return dark},getTextCenter:function(featureId,context,pathGenerator,radius){var textBBox=this.textBBoxCache[featureId];if(!textBBox){textBBox=context.getBBox();this.textBBoxCache[featureId]=textBBox}var centroid=this.getCentroidLargestPolygon(featureId,pathGenerator); if(!centroid)return null;var textCenter=[textBBox.width,textBBox.height];var center=[];var localRadius=radius;if(localRadius>0)localRadius+=this.LABEL_PADDING;center.splice(0,0,centroid[0]-textCenter[0]/2);center.splice(1,0,centroid[1]+textCenter[1]/2+localRadius);return center},"createProjection":function(){this._isAlbersUsa=false;this._cachedPathGenerator=null;this._projection=null;if(this._projectionType!=null)if("albersUsa"==this._projectionType){this._isAlbersUsa=true;this._projection=rave.geo["albersUsa"]()}else if("albers"== this._projectionType)this._projection=rave.geo["albers"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["azimuthalEqualArea"]==this._projectionType)this._projection=rave.geo["azimuthalEqualArea"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["azimuthalEquidistant"]==this._projectionType)this._projection=rave.geo["azimuthalEquidistant"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["conicConformal"]==this._projectionType)this._projection=rave.geo["conicConformal"](); else if(com_ibm_rave_bundles_components_MapComponentImpl["conicEqualArea"]==this._projectionType)this._projection=rave.geo["conicEqualArea"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["conicEquidistant"]==this._projectionType)this._projection=rave.geo["conicEquidistant"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["equirectangular"]==this._projectionType)this._projection=rave.geo["equirectangular"]();else if("gnomonic"==this._projectionType)this._projection=rave.geo["gnomonic"](); else if("mercator"==this._projectionType)this._projection=rave.geo["mercator"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["orthographic"]==this._projectionType)this._projection=rave.geo["orthographic"]();else if(com_ibm_rave_bundles_components_MapComponentImpl["stereoGraphic"]==this._projectionType)this._projection=rave.geo.stereographic().clipAngle(160);else if(com_ibm_rave_bundles_components_MapComponentImpl["transverseMercator"]==this._projectionType)this._projection=rave.geo["transverseMercator"](); else if(com_ibm_rave_bundles_components_MapComponentImpl["winkelTriple"]==this._projectionType)this._projection=rave.geo.winkel3();if(!this._projection)this._projection=rave.geo["mercator"]();if(!this._isAlbersUsa)this._projection.rotate([this._rotationLongitude,this._rotationLatitude,0]);return this._projection},classFromFeatureId:function(featureId){var fid="id"+featureId;fid=fid.replace(new RegExp("\\W+","g"),"");return fid},findGeoJSONId:function(jsonFeature){var _jsonFeature=jsonFeature;for(var i= 0;ilargestArea){largestArea=area;coord=testCoord}}}this._coordinateCache[featureId]=coord}return coord},calculatePolyArea:function(poly){var area=0;for(var i=0;i tag with optional data attributes createLink: function(href, attributes) { var head = document.head || document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = href; link.rel = 'stylesheet'; for (var key in attributes) { if ( ! attributes.hasOwnProperty(key)) { continue; } var value = attributes[key]; link.setAttribute('data-' + key, value); } head.appendChild(link); }, // Create a