;(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.raveLibraryBubbleMin = 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_component_PointComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_PointComponent["COMPONENT_TYPE"]="PointComponent"; var com_ibm_rave_bundles_utilities_PathUtils=rave["internal"]["Declare"]({});com_ibm_rave_bundles_utilities_PathUtils["fadeOutIn"]=function(selection,pathFunction){if(selection.isTransition()){var transition=selection;transition.ease("linear").styleTween("opacity",function(data,index,value){var path=rave.select(this);if(!this.rave_hasProperty("__rave_originalOpacity__"))this.rave_setProperty("__rave_originalOpacity__",path.style("opacity"));var styleOpacity=this.rave_getProperty("__rave_originalOpacity__"); var opacity=styleOpacity!=null?parseFloat(""+styleOpacity):1;var mid1=0.45;var mid2=0.55;var s=rave["scale"].linear().domain([0,mid1,mid2,1]).range([opacity,0,0,opacity]);var setPath=[];setPath[0]=false;return function(t){if(t>mid1&&!setPath[0]){path.attr("d",pathFunction);setPath[0]=true}return+s.call(null,t,0,0)}});transition.each("end",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);this.rave_removeProperty("__rave_originalOpacity__");return null})}else selection.attr("d", pathFunction)};var com_ibm_rave_bundles_utilities_LabelStyleUtil=rave["internal"]["Declare"]({_labelShadow:false,_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(_$self._labelFontStyle){var __i_enFor0=0;var __exp_enFor0=Object.keys(_$self._labelFontStyle);for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var stylenName=__exp_enFor0[__i_enFor0];if(stylenName=="fill"||stylenName== "color"&&_$self._labelFillColor||stylenName=="font-size"&&_$self._labelFontSize||stylenName=="text-shadow"&&_$self._labelShadow==true)continue;this.style(stylenName,_$self._labelFontStyle[stylenName])}}if(_$self._labelFillColor)this.style("fill",_$self._labelFillColor);if(_$self._labelFontSize)this.style("font-size",_$self._labelFontSize);var labels=this.selectAll("*");if(labels.length==0)labels=this;if(_$self._labelShadow){var self=_$self;var defaultLabelFill=_$self["getDefaultLabelColor"](_$self._labelFontStyle); _$self._contrastLabelColorfilter=new com_ibm_rave_bundles_components_FilterComponentImpl("contrast_label_drop_shadow");_$self._contrastLabelColorfilter["setDropshadow"]("1px","1px","0px",rave.rgb(com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](defaultLabelFill)));_$self._sameLabelColorfilter=new com_ibm_rave_bundles_components_FilterComponentImpl("same_label_drop_shadow");_$self._sameLabelColorfilter["setDropshadow"]("1px","1px","0px",rave.rgb(defaultLabelFill));var owner=this.node().rave_getOwner(); rave.select(owner).select("defs").call(_$self._contrastLabelColorfilter);rave.select(owner).select("defs").call(_$self._sameLabelColorfilter);this.each(function(data,index,groupIndex){if(self._labelFillColor){var contrastRatio=com_ibm_rave_bundles_utilities_ColorUtil["getContrastRatio"](rave.rgb(self._labelFillColor.call(this,data,index,groupIndex)),defaultLabelFill);if(contrastRatio<4.5)this.setAttribute("filter","url(#"+self._contrastLabelColorfilter["getId"]()+")");else this.setAttribute("filter", "url(#"+self._sameLabelColorfilter["getId"]()+")")}else this.setAttribute("filter","url(#"+self._contrastLabelColorfilter["getId"]()+")")});labels.each(function(data,index,groupIndex){if(self._labelFillColor)this.rave_setProperty("_rave_drop_shadow","1px 1px 0px "+com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](self._labelFillColor.call(this,data,index,groupIndex)).toString());else this.rave_setProperty("_rave_drop_shadow","1px 1px 0px "+com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](defaultLabelFill).toString())})}else{labels.each(function(data, index,groupIndex){this.rave_setProperty("_rave_drop_shadow",null)});this.attr("filter",null)}return null};return _$self},"labelFont":function(labelFontStyle){this._labelFontStyle=labelFontStyle;return this},"labelFillColor":function(_labelFillColor){this._labelFillColor=_labelFillColor;return this},"labelFontSize":function(_labelFontSize){this._labelFontSize=_labelFontSize;return this},"labelShadow":function(labelShadow){this._labelShadow=labelShadow;return this},"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_PackedBubbleComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_PackedBubbleComponent["COMPONENT_TYPE"]="PackedBubbleComponent";var com_ibm_rave_bundles_components_ComponentConfiguration=rave["internal"]["Declare"]({}); com_ibm_rave_bundles_components_ComponentConfiguration["configureZoom"]=function(chart,zoom,xScale,yScale,x2Scale,y2Scale,scaleExtent,chartRect,p,s,zoomOps,callback){var z=zoom?zoom:rave.behavior.zoom();var z1=(x2Scale||y2Scale)&&zoomOps=="all"?rave.behavior.zoom():null;var dummyScale=rave["scale"].linear();z.x(dummyScale);z.y(dummyScale);if(xScale&&zoomOps=="x"){z.x(xScale["scale"]());z["scale"](s[0]);z.translate([p[0],0])}if(yScale&&zoomOps=="y"){z.y(yScale["scale"]());z["scale"](s[1]);z.translate([0, p[1]])}if(x2Scale&&zoomOps=="x2"){z.x(x2Scale["scale"]());z["scale"](s[2]);z.translate([p[2],0])}if(y2Scale&&zoomOps=="y2"){z.y(y2Scale["scale"]());z["scale"](s[3]);z.translate([0,p[3]])}if(zoomOps=="all"){if(xScale)z.x(xScale["scale"]());if(yScale)z.y(yScale["scale"]());z["scale"](1);z.translate([0,0]);if(z1){if(x2Scale)z1.x(x2Scale["scale"]());if(y2Scale)z1.y(y2Scale["scale"]());z1["scale"](1);z1.translate([0,0])}}z.scaleExtent(scaleExtent?scaleExtent:[1,Infinity]).on("zoom.default",function(args){if(args!== null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var event=args[3];var scale=event["scale"];var translate=event.translate;var scaledX=chartRect.x*(scale-1);var scaledXExtent=chartRect.width*(1-scale)-scaledX;translate[0]=Math.min(-scaledX,Math.max(scaledXExtent,translate[0]));var scaledY=chartRect.y*(scale-1);var scaledYExtent=chartRect.height*(1-scale)-scaledY;translate[1]=Math.min(-scaledY,Math.max(scaledYExtent,translate[1]));z.translate([translate[0],translate[1]]);if(z1){z1.translate([translate[0], translate[1]]);z1["scale"](scale)}if(zoomOps=="x"){p[0]=translate[0];s[0]=scale}else if(zoomOps=="y"){p[1]=translate[1];s[1]=scale}else if(zoomOps=="x2"){p[2]=translate[0];s[2]=scale}else if(zoomOps=="y2"){p[3]=translate[1];s[3]=scale}else if(zoomOps=="all"){p[0]=translate[0];p[1]=translate[1];p[2]=translate[0];p[3]=translate[1];s[0]=scale;s[1]=scale;s[2]=scale;s[3]=scale}return callback.apply(this,args)});return z};var com_ibm_rave_bundles_data_HierarchyBundleDatum=rave["internal"]["Declare"]({"_hierarchyNode":null, "originalData":function(){return this["_hierarchyNode"]["data"]},"originalDataList":function(){var list=[];list.push(this["_hierarchyNode"]["data"]);return list}});var com_ibm_rave_bundles_bubbleBundle_BubbleBundle=rave["internal"]["Declare"](com_ibm_rave_bundles_RaveBundle,{"getName":function(){return com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME},"createView":function(ctx){return new com_ibm_rave_bundles_bubbleBundle_BubbleView(ctx)}});com_ibm_rave_bundles_bubbleBundle_BubbleBundle["init"]= function(){if(!com_ibm_rave_library_Library.bundle.isRegistered(com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME)){var bundle;com_ibm_rave_library_Library.bundle.extension(com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME,function(){if(!bundle){bundle=new com_ibm_rave_bundles_bubbleBundle_BubbleBundle;bundle["loadResources"]();require("./vizlibrary-bubble.css")}return bundle})}return com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME};com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME= "bubbleBundle";com_ibm_rave_bundles_bubbleBundle_BubbleBundle["init"]();if(!com_ibm_rave_library_Library.bundle[com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME])com_ibm_rave_library_Library.bundle[com_ibm_rave_bundles_bubbleBundle_BubbleBundle.BUNDLE_NAME]=function(){if(!bundle){bundle=new com_ibm_rave_bundles_bubbleBundle_BubbleBundle;bundle["loadResources"]();require("./vizlibrary-bubble.css")}return bundle};else;var com_ibm_rave_bundles_bubbleBundle_BubbleView=rave["internal"]["Declare"](com_ibm_rave_bundles_views_BundleView, {clicked:false,lastWasPacked:false,scatter:false,"constructor":function(context){this._pointComponent=null;this._packedBubbleComponent=null},"isAxesManagerRequired":function(){return true},"setup":function(){com_ibm_rave_bundles_views_BundleView.prototype["setup"].call(this);this._pointComponent=new com_ibm_rave_bundles_components_PointComponentImpl;this._pointComponent["independentAccessor"](com_ibm_rave_bundles_data_PointDataUtilities["X_ACCESSOR"])["dependentAccessor"](com_ibm_rave_bundles_data_PointDataUtilities["Y_ACCESSOR"]); this._packedBubbleComponent=new com_ibm_rave_bundles_components_PackedBubbleComponentImpl;this._filter=new com_ibm_rave_bundles_components_FilterComponentImpl(this.context.instanceId()+"drop_shadow");var self=this;var style={};style["stroke-width"]="0px";rave["library"]["internal"]["BundleUtils"].setupDefaultActions(this.context,".chart .element-shape",style);var zoomScatter=this.context.actions.action("zoom");zoomScatter.setBindFn(function(){if(self.scatter)self.context.node.selectAll(".chart").call(self.context.actions.action("zoom").get("zoom"))}); var zoomAction=self.context.actions.action("zoomPackedBubble").setOperation(new (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._packedBubbleComponent["clickAction"](args[0])};return _$self}})));zoomAction.setBindFn(function(){self.context.node.selectAll(".element-shape.packed-bubble-parent, .element-shape.packed-bubble-child").on("dblclick.default", function(data,index,groupIndex,event){zoomAction(data)})});var toggleSelectionAction=this.context.actions.action("toggleSelect");var deselectAllAction=this.context.actions.action("deselectAll");var toggleSelectionListener=function(data,index,groupIndex,event){var selected=this;if(self.clicked){self.clicked=false;clearTimeout(self["handle"])}else{self.clicked=true;self["handle"]=setTimeout(function(){self.clicked=false;if(selected.rave_containsClass("packed-bubble-parent"))deselectAllAction(self.context.node.selectAll(".chart .element-shape")); else toggleSelectionAction(rave.select(selected),self.context.node.selectAll(".chart .element-shape").filter("*:not(.packed-bubble-parent)"))},200)}};toggleSelectionAction.setBindFn(function(){self.context.node.selectAll(".chart .element-shape").on("click.default",toggleSelectionListener).on("touchstart.default",toggleSelectionListener)})},"draw":function(){if(this["isUpdateNothing"]())return;this["preDraw"]("g.vizlibrary-bubble");if(!this["validateDataModel"]("g.element-group","g.axis"))return;if(this.updateType== 0)this.context.actions.action("deselectAll")(this.context.node.selectAll(".element-group .element-shape"));this.setBorder("symbol.borderWidth","symbol.borderColor");var duration=this["getEffectDuration"]("");this["setBackgroundProperties"](this["_layoutComponent"]["chartRect"](),duration);var dataSet=this["dataModel"].dataset("data");if("tabular"==this["dataModel"].getDescriptor()["id"]()){var xDataSlotEntry=dataSet.slot("x").entry();var yDataSlotEntry=dataSet.slot("y").entry();this.scatter=rave["library"]["internal"]["AbstractView"].accessorOf(xDataSlotEntry)|| rave["library"]["internal"]["AbstractView"].accessorOf(yDataSlotEntry);if(this.scatter)this.drawScatterplot(this["_chart"],this["dataModel"],duration);else this.drawTabularPackedBubble(this["_chart"],dataSet,duration)}else{this.scatter=false;this.drawHierarchicalPackedBubble(this["_chart"],dataSet,duration)}this.setShadow();this["resetUpdate"]()},"getCoordinateScale":function(role){if("ROLE_X1"==role)return this["independentScale"];if("ROLE_Y1"==role)return this["dependentScale"];return null},setShadow:function(){var drop_shadow= this.context.getPropertyValue("shadow.style");var style=rave["internal"]["CSSUtil"].parseShadowStyle(drop_shadow);if(style){this._filter["setDropshadow"](this.context.convertCSSSizeToPixels(style[0]),this.context.convertCSSSizeToPixels(style[1]),this.context.convertCSSSizeToPixels(style[2]),style[3]);this.context.node.select("defs").call(this._filter)}var enabled=style&&this["getBooleanProperty"]("shadow.display");this.applyShadow(this.context.node.select("g.element-group").selectAll("path.element-shape"), enabled,drop_shadow);this.applyShadow(this.context.node.selectAll("path.packed-bubble-parent"),false,null);this.applyShadow(this.context.node.select("g.legendGroup").selectAll("path.legendShape"),enabled,drop_shadow)},applyShadow:function(s,enabled,drop_shadow){s.attr("filter",enabled?"url(#"+this._filter["getId"]()+")":null).property("_rave_drop_shadow",enabled?drop_shadow:null)},drawScatterplot:function(chart,dataModel,inDuration){this.lastWasPacked=false;var duration=inDuration;var effect=this["getStringProperty"]("effect.name"); if(effect==null||"none"==effect)duration=0;var dataSet=dataModel.dataset("data");var xDataSlotEntry=dataSet.slot("x").entry();var yDataSlotEntry=dataSet.slot("y").entry();var colorDataSlotEntry=dataSet.slot("color").entry();var sizeDataSlotEntry=dataSet.slot("size").entry();if(!colorDataSlotEntry){var label=null;if(xDataSlotEntry&&xDataSlotEntry["label"]()!=null)label=xDataSlotEntry["label"]();if(yDataSlotEntry&&yDataSlotEntry["label"]()!=null)label=label==null?yDataSlotEntry["label"]():label+", "+ yDataSlotEntry["label"]();if(sizeDataSlotEntry&&sizeDataSlotEntry["label"]()!=null)label=label==null?sizeDataSlotEntry["label"]():label+", "+sizeDataSlotEntry["label"]();dataSet.slot("color").overrideLabel(label)}var xAccessor=rave["library"]["internal"]["AbstractView"].accessorOf(xDataSlotEntry);var yAccessor=rave["library"]["internal"]["AbstractView"].accessorOf(yDataSlotEntry);var originalData=dataSet["data"]();this._scatterplotData=com_ibm_rave_bundles_data_PointDataUtilities["buildPoints"](originalData, xAccessor,rave["library"]["internal"]["AbstractView"].domainCheckerOf(originalData,xDataSlotEntry),yAccessor,rave["library"]["internal"]["AbstractView"].domainCheckerOf(originalData,yDataSlotEntry));var glyphSize1=Math.abs(+this.context.getPropertyValue("sizeScale.first"));var glyphSize2=Math.abs(+this.context.getPropertyValue("sizeScale.second"));var domain=rave["library"]["internal"]["ScaleManager"].numericDomain(originalData,sizeDataSlotEntry);var sizeScale=domain?rave["scale"].linear().domain(domain).range([glyphSize1, glyphSize2]):null;var colorPalette=this["getPalette"]();colorPalette.setData(dataSet,"color");colorPalette.setAccessor(rave["library"]["internal"]["AbstractView"].originalDatumAccessor(dataSet.slot("color").entry()));colorPalette.setNullColor(this.context.getPropertyValue("color.null"));var showLegend=this["isShowLegend"]();var legendVisibilityChanged=this["_legends"]["anyVisible"]()!=showLegend;if(legendVisibilityChanged)this.updateType=1;var swatchSizeColors;if(sizeScale){var minValue=+domain[0]; var maxValue=+domain[1];var nullColor=this.context.getPropertyValue("color.null");swatchSizeColors=rave["scale"].ordinal().domain([minValue,maxValue]).range([nullColor])}var legendPosition=this["getLegendPosition"]();var symbol=this["getStringProperty"]("symbolShape");this["_legends"]["position"](legendPosition)["transition"](!("none"==effect),duration)["setPreExecute"](this.context.getPreExecute())["visible"](0,showLegend)["selector"](0,this.context.node.selectAll("g.legendColor"))["palette"](0, colorPalette)["shape"](0,symbol)["title"](0,this.context.getDataSlotLabel("legend.title",colorDataSlotEntry))["titleFill"](0,this.context.getPropertyValue("legend.titlestyle.fill"))["titleFontSize"](0,this.context.getPropertyValue("legend.titlestyle.fontsize"))["titleFontFamily"](0,this.context.getPropertyValue("legend.titlestyle.fontfamily"))["setDataSlot"](0,colorDataSlotEntry)["visible"](1,showLegend&&sizeScale)["selector"](1,this.context.node.selectAll("g.legendSize"))["scale"](1,swatchSizeColors)["swatchSize"](1, function(_data,index,groupIndex){return+sizeScale.call(null,_data,index,groupIndex)})["shape"](1,"circle")["setDataSlot"](1,sizeDataSlotEntry);var transpose=this["getBooleanProperty"]("transpose");if(this.updateType<=1){this["independentScale"]=rave["library"]["internal"]["ScaleManager"].makeCoordinateScale(originalData,xDataSlotEntry);this["dependentScale"]=rave["library"]["internal"]["ScaleManager"].makeCoordinateScale(originalData,yDataSlotEntry);var subDomainDivisionY=!yDataSlotEntry?null:yDataSlotEntry.subDomainDivision(); var scaleDivisionY=subDomainDivisionY==null?null:+subDomainDivisionY;var subDomainDivisionX=!xDataSlotEntry?null:xDataSlotEntry.subDomainDivision();var scaleDivisionX=subDomainDivisionX==null?null:+subDomainDivisionX;this["_axes"]["visible"](true)["duration"](duration)["transpose"](transpose)["scale"](0,this["independentScale"])["scale"](2,this["dependentScale"])["setDataSlot"](0,xDataSlotEntry)["setDataSlot"](2,yDataSlotEntry)["useDefaultSelectors"]()["useDefaultX1Properties"](true)["useDefaultY1Properties"](true)["scaleTickMagnitude"](2, scaleDivisionY)["scaleTickMagnitude"](0,scaleDivisionX)["setTickFormatter"](0,xDataSlotEntry)["setTickFormatter"](2,yDataSlotEntry);this["prepareLayoutComponent"]();this["prepareLayoutSizables"](this["_layoutComponent"],false,true,true,false,this["_legends"]["anyVisible"]());var isLegendLeftOrRight="left"==legendPosition||"right"==legendPosition;if(isLegendLeftOrRight){this["_legends"]["preLayout"](this["_layoutComponent"],false);this["_axes"]["preLayout"](this["_layoutComponent"],false,0.1,0.05, 0,0.1,0,0)}else{this["_axes"]["preLayout"](this["_layoutComponent"],true,0.1,0.05,0,0.1,0,0);this["_legends"]["preLayout"](this["_layoutComponent"],true)}this["_layoutComponent"]["layout"]();legendPosition=this["_layoutComponent"]["legendPosition"]();this["_axes"]["useBoundsFromLayout"](this["_layoutComponent"])["setScaleRanges"](0.1,0.05,0);var pixels=2+Math.sqrt(Math.max(glyphSize1,glyphSize2));if(this["independentScale"]){this["independentScale"].expandZeroExtent(false);this["independentScale"].expandPixels(pixels, false);if(this["getBooleanProperty"]("axis.x.scale.nice"))this["independentScale"].nice(scaleDivisionX);if(this["getBooleanProperty"]("axis.x.scale.includeZero"))this["independentScale"].includeZero();if(transpose)this.zoomYScale=this["independentScale"]["scale"]().copy();else this.zoomXScale=this["independentScale"]["scale"]().copy()}if(this["dependentScale"]){this["dependentScale"].expandZeroExtent(false);this["dependentScale"].expandPixels(pixels,false);if(this["getBooleanProperty"]("axis.y.scale.nice"))this["dependentScale"].nice(scaleDivisionY); if(this["getBooleanProperty"]("axis.y.scale.includeZero"))this["dependentScale"].includeZero();if(transpose)this.zoomXScale=this["dependentScale"]["scale"]().copy();else this.zoomYScale=this["dependentScale"]["scale"]().copy()}this["resetZoom"]();this["_legends"]["rectangle"](this["_layoutComponent"]["legendRect"]())}var elementRect=this["_layoutComponent"]["elementRect"]();this["_clip"]["clipRect"](elementRect)["applyTo"](chart.select(".content")).call(this.context.node.select("defs"));chart.select("rect.background.elements").attr("x", elementRect.x).attr("y",elementRect.y).attr("width",elementRect.width).attr("height",elementRect.height);var xScale=this["independentScale"];var yScale=this["dependentScale"];if(transpose){xScale=this["dependentScale"];yScale=this["independentScale"]}var keyDataSlotEntry=dataSet.slot("key").entry();var labelDataSlotEntry=dataSet.slot("label").entry();this._pointComponent["data"](this._scatterplotData)["key"](rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(keyDataSlotEntry)))["sizeAccessor"](rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(sizeDataSlotEntry)))["labelAccessor"](rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(labelDataSlotEntry))); this._pointComponent["bounds"](elementRect)["independentScale"](this["independentScale"])["dependentScale"](this["dependentScale"])["transpose"](transpose)["colorPalette"](colorPalette)["sizeScale"](sizeScale)["effect"](effect)["labelFont"](this["getBackgroundConstrastLabelStyle"]())["labelFormatter"](this.context.getCustomFormatterForElementLabels(labelDataSlotEntry))["labelContrast"](this["getBooleanProperty"]("contrast.label.color"))["labelShadow"](this["getBooleanProperty"]("label.shadow"))["setPreExecute"](this.context.getPreExecute())["defaultSize"](glyphSize2)["symbol"](symbol)["itemOverlap"](this["getBooleanProperty"]("itemLabel.overlap"))["itemLabel"](this["getBooleanProperty"]("itemLabel.display"))["itemLabelPosition"](function(data, index,groupIndex){return 5})["borderWidth"](this.context.convertCSSSizeToPixels(this.context.getPropertyValue("symbol.borderWidth")))["borderColor"](this.context.getPropertyValue("symbol.borderColor"));if(this.updateType<=2){var ops=this["getStringProperty"]("zoom");if(xScale&&(ops=="all"||ops=="x"))xScale["scale"]().domain(this.zoomXScale.domain());if(yScale&&(ops=="all"||ops=="y"))yScale["scale"]().domain(this.zoomYScale.domain());var self=this;var zoom=this.context.actions.action("zoom").get("zoom"); com_ibm_rave_bundles_components_ComponentConfiguration["configureZoom"](chart,zoom,xScale,yScale,null,null,null,elementRect,this["_zoomP"],this["_zoomS"],ops,function(args$$0){if(args$$0!==null||arguments.length>1)args$$0=Array.prototype.slice.call(arguments,0);chart.selectAll("g.elements").call(self._pointComponent);self["_axes"]["redraw"](true);zoom.on("zoomend.hideLabels",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(self["_axes"]["hideAnyPanZoom"]()){if(self.zoomendedTimer!= null)clearTimeout(self.zoomendedTimer);self.zoomendedTimer=setTimeout(function(){self.zoomendedTimer=null;self["_axes"]["redraw"](false)},300)}return null});return chart})}if(this.updateType<=3){chart.selectAll("g.elements")["transition"]()["duration"](duration).call(this._pointComponent);this["_axes"]["visible"](true)["duration"](duration)["useDefaultSelectors"]()["useDefaultX1Properties"](true)["useDefaultY1Properties"](true)["setTickFormatter"](0,xDataSlotEntry)["setTickFormatter"](2,yDataSlotEntry); this["_axes"]["draw"]();this["_legends"]["draw"]()}chart.selectAll(".element-shape").classed("bundle-shape",true);chart.selectAll(".legendShape").classed("bundle-shape",true)},"getLegendCount":function(){return 2},drawHierarchicalPackedBubble:function(chart,dataSet,duration){if(this.updateType==0){var builder=new rave["library"]["internal"]["HierarchyUtility"](new (rave["internal"]["Declare"]([rave["library"]["internal"]["HUFactory"]],{_$functionClassMethod:function(){var _$self=function(){return{}}; return _$self}})));this._hierarchyData=builder.buildHierarchy(dataSet["data"](),rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("children").entry()),rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("size").entry()),1)}this.renderPackedBubble(chart,dataSet,duration,false)},drawTabularPackedBubble:function(chart,dataSet,duration){if(this.updateType==0){var builder=new rave["library"]["internal"]["HierarchyUtility"](new (rave["internal"]["Declare"]([rave["library"]["internal"]["HUFactory"]], {_$functionClassMethod:function(){var _$self=function(){return{}};return _$self}})));this._hierarchyData=builder.buildTabular(dataSet["data"](),rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("size").entry()),1)}this.renderPackedBubble(chart,dataSet,duration,true)},renderPackedBubble:function(chart,dataSet,duration,tabular){this["independentScale"]=null;this["dependentScale"]=null;this.context.actions.action("zoom").getUnBind()();var _duration=duration;var effect=this["getStringProperty"]("effect.name"); if(effect==null||"none"==effect)_duration=0;if(!this.lastWasPacked){chart.selectAll("path.element-shape").remove();chart.selectAll("text.element-label").remove();this.lastWasPacked=true}this["_axes"]["visible"](false)["draw"]();var colorLevel=this["getIntProperty"]("itemColor");var colorAccessor=dataSet.slot("color").entry();var colorDataAccessor=this.colorAccessor(colorLevel,colorAccessor);var legendDisplay=this["isShowLegend"]();var legendPosition=this["getLegendPosition"]();var colorPalette=this["getPalette"](); this["_legends"]["position"](legendPosition)["transition"](!("none"==effect),_duration)["setPreExecute"](this.context.getPreExecute())["visible"](0,legendDisplay)["selector"](0,this.context.node.selectAll("g.legendColor"))["palette"](0,colorPalette)["shape"](0,"circle")["title"](0,this.context.getDataSlotLabel("legend.title",colorAccessor))["titleFill"](0,this.context.getPropertyValue("legend.titlestyle.fill"))["titleFontSize"](0,this.context.getPropertyValue("legend.titlestyle.fontsize"))["titleFontFamily"](0, this.context.getPropertyValue("legend.titlestyle.fontfamily"))["setDataSlot"](0,colorAccessor)["visible"](1,false);var showNegatives=this["getBooleanProperty"]("packedBubbleNegativeValueDisplay");var domain;if(colorAccessor){var domainColorDataAccessor=function(data){var d=data;if(d["children"])return null;for(var i=0;i1)args=Array.prototype.slice.call(arguments,0);return chart})},packNodes:function(pack,dataSet){var showNegatives=this["getBooleanProperty"]("packedBubbleNegativeValueDisplay");var domainMin=NaN;var domainMax=NaN;var domain;var sizeEntry=dataSet.slot("size").entry();if(sizeEntry)domain=sizeEntry.domain();if(domain&&domain.length==2){domainMin=+domain[0];domainMax=+domain[1]}var zeroValuedNodes= [];var clonedRoot=this.cloneNode(null,this._hierarchyData._root,showNegatives,zeroValuedNodes,null,domainMin,domainMax);var lowestValue=[];lowestValue[0]=1.7976931348623157E308;this.processTree(this._hierarchyData._root,clonedRoot,showNegatives,zeroValuedNodes,lowestValue,domainMin,domainMax);if(zeroValuedNodes.length>0){var low=Math.min(lowestValue[0]/4,2);var __i_enFor0=0;var __exp_enFor0=zeroValuedNodes;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var zeroNode= __exp_enFor0[__i_enFor0];zeroNode["value"]=low}}var nodes=pack.create(clonedRoot);return nodes},processTree:function(node,clonedNode,showNegatives,zeroValuedNodes,lowestValue,domainMin,domainMax){if(node["children"]){var __i_enFor0=0;var __exp_enFor0=node["children"];for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var child=__exp_enFor0[__i_enFor0];var clonedChild=this.cloneNode(clonedNode,child,showNegatives,zeroValuedNodes,lowestValue,domainMin,domainMax);if(clonedChild){if(!clonedNode["children"])clonedNode["children"]= [];clonedNode["children"].push(clonedChild);this.processTree(child,clonedChild,showNegatives,zeroValuedNodes,lowestValue,domainMin,domainMax)}}}},cloneNode:function(clonedParentNode,node,showNegatives,zeroValuedNodes,lowestValue,domainMin,domainMax){if(!showNegatives&&node["value"]<0)return null;var clone={};clone["data"]=node["data"];clone["depth"]=node["depth"];clone["parent"]=clonedParentNode;clone["value"]=Math.abs(node["value"]);if(!isNaN(domainMin)&&node["value"]domainMax)clone["value"]=Math.abs(domainMax);if(clone["value"]==0)zeroValuedNodes.push(clone);else if(lowestValue&&clone["value"]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_PointComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_KeyedBundleComponentImpl,{_transpose:false,_defaultSize:0,_itemLabel:false,_itemOverlap:false,_labelLayerClass:".element-label-group",_elementLayerClass:".element-group",_labelContrast:false,_labelShadow:false,"constructor":function(){this._labelFontStyle={};this._data=null;this._independentAccessor=null;this._independentScale=null;this._dependentAccessor=null;this._dependentScale=null; this._colorPalette=null;this._sizeAccessor=null;this._sizeScale=null;this._labelAccessor=null;this._labelFormatter=null;this._bounds=null;this._transpose=false;this._defaultSize=400;this._symbol=null;this._prevSymbol=null;this._itemLabel=true;this._itemOverlap=true;this._effect=null;this._dropOverlap=new com_ibm_rave_bundles_utilities_BundleLabelDropper;this._borderWidth=null;this._borderColor=null;this._labelStyleUtil=new com_ibm_rave_bundles_utilities_LabelStyleUtil;if(!(rave.svg.symbolTypes.indexOf("donutPlus")> -1))rave.svg.symbolCreator("donutPlus",rave["library"]["internal"]["CommonPropertyConstants"].DONUT_PLUS);if(!(rave.svg.symbolTypes.indexOf("donut-thin")>-1))rave.svg.symbolCreator("donut-thin",rave["library"]["internal"]["CommonPropertyConstants"].DONUT_THIN)},"type":function(){return com_ibm_rave_bundles_component_PointComponent["COMPONENT_TYPE"]},"execute":function(g){this["preExecute"]();var elementGroupSelector=g.selectAll(this._elementLayerClass);var labelGroupSelector=g.selectAll(this._labelLayerClass); if(g.classed(this._elementLayerClass)||elementGroupSelector["size"]()==0||labelGroupSelector["size"]()==0){elementGroupSelector=g;labelGroupSelector=g}if(!this._data||!this._bounds&&(!this._independentAccessor||!this._independentScale||!this._dependentAccessor||!this._dependentScale)){elementGroupSelector.selectAll("*").remove();labelGroupSelector.selectAll("*").remove();return}elementGroupSelector.selectAll("*").remove();labelGroupSelector.selectAll("*").remove();var self=this;var enterTransform= this.pointTransform(true);var finalTransform=this.pointTransform(false);var symbols=[];if(this._symbol==null)elementGroupSelector.selectAll("*").remove();else if(this._symbol=="donutPlus"){var s=(new rave["internal"]["Symbol"])["type"]("circle");symbols.push(s);s=(new rave["internal"]["Symbol"])["type"]("donut-thin");symbols.push(s)}else{s=(new rave["internal"]["Symbol"])["type"](this._symbol);symbols.push(s);elementGroupSelector.selectAll("."+com_ibm_rave_bundles_components_PointComponentImpl["SECONDARY_ELEMENT"]).remove()}for(var i= 0;i=self._labelInfos.length)self._labelInfos[groupIndex]=[];var d=self._packNodeAccessor(data);if(d["data"]==null||d["children"])return false;var bbox=this.getBBox();var maxWidth=Math.max(d["r"]*2-bbox.height,0);var text=this.rave_getText();var textLen=text.length;var len=textLen==0?0:Math.floor(textLen*(maxWidth/bbox.width));var textFits=len>=textLen?true:false;if(!textFits)len--; self._labelInfos[groupIndex][index]=new com_ibm_rave_bundles_components_PackedBubbleComponentImpl.LabelInfo(text,len,maxWidth,textFits);return!textFits});for(var localOptimizer=function(data,index,groupIndex){var info=self._labelInfos[groupIndex][index];if(!info||info["done"])return false;var maxWidth=info["maxWidth"];var width=this.getBBox().width;if(maxWidth==0||width==maxWidth){info["done"]=true;return false}switch(info["delta"]){case 0:info["delta"]=widthmaxWidth){info["len"]--; info["done"]=true;return false}break;case -1:if(width0)return"circle";else if(val==0)return"donutPlus";else return"donut-thin"};return _$self},"constructor":function(sizeAccessor){this._sizeAccessor=sizeAccessor}});com_ibm_rave_bundles_components_PackedBubbleComponentImpl.LabelInfo=rave["internal"]["Declare"]({"text":null, "maxWidth":0,"len":0,"delta":0,"done":false,"constructor":function(_text,_len,_maxWidth,_done){this["text"]=_text;this["len"]=_len;this["maxWidth"]=_maxWidth;this["done"]=_done;this["delta"]=0}});com_ibm_rave_bundles_components_PackedBubbleComponentImpl.DEFAULT_PACKNODE_ACCESSOR=function(data){return data}})(); },{"./configuration/configuration.json":1,"./i18n/messages_en.json":2,"./vizlibrary-bubble.css":4,"./vizlibrary.css":5}],4:[function(require,module,exports){ var css = ".vizlibrary-bubble .bundle-shape {\n fill: #ccc;\n fill-opacity: 0.85;\n}\n.vizlibrary-bubble .element-label {\n pointer-events: none;\n}\n.vizlibrary-bubble .element-shape-secondary {\n pointer-events: none;\n}\n.vizlibrary-bubble .packed-bubble-parent {\n stroke: #ccc;\n fill: #ccc;\n stroke-width: 1px;\n}\n.vizlibrary-bubble .packed-element-label {\n pointer-events: none;\n font-size: 14px;\n font-weight: 300;\n color: #3c4646;\n line-height: 28px;\n}\n"; (require("browserify-css").createStyle(css, { "href": "dist/bundles/rave-library-bubble/node/rave-library-bubble/vizlibrary-bubble.css"})); module.exports = css; },{"browserify-css":6}],5:[function(require,module,exports){ var css = ".vizlibrary {\n font-family: Arial, Tahoma, 'Arial Unicode MS', 'Andale WT', 'MS UI Gothic', Gulim, SimSun, PMingLiU, Raghu8, sans-serif;\n font-style: normal;\n}\n/*\n * Chart background rectangle, transparent\n */\n.vizlibrary rect.background.elements {\n fill-opacity: 0.0;\n}\n/*\n * Axes.\n */\n.vizlibrary .axis .tick text {\n font-weight: 300;\n font-size: 14px;\n fill: #3c4646;\n}\n.vizlibrary .axis .tick line {\n fill: none;\n stroke: #eee;\n}\n.vizlibrary .axis path {\n fill: none;\n stroke: #eee;\n}\n/*Axis title\n*/\n.vizlibrary .axis .axislabel {\n font-weight: 500;\n font-size: 14px;\n fill: #323c3c;\n}\n/*\n * Axis callout.\n */\n.vizlibrary .axis-callout {\n pointer-events: none;\n /* Prevent the callout lines from intercepting mouseover events on the element shapes */\n}\n.vizlibrary .callout line {\n stroke: #3c4646;\n stroke-dasharray: 5,5;\n}\n.vizlibrary .callout .label path {\n fill: #3c4646;\n stroke-width: 0px;\n}\n.vizlibrary .callout .label text {\n font-weight: 300;\n font-size: 14px;\n fill: white;\n}\n/*Grid lines*/\n.vizlibrary g.grid g.tick {\n stroke: #dfe9e9;\n stroke-width: 1px;\n}\n/*Legend title*/\n.vizlibrary .legendTitle {\n font-weight: 500;\n font-size: 18px;\n fill: #323c3c;\n}\n/*Legend label*/\n.vizlibrary .legendLabel {\n font-weight: 300;\n font-size: 14px;\n fill: #3c4646;\n}\n.vizlibrary .legendBBox {\n pointer-events: none;\n}\n"; (require("browserify-css").createStyle(css, { "href": "dist/bundles/rave-library-bubble/node/rave-library-bubble/vizlibrary.css"})); module.exports = css; },{"browserify-css":6}],6:[function(require,module,exports){ 'use strict'; // For more information about browser field, check out the browser field at https://github.com/substack/browserify-handbook#browser-field. module.exports = { // Create a 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