;(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.raveLibraryLineMin = 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_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_component_LineComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_LineComponent["COMPONENT_TYPE"]="LineComponent"; var com_ibm_rave_bundles_data_LineDataUtilities=rave["internal"]["Declare"]({});com_ibm_rave_bundles_data_LineDataUtilities["buildLines"]=function(data,xAccessor,xScale,yAccessor,groupAccessor){var result=[];if(!data||data.length==0)return result;var categories={};var noGroup;var lines={};var __i_enFor0=0;var __exp_enFor0=data;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var datum=__exp_enFor0[__i_enFor0];if(datum==null)continue;var xValue=xAccessor(datum);if(xValue!= null&&(!xScale||xScale(xValue)!=null)){if(!categories.hasOwnProperty(xValue))categories[""+xValue]=1;var group=groupAccessor?groupAccessor(datum):null;var line;if(group==null){if(!noGroup){noGroup=new com_ibm_rave_bundles_data_LineDataUtilities.LineDatum(null);result.push(noGroup)}line=noGroup}else{line=lines[group];if(!line){line=new com_ibm_rave_bundles_data_LineDataUtilities.LineDatum(group);lines[group]=line;result.push(line)}}line.addPoint(datum,xValue,yAccessor(datum))}}var __i_enFor1=0;var __exp_enFor1= Object.keys(categories);for(var __len_enFor1=__exp_enFor1.length;__i_enFor1<__len_enFor1;++__i_enFor1){var o=__exp_enFor1[__i_enFor1];var s=""+o;var sum=0;for(var i=0;i-1))stacks.push(stack);return stack});var result=nest.entries(data);var missingValue=new Number(0);var stackData=stacks.map(function(name,index$$0,array$$0){var line=new com_ibm_rave_bundles_data_LineDataUtilities.LineDatum(array$$0[index$$0].valueOf());result.forEach(function(currentValue,index,array){var values=currentValue.values;var currentElement=com_ibm_rave_bundles_data_LineDataUtilities.get(line["group"], values);var datum=null;var yValue=null;if(!currentElement)yValue=missingValue;else{datum=currentElement.values[0];yValue=yAccessor(datum);if(yValue==null)yValue=missingValue}line.addPoint(datum,keyToOriginalValue[currentValue["key"]],yValue);return null});return line});return stackData};com_ibm_rave_bundles_data_LineDataUtilities["sortLines"]=function(lines,scale){var comp=function(a,b){var av=scale.center(a["_x"]);if(av==null)return 1;var bv=scale.center(b["_x"]);if(bv==null)return-1;var v=av-bv; return v<0?-1:v>0?1:0};var __i_enFor0=0;var __exp_enFor0=lines;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var line=__exp_enFor0[__i_enFor0];line.sort(comp)}};com_ibm_rave_bundles_data_LineDataUtilities["getLineWithPoints"]=function(lines){var result=[];var __i_enFor0=0;var __exp_enFor0=lines;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var line=__exp_enFor0[__i_enFor0];line["getLineWithPoints"](result)}return result};com_ibm_rave_bundles_data_LineDataUtilities["getNPNPoints"]= function(lines){var result=[];var __i_enFor0=0;var __exp_enFor0=lines;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var line=__exp_enFor0[__i_enFor0];line["getNPNPoints"](result)}return result};com_ibm_rave_bundles_data_LineDataUtilities.LineDatum=rave["internal"]["Declare"]({"group":null,"points":null,"constructor":function(group){this["group"]=group;this["points"]=[];this._pointData=[];this["_originalData"]=[]},"originalData":function(){return this["_originalData"]}, "originalDataList":function(){return this["_originalData"]},addPoint:function(originalData,x,y){var point=new com_ibm_rave_bundles_data_PointDataUtilities.PointDatum;point["_x"]=x;point["_y"]=y;point["_originalData"]=originalData;this["points"].push([x,y]);this._pointData.push(point);this["_originalData"].push(originalData)},sort:function(comp){this._pointData.sort(comp);var N=this._pointData.length;for(var i=0;i1)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_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_lineBundle_LineBundle=rave["internal"]["Declare"](com_ibm_rave_bundles_RaveBundle,{"getName":function(){return"lineBundle"},"createView":function(ctx){return new com_ibm_rave_bundles_lineBundle_LineView(ctx)}});com_ibm_rave_bundles_lineBundle_LineBundle["init"]=function(){if(!com_ibm_rave_library_Library.bundle.isRegistered("lineBundle")){var bundle; com_ibm_rave_library_Library.bundle.extension("lineBundle",function(){if(!bundle){bundle=new com_ibm_rave_bundles_lineBundle_LineBundle;bundle["loadResources"]();require("./vizlibrary-line.css")}return bundle})}return"lineBundle"};com_ibm_rave_bundles_lineBundle_LineBundle.BUNDLE_NAME="lineBundle";com_ibm_rave_bundles_lineBundle_LineBundle["init"]();if(!com_ibm_rave_library_Library.bundle["lineBundle"])com_ibm_rave_library_Library.bundle["lineBundle"]=function(){if(!bundle){bundle=new com_ibm_rave_bundles_lineBundle_LineBundle; bundle["loadResources"]();require("./vizlibrary-line.css")}return bundle};else;var com_ibm_rave_bundles_lineBundle_LineView=rave["internal"]["Declare"](com_ibm_rave_bundles_views_BundleView,{"constructor":function(context){this._lineComponent=null;this._lineData=null;this._pointData=null;this._pointNPNData=null},"isAxesManagerRequired":function(){return true},"setup":function(){com_ibm_rave_bundles_views_BundleView.prototype["setup"].call(this);rave["library"]["internal"]["BundleUtils"].setupDefaultActions(this.context, ".chart ."+"element-shape",null);var highlightAction=this.context.actions.action("highlight");var unhighlightAction=this.context.actions.action("unhighlight");var self=this;highlightAction.setBindFn(function(){self.context.node.selectAll(".element-line .element-shape").on("mouseenter.default",function(data,index,groupIndex,event){var attributes={};attributes["stroke-width"]="4px";highlightAction(rave.select(this),attributes)});self.context.node.selectAll(".element-point .element-shape").on("mouseenter.default", function(data,index,groupIndex,event){highlightAction(rave.select(this))})});highlightAction.setUnbindFn(function(){self.context.node.selectAll(".element-shape").on("mouseenter.default",null)});unhighlightAction.setBindFn(function(){self.context.node.selectAll(".element-line .element-shape").on("mouseout.default",function(data,index,groupIndex,event){var attributes={};attributes["stroke-width"]="2px";unhighlightAction(rave.select(this),attributes)});self.context.node.selectAll(".element-point .element-shape").on("mouseout.default", function(data,index,groupIndex,event){var attributes={};attributes["stroke-width"]="0px";unhighlightAction(rave.select(this),attributes)})});unhighlightAction.setUnbindFn(function(){self.context.node.selectAll(".element-shape").on("mouseout.default",null)});var deselectAllAction=this.context.actions.action("deselectAll");var deselectAllEventListener=function(data,index,groupIndex,event){self.context.node.selectAll(".element-shape").style("stroke-width",0).style("opacity",1).property("selected",null); self.context.node.selectAll(".element-line .element-shape").style("stroke-width",2)};deselectAllAction.setBindFn(rave["library"]["internal"]["BundleUtils"].bindOrUnbindActionFunctionCreater(this.context,".background",["click.default","touchstart.default"],deselectAllEventListener));this._lineComponent=new com_ibm_rave_bundles_components_LineComponentImpl;this._lineComponent["pointsAccessor"](com_ibm_rave_bundles_data_LineDataUtilities["POINTS_ACCESSOR"])["groupAccessor"](com_ibm_rave_bundles_data_LineDataUtilities["GROUP_ACCESSOR"]); 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"])},"draw":function(){if(this["isUpdateNothing"]())return;this["preDraw"]("g.vizlibrary-line");if(!this["validateDataModel"]("g.element-group","g.grid","g.axis"))return;var effect=this["getStringProperty"]("effect.name");var duration=this["getEffectDuration"](effect); var dataSet=this["dataModel"].dataset("data");var yDataSlotEntry=dataSet.slot("y").entry();var colorDataSlotEntry=dataSet.slot("color").entry();if(!colorDataSlotEntry&&yDataSlotEntry)dataSet.slot("color").overrideLabel(yDataSlotEntry["label"]());var data=dataSet["data"]();var transpose=this["getBooleanProperty"]("transpose");var colorPalette=this["getPalette"]();colorPalette.setData(dataSet,"color");colorPalette.setAccessor(com_ibm_rave_bundles_data_LineDataUtilities["GROUP_ACCESSOR"]);var legendPosition= this["getLegendPosition"]();var drawOptions=this["getStringProperty"]("lineWithPoints.display");this["_legends"]["visible"](this["isShowLegend"]())["position"](legendPosition)["transition"](!("none"==effect),duration)["setPreExecute"](this.context.getPreExecute())["selector"](0,this.context.node.selectAll("g.legend"))["palette"](0,colorPalette)["shape"](0,!(drawOptions=="line")?this["getStringProperty"]("lineWithPoints.symbol"):"compositeViewLegendLineSymbol")["title"](0,this.context.getDataSlotLabel("legend.title", dataSet.slot("color").entry()))["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,dataSet.slot("color").entry());if(this.updateType==0){var xEntry=dataSet.slot("x").entry();this._lineData=com_ibm_rave_bundles_data_LineDataUtilities["buildLines"](data,rave["library"]["internal"]["AbstractView"].accessorOf(xEntry), rave["library"]["internal"]["AbstractView"].domainCheckerOf(data,xEntry),rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("y").entry()),rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("color").entry()));this.context.actions.action("deselectAll")(this.context.node.selectAll(".element-point .element-shape"))}if(this.updateType<=1){this._independentScale=rave["library"]["internal"]["ScaleManager"].makeCoordinateScale(data,dataSet.slot("x").entry());this._dependentScale= rave["library"]["internal"]["ScaleManager"].makeCoordinateScale(data,dataSet.slot("y").entry());var subDomainDivisionY=yDataSlotEntry.subDomainDivision();var scaleDivisionY=subDomainDivisionY==null?null:+subDomainDivisionY;this["_axes"]["visible"](true)["duration"](duration)["transpose"](transpose)["scale"](0,this._independentScale)["scale"](2,this._dependentScale)["setDataSlot"](0,dataSet.slot("x").entry())["setDataSlot"](2,dataSet.slot("y").entry())["scaleTickMagnitude"](2,scaleDivisionY)["useDefaultSelectors"]()["useDefaultX1Properties"](true)["useDefaultY1Properties"](true)["setTickFormatter"](0, dataSet.slot("x").entry())["setTickFormatter"](2,dataSet.slot("y").entry());this["prepareLayoutComponent"]();this["prepareLayoutSizables"](this["_layoutComponent"],false,true,true,false,this["_legends"]["anyVisible"]());legendPosition=this["_layoutComponent"]["legendPosition"]();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.05,0)}else{this["_axes"]["preLayout"](this["_layoutComponent"],true,0.1,0.05,0,0.1,0.05,0);this["_legends"]["preLayout"](this["_layoutComponent"],true)}this["_layoutComponent"]["layout"]();this["_legends"]["position"](legendPosition);this["_axes"]["useBoundsFromLayout"](this["_layoutComponent"])["setScaleRanges"](0.1,0,0);if(this._dependentScale){if(this["getBooleanProperty"]("axis.y.scale.includeZero"))this._dependentScale.includeZero();this._dependentScale.expandZeroExtent(false);if(this["getBooleanProperty"]("axis.y.scale.nice"))this._dependentScale.nice(scaleDivisionY); var pixels=2+Math.sqrt(this["getCSSSizeToPixelNumber"]("lineWithPoints.size"));this._dependentScale.expandPixels(pixels,true);if(transpose)this.zoomXScale=this._dependentScale["scale"]().copy();else this.zoomYScale=this._dependentScale["scale"]().copy()}if(this._independentScale){this._independentScale.expandZeroExtent(false);if(this["getBooleanProperty"]("axis.x.scale.nice"))this._independentScale.nice();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()}this["resetZoom"]()}if(this.updateType==0&&this._independentScale&&this["getBooleanProperty"]("sortX"))com_ibm_rave_bundles_data_LineDataUtilities["sortLines"](this._lineData,this._independentScale);if(this.updateType==0){this._pointData=com_ibm_rave_bundles_data_LineDataUtilities["getLineWithPoints"](this._lineData);this._pointNPNData=com_ibm_rave_bundles_data_LineDataUtilities["getNPNPoints"](this._lineData)}var chartRect= this["_layoutComponent"]["elementRect"]();this["_clip"]["clipRect"](chartRect)["applyTo"](this["_chart"].select(".content")).call(this.context.node.select("defs")["transition"]()["duration"](duration));this["_chart"].select("rect.background.elements").attr("x",chartRect.x).attr("y",chartRect.y).attr("width",chartRect.width).attr("height",chartRect.height);this["_legends"]["rectangle"](this["_layoutComponent"]["legendRect"]());var xScale=transpose?this._dependentScale:this._independentScale;var yScale= transpose?this._independentScale:this._dependentScale;this["setBackgroundProperties"](chartRect,duration);var showMissingAsGap=this["getBooleanProperty"]("lineWithPoints.showMissingAsGap");this._lineComponent["data"](!(drawOptions=="points")?this._lineData:null)["independentScale"](this._independentScale)["dependentScale"](this._dependentScale)["transpose"](transpose)["colorPalette"](colorPalette)["effect"](effect)["showMissingAsGap"](showMissingAsGap)["setPreExecute"](this.context.getPreExecute())["interpolate"](this["getStringProperty"]("lineWithPoints.interpolate")); this["_chart"].selectAll("g.element-line")["transition"]()["duration"](duration).call(this._lineComponent);if(drawOptions=="line_points"||drawOptions=="points"||this["isShowDataLabels"]())this._pointComponent["data"](this._pointData);else this._pointComponent["data"](showMissingAsGap?this._pointNPNData:null);var pointsColorPalette=this["getPalette"]();pointsColorPalette.setData(dataSet,"color");pointsColorPalette.setAccessor(rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("color").entry()))); this["configureDataLabels"](dataSet);this._pointComponent["bounds"](chartRect)["independentScale"](this._independentScale)["dependentScale"](this._dependentScale)["transpose"](transpose)["colorPalette"](pointsColorPalette)["labelFont"](this["getBackgroundConstrastLabelStyle"]())["labelContrast"](this["getBooleanProperty"]("contrast.label.color"))["labelShadow"](this["getBooleanProperty"]("label.shadow"))["effect"](effect)["key"](rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(dataSet.slot("key").entry())))["setPreExecute"](this.context.getPreExecute())["defaultSize"](this["getCSSSizeToPixelNumber"]("lineWithPoints.size"))["symbol"](drawOptions== "line_points"||drawOptions=="points"?this["getStringProperty"]("lineWithPoints.symbol"):null);this["_chart"].selectAll("g.element-point")["transition"]()["duration"](duration).call(this._pointComponent);this["_axes"]["visible"](true)["duration"](duration)["useDefaultSelectors"]()["useDefaultX1Properties"](true)["useDefaultY1Properties"](true)["setTickFormatter"](0,dataSet.slot("x").entry())["setTickFormatter"](2,dataSet.slot("y").entry());this["_axes"]["draw"]();this["_legends"]["draw"]();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"](this["_chart"],zoom,xScale,yScale,null,null,null,chartRect,this["_zoomP"],this["_zoomS"],this["getStringProperty"]("zoom"),function(args){if(args!== null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);self["_chart"].selectAll("g.element-line").call(self._lineComponent);if(self._pointComponent)self["_chart"].selectAll("g.element-point").call(self._pointComponent);self["_axes"]["redraw"](true);return self["_chart"]});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})}this["resetUpdate"]();this["_chart"].selectAll(".element-shape").classed("bundle-shape",true);this["_chart"].selectAll(".legendShape").classed("bundle-shape",true)},"getCoordinateScale":function(role){if("ROLE_X1"==role)return this._independentScale;if("ROLE_Y1"==role)return this._dependentScale;return null},"requireUpdate":function(property){if(property=="lineWithPoints.nullpointnull"&& this["getStringProperty"]("lineWithPoints.display")=="line_points")return 4;return rave["library"]["internal"]["AbstractView"].prototype["requireUpdate"].call(this,property)},"configureDataLabels":function(dataSet){if(!this["isShowDataLabels"]()){this._pointComponent["itemLabel"](false);this._pointComponent["itemLabelPosition"](null);this._pointComponent["labelFont"](null);this._pointComponent["labelAccessor"](null);this._pointComponent["labelFormatter"](null);return}var self=this;var dataLabelPosition= function(data,index,groupIndex){var currentData=data;var prevData=index==0?null:self._pointData[index-1];var nextData=index==self._pointData.length-1?null:self._pointData[index+1];if(!prevData||!nextData)return 0;var angleWithPreviousPoint=Math.atan2(self._dependentScale.center(prevData["_y"])-self._dependentScale.center(currentData["_y"]),self._independentScale.center(prevData["_x"])-self._independentScale.center(currentData["_x"]));var angleWithNextPoint=Math.atan2(self._dependentScale.center(nextData["_y"])- self._dependentScale.center(currentData["_y"]),self._independentScale.center(nextData["_x"])-self._independentScale.center(currentData["_x"]));if(angleWithNextPoint<=0&&angleWithPreviousPoint<=0)return 2;if(angleWithNextPoint>=0&&angleWithPreviousPoint>=0||180-Math.abs(angleWithPreviousPoint*(180/Math.PI))<30&&Math.abs(angleWithNextPoint*(180/Math.PI))<30)return 0;if(180-Math.abs(angleWithPreviousPoint*(180/Math.PI))>30)return 3;return 4};var labelAccessor=this["getlDataLabelAccessor"](dataSet,"label", false);var labelEntry=this["getEntryForDataLabelFormatter"](dataSet,"label","y");this._pointComponent["itemLabel"](true);this._pointComponent["labelFont"](com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](this["getStringProperty"]("labelstyle.font")));this._pointComponent["labelFormatter"](this.context.getCustomFormatterForElementLabels(labelEntry));this._pointComponent["labelAccessor"](labelAccessor);this._pointComponent["itemLabelPosition"](dataLabelPosition)},"getGroupStructure":function(){return["defs", "g.vizlibrary vizlibrary-line","(","rect.background chart","g.chart","(","rect.background elements","g.gridlines","(","g.grid left","g.grid bottom",")","g.axes","(","g.axes-layout","g.axisTransform left","g.axisTransform bottom",")","g.content","(","g.elements","(","g.element-group element-line","g.element-point","(","g.element-group","g.element-label-group",")",")",")","g.axis-callout",")","g.legends","(","g.legends-layout","g.legend",")",")"]}});var com_ibm_rave_bundles_components_BackgroundComponentImpl= rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"constructor":function(){this._rect=new rave["internal"]["RectStruct"](0,0,0,0)},"execute":function(g){this["preExecute"]();g.style("fill",this._backgroundColor!=null?this._backgroundColor:"#FFFFFF").style("fill-opacity",1);g.attr("x",this._rect.x).attr("y",this._rect.y).attr("width",this._rect.width).attr("height",this._rect.height)},"type":function(){return com_ibm_rave_bundles_component_BackgroundComponent["COMPONENT_TYPE"]}, backgroundColor$0:function(){return this._backgroundColor},backgroundColor$1:function(backgroundColor){this._backgroundColor=backgroundColor;return this},"size":function(size){this._rect.x=0;this._rect.y=0;this._rect.width=size.w;this._rect.height=size.h;return this},"rect":function(rect){var r=new rave["internal"]["RectStruct"](rect.x,rect.y,rect.width,rect.height);this._rect=r;return this},"backgroundColor":function(a0){var args=arguments;if(args.length==0)return this.backgroundColor$0();return this.backgroundColor$1(a0)}}); var com_ibm_rave_bundles_components_ChartLayoutComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{_leftPadding:0,_topPadding:0,_rightPadding:0,_bottomPadding:0,_legendChartAlign:false,_preLegendAtMax:false,_preAxesAtZero:false,"constructor":function(){this._axisSizables=[];this._padding=0;this._topPadding=0;this._leftPadding=0;this._bottomPadding=0;this._rightPadding=0;this._topChartPadding=0;this._leftChartPadding=0;this._bottomChartPadding=0;this._rightChartPadding= 0;this._legendChartGap=0;this._legendPosition="right";this._overallRect=new rave["internal"]["RectStruct"](0,0,0,0);this._legendRect=new rave["internal"]["RectStruct"](0,0,0,0);this._chartRect=new rave["internal"]["RectStruct"](0,0,0,0);this._topRect=new rave["internal"]["RectStruct"](0,0,0,0);this._leftRect=new rave["internal"]["RectStruct"](0,0,0,0);this._bottomRect=new rave["internal"]["RectStruct"](0,0,0,0);this._rightRect=new rave["internal"]["RectStruct"](0,0,0,0);this._elementRect=new rave["internal"]["RectStruct"](0, 0,0,0);this._legendChartAlign=true},"execute":function(g){this["layout"]()},"preLayout":function(legendAtMax,axesAtZero){this._preLegendAtMax=legendAtMax;this._preAxesAtZero=axesAtZero;this["layout"]();this._preLegendAtMax=false;this._preAxesAtZero=false},"layout":function(){this["preExecute"]();com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._chartRect,this._overallRect);com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._legendRect,this._overallRect);var x= this._overallRect.x;var y=this._overallRect.y;var w=this._overallRect.width;var h=this._overallRect.height;var maxWH=Math.max(w,h);var tbLegend="top"==this._legendPosition||"bottom"==this._legendPosition;var legendPercent=this._axisSizables.length==0?0.5:0.3;var legendMaxSize=(tbLegend?this._legendRect.height:this._legendRect.width)*legendPercent;var legendDynamicSize=this._legendSizable?this._preLegendAtMax?maxWH:this._legendSizable["getPreferredSize"]():0;if(legendDynamicSize>legendMaxSize)legendDynamicSize= legendMaxSize;var isLegendTop=false;var isLegendBottom=false;var isLegendLeft=false;var isLegendRight=false;if("top"==this._legendPosition){this._legendRect.height=legendDynamicSize;this._chartRect.height-=this._legendRect.height;this._chartRect.y+=this._legendRect.height;isLegendTop=true}else if("bottom"==this._legendPosition){this._legendRect.height=legendDynamicSize;this._chartRect.height-=this._legendRect.height;this._legendRect.y=y+h-this._legendRect.height;isLegendBottom=true}else if("left"== this._legendPosition){this._legendRect.width=legendDynamicSize;this._chartRect.width-=this._legendRect.width;this._chartRect.x+=this._legendRect.width;isLegendLeft=true}else{this._legendRect.width=legendDynamicSize;this._chartRect.width-=this._legendRect.width;this._legendRect.x=x+w-this._legendRect.width;isLegendRight=true}if(this.evaluatePadding(this._padding,w,h)){var lrgap=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._legendChartGap,w);var tbgap=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._legendChartGap, h);var chartTop=isLegendTop&&this._legendSizable?tbgap:this._topPadding;var chartLeft=isLegendLeft&&this._legendSizable?lrgap:this._leftPadding;var chartBottom=isLegendBottom&&this._legendSizable?tbgap:this._bottomPadding;var chartRight=isLegendRight&&this._legendSizable?lrgap:this._rightPadding;com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset(this._chartRect,chartTop,chartLeft,chartBottom,chartRight)}else{var lrpadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._padding, w);var tbpadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._padding,h);chartTop=tbpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._topChartPadding,h);chartLeft=lrpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._leftChartPadding,w);chartBottom=tbpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._bottomChartPadding,h);chartRight=lrpadding+com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(this._rightChartPadding, w);com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset(this._chartRect,chartTop,chartLeft,chartBottom,chartRight);this._topPadding=tbpadding;this._leftPadding=lrpadding;this._bottomPadding=tbpadding;this._rightPadding=lrpadding}if(this._legendSizable)if(isLegendRight){this._legendRect.x-=this._rightPadding;this._chartRect.width-=this._rightPadding;this._legendRect.y+=this._topPadding;this._legendRect.height-=this._topPadding+this._bottomPadding}else if(isLegendLeft){this._legendRect.x+= this._leftPadding;this._chartRect.x+=this._leftPadding;this._chartRect.width-=this._leftPadding;this._legendRect.y+=this._topPadding;this._legendRect.height-=this._topPadding+this._bottomPadding}else if(isLegendTop){this._legendRect.y+=this._topPadding;this._chartRect.y+=this._topPadding;this._chartRect.height-=this._topPadding;this._legendRect.x+=this._leftPadding;this._legendRect.width-=this._leftPadding+this._rightPadding}else{this._legendRect.y-=this._bottomPadding;this._chartRect.height-=this._bottomPadding; this._legendRect.x+=this._leftPadding;this._legendRect.width-=this._leftPadding+this._rightPadding}x=this._chartRect.x;y=this._chartRect.y;w=this._chartRect.width;h=this._chartRect.height;var bottomH=0;var topH=0;var leftW=0;var rightW=0;var tbSO=0;var lrSO=0;if(!this._preAxesAtZero){var countHorz=0;var countVert=0;for(var i=0;i1?0.4:0.5;if(axisDynamicSize>this._chartRect.height*axisPercent)axisDynamicSize=this._chartRect.height*axisPercent;if("top"==orientation)topH=axisDynamicSize;else bottomH= axisDynamicSize;if(spillOver>lrSO)lrSO=spillOver}else{axisPercent=countVert>1?0.4:0.5;if(axisDynamicSize>this._chartRect.width*axisPercent)axisDynamicSize=this._chartRect.width*axisPercent;if("left"==orientation)leftW=axisDynamicSize;else rightW=axisDynamicSize;if(spillOver>tbSO)tbSO=spillOver}}}}if(lrSO>leftW)leftW=lrSO;if(lrSO>rightW)rightW=lrSO;if(tbSO>topH)topH=tbSO;if(tbSO>bottomH)bottomH=tbSO;this._leftRect.x=x;this._leftRect.width=leftW;this._leftRect.y=y;this._leftRect.height=h;this._rightRect.x= x+w-rightW;this._rightRect.width=rightW;this._rightRect.y=y;this._rightRect.height=h;this._topRect.y=y;this._topRect.height=topH;this._topRect.x=x;this._topRect.width=w;this._bottomRect.y=y+h-bottomH;this._bottomRect.height=bottomH;this._bottomRect.x=x;this._bottomRect.width=w;this._elementRect.x=x+leftW;this._elementRect.y=y+topH;this._elementRect.width=w-(leftW+rightW);this._elementRect.height=h-(topH+bottomH);if(this._legendSizable&&this._legendChartAlign)if(tbLegend){this._legendRect.x=this._elementRect.x; this._legendRect.width=this._elementRect.width}else{this._legendRect.y=this._elementRect.y;this._legendRect.height=this._elementRect.height}},evaluatePadding:function(padding,horizontalExtent,verticalExtent){if(padding==null)return false;var paddingString=padding+"";if(paddingString.length==0)return false;this._topPadding=0;this._leftPadding=0;this._bottomPadding=0;this._rightPadding=0;var items=paddingString.split(new RegExp(";"));var __i_enFor0=0;for(var __len_enFor0=items.length;__i_enFor0<__len_enFor0;++__i_enFor0){var item= items[__i_enFor0];var parts=item.split(new RegExp(":"));if(items.length==1&&parts.length!=2)return false;if(parts.length==2)if(0<=parts[0].indexOf("top"))this._topPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],verticalExtent);else if(0<=parts[0].indexOf("left"))this._leftPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],horizontalExtent);else if(0<=parts[0].indexOf("bottom"))this._bottomPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1], verticalExtent);else if(0<=parts[0].indexOf("right"))this._rightPadding=com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize(parts[1],horizontalExtent)}return true},"legendRect":function(){return this._legendRect},"chartRect":function(){return this._chartRect},"topRect":function(){return this._topRect},"leftRect":function(){return this._leftRect},"bottomRect":function(){return this._bottomRect},"rightRect":function(){return this._rightRect},"elementRect":function(){return this._elementRect}, "overall":function(overall){com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect(this._overallRect,overall);return this},padding$0:function(){return this._padding},legendChartAlign$0:function(){return this._legendChartAlign},legendChartGap$0:function(){return this._legendChartGap},topPadding$0:function(){return this._topChartPadding},leftPadding$0:function(){return this._leftChartPadding},bottomPadding$0:function(){return this._bottomChartPadding},rightPadding$0:function(){return this._rightChartPadding}, legendPosition$0:function(){return this._legendPosition},topPadding$1:function(padding){this._topChartPadding=padding;return this},leftPadding$1:function(padding){this._leftChartPadding=padding;return this},bottomPadding$1:function(padding){this._bottomChartPadding=padding;return this},rightPadding$1:function(padding){this._rightChartPadding=padding;return this},"type":function(){return com_ibm_rave_bundles_component_ChartLayoutComponent["COMPONENT_TYPE"]},padding$1:function(value){this._padding= value;return this},"chartPadding":function(top,left,bottom,right){this._topChartPadding=top;this._leftChartPadding=left;this._bottomChartPadding=bottom;this._rightChartPadding=right;return this},legendChartAlign$1:function(legendChartAlign){this._legendChartAlign=legendChartAlign;return this},legendChartGap$1:function(value){this._legendChartGap=value;return this},legendPosition$1:function(position){if("top"==position||"bottom"==position||"left"==position||"right"==position)this._legendPosition=position; return this},"legendSize":function(sizable){this._legendSizable=sizable;return this},"removeAxisSizables":function(){this._axisSizables.length=0;return this},"addAxisSizable":function(sizable){this._axisSizables.push(sizable);return this},"padding":function(a0){var args=arguments;if(args.length==0)return this.padding$0();return this.padding$1(a0)},"legendChartAlign":function(a0){var args=arguments;if(args.length==0)return this.legendChartAlign$0();return this.legendChartAlign$1(a0)},"legendChartGap":function(a0){var args= arguments;if(args.length==0)return this.legendChartGap$0();return this.legendChartGap$1(a0)},"topPadding":function(a0){var args=arguments;if(args.length==0)return this.topPadding$0();return this.topPadding$1(a0)},"leftPadding":function(a0){var args=arguments;if(args.length==0)return this.leftPadding$0();return this.leftPadding$1(a0)},"bottomPadding":function(a0){var args=arguments;if(args.length==0)return this.bottomPadding$0();return this.bottomPadding$1(a0)},"rightPadding":function(a0){var args= arguments;if(args.length==0)return this.rightPadding$0();return this.rightPadding$1(a0)},"legendPosition":function(a0){var args=arguments;if(args.length==0)return this.legendPosition$0();return this.legendPosition$1(a0)}});com_ibm_rave_bundles_components_ChartLayoutComponentImpl.copyRect=function(t,s){t.x=s.x;t.y=s.y;t.width=s.width;t.height=s.height;return t};com_ibm_rave_bundles_components_ChartLayoutComponentImpl.inset=function(r,top,left,bottom,right){var ileft=Math.max(0,left);var iright=Math.max(0, right);if(ileft+iright<=r.width){r.x+=ileft;r.width-=ileft+iright}var itop=Math.max(0,top);var ibottom=Math.max(0,bottom);if(itop+ibottom<=r.height){r.y+=itop;r.height-=itop+ibottom}return r};com_ibm_rave_bundles_components_ChartLayoutComponentImpl.evaluateSize=function(value,extent){var v=rave["library"]["internal"]["CSSConverter"].convertCSSSizeToPixelNumber(value,extent,10);var d=v!=null?v:0;return Math.max(0,Math.min(d,extent))};com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_AXIS_PERCENT"]= 0.4;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_AXIS_PERCENT_SINGLE_PER_ORIENTATION"]=0.5;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_LEGEND_PERCENT"]=0.3;com_ibm_rave_bundles_components_ChartLayoutComponentImpl["MAX_LEGEND_PERCENT_NO_AXIS"]=0.5;var com_ibm_rave_bundles_components_ClipPathComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"constructor":function(id){this._clipRect=new rave["internal"]["RectStruct"](0,0, 100,100);this._id=id},"type":function(){return"ClipPathComponent"},"clipRect":function(rect){this._clipRect=new rave["internal"]["RectStruct"](rect.x-1,rect.y-1,rect.width+2,rect.height+2);return this},"applyTo":function(s){s.attr("clip-path","url("+this["url"]()+")");return this},"id":function(){return this._id},"url":function(){return"#"+this._id},"execute":function(g){var clipPath=g.selectAll("#"+this._id)["data"]([0]);clipPath.enter().append("clipPath").attr("id",this._id).append("rect");rave["transition"](clipPath.select("rect")).attr("x", this._clipRect.x).attr("y",this._clipRect.y).attr("width",this._clipRect.width).attr("height",this._clipRect.height)}});var com_ibm_rave_bundles_components_LegendComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{_visible:false,_swatchSize:0,"constructor":function(){this._visible=true;this._size=null;this._colorPalette=null;this._orient="horizontal";this._swatchSize=16*16;this._swatchSizeFunc=null;this._scale=null;this._shape="square";this._title=null;this["_titleStyle"]= {};this._entryStyle={};this._labelFormat=null;this._swatchLegend=null;this._continuousLegend=null;this._legendType=null},"type":function(){return"LegendComponent"},"execute":function(g){if(this._colorPalette)if("continuous"==this._colorPalette.getType()){if(!this._continuousLegend)this._continuousLegend=rave.capabilities.extension("legend").continuous();this._legendType="ContinuousLegend"}else{if(!this._swatchLegend)this._swatchLegend=rave.capabilities.extension("legend").swatch();this._legendType= "SwatchLegend"}else if(this._swatchSizeFunc){if(!this._swatchLegend)this._swatchLegend=rave.capabilities.extension("legend").swatch();this._legendType="SwatchLegend"}else this._legendType=null;this["preExecute"]();if(!this._visible||!this._colorPalette&&!this._swatchSizeFunc||!this._size||this._size[0]<=0||this._size[1]<=0){g.selectAll("*").remove();return}var fontChecker=rave.capabilities.extension("fontchecker");if(this._colorPalette&&"continuous"==this._colorPalette.getType()){this._continuousLegend.shapeRectSize("horizontal"== this._orient?[-1,16]:[16,-1])["size"](this._size)["scale"](this._colorPalette.getScale())["orient"](this._orient)["title"](this._title)["titleFill"](this["_titleStyle"]["fill"])["titleFontSize"](this["_titleStyle"]["font-size"])["titleFontFamily"](this["_titleStyle"]["font-Family"]).titleAlignment("start")["labelFormat"](this._labelFormat);var legend=g.call(this._continuousLegend);if(this._entryStyle)legend.selectAll(".legendLabel").style(this._entryStyle);if(this["_titleStyle"])legend.selectAll(".legendTitle").style(this["_titleStyle"]); if(fontChecker){legend.selectAll(".legendLabel").call(fontChecker);legend.selectAll(".legendTitle").call(fontChecker)}}else{var insets={};insets["bottom"]=5;var swatchSize=this._swatchSize;var scale=null;var labelFormatter=this._labelFormat;if(this._swatchSizeFunc&&this._scale){swatchSize=this._swatchSizeFunc;scale=this._scale}if(this._colorPalette){scale=this._colorPalette.getScale();var originalDomain=this._colorPalette.originalDomain();if(originalDomain){scale.domain(originalDomain);var f=this._colorPalette.originalDomainLabelAccessor(); if(this._labelFormat){var self=this;labelFormatter=function(data,index,groupIndex){return self._labelFormat.call(this,f.call(this,data,index,groupIndex),index,groupIndex)}}else labelFormatter=f}}this._swatchLegend.labelPadding(8)["size"](this._size)["scale"](scale)["orient"](this._orient)["swatchSize"](swatchSize)["shape"](this._shape)["title"](this._title)["titleFill"](this["_titleStyle"]["fill"])["titleFontSize"](this["_titleStyle"]["font-size"])["titleFontFamily"](this["_titleStyle"]["font-family"]).titleAlignment("start")["labelFormat"](labelFormatter).titleInsets(insets); legend=g.call(this._swatchLegend);if(this._entryStyle)legend.selectAll(".legendLabel").style(this._entryStyle);if(this["_titleStyle"])legend.selectAll(".legendTitle").style(this["_titleStyle"]);if(fontChecker){legend.selectAll(".legendLabel").call(fontChecker);legend.selectAll(".legendTitle").call(fontChecker)}}},"legend":function(){if("ContinuousLegend"==this._legendType)return this._continuousLegend;if("SwatchLegend"==this._legendType)return this._swatchLegend;return null},"legendType":function(){return this._legendType}, "visible":function(visible){this._visible=visible;return this},"isVisible":function(){return this._visible},"size":function(size){this._size=size;return this},"colorPalette":function(colorPalette){this._colorPalette=colorPalette;return this},"orient":function(orient){if("horizontal"==orient||"vertical"==orient)this._orient=orient;return this},"position":function(position){return this["orient"](com_ibm_rave_bundles_components_LegendComponentImpl["orientationOf"](position))},swatchSize$0:function(swatchSize){if(swatchSize>= 0&&swatchSize!=null)this._swatchSize=swatchSize;return this},"scale":function(scale){this._scale=scale;return this},swatchSize$1:function(swatchSize){if(swatchSize)this._swatchSizeFunc=swatchSize;return this},"shape":function(shape){this._shape=shape;return this},"title":function(title){this._title=title!=null&&title.length>0?title:null;return this},"titleFill":function(titleFill){this["_titleStyle"]["fill"]=titleFill;return this},"titleFontSize":function(titleFontSize){this["_titleStyle"]["font-size"]= titleFontSize;return this},"titleFontFamily":function(titleFontFamily){this["_titleStyle"]["font-family"]=titleFontFamily;return this},"labelFormat":function(labelFormat){this._labelFormat=labelFormat;return this},"titleFont":function(titleFontStyle){this["_titleStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](titleFontStyle);return this},"entryFont":function(entryFontStyle){this._entryStyle=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](entryFontStyle); return this},"getSpaceUsed":function(){if(this._colorPalette&&"continuous"==this._colorPalette.getType())return this._continuousLegend.getUsedSize()+2;else return this._swatchLegend.getUsedSize()+2},"swatchSize":function(a0){var args=arguments;if(args.length==1&&typeof a0==="function")return this.swatchSize$1(a0);return this.swatchSize$0(a0)}});com_ibm_rave_bundles_components_LegendComponentImpl["orientationOf"]=function(position){if("top"==position||"bottom"==position)return"horizontal";return"vertical"}; com_ibm_rave_bundles_components_LegendComponentImpl.BAR_THINKNESS=16;com_ibm_rave_bundles_components_LegendComponentImpl.SWATCH_SIZE=16;com_ibm_rave_bundles_components_LegendComponentImpl["TOP"]="top";com_ibm_rave_bundles_components_LegendComponentImpl["BOTTOM"]="bottom";com_ibm_rave_bundles_components_LegendComponentImpl["LEFT"]="left";com_ibm_rave_bundles_components_LegendComponentImpl["RIGHT"]="right";com_ibm_rave_bundles_components_LegendComponentImpl["ADJUSTABLE"]=-1;var com_ibm_rave_bundles_components_AxisComponentImpl= rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"_axisTitle":null,"_titleStyle":null,"_lineColor":null,"_tickColor":null,"_labelStyle":null,"_displayAxisTitle":false,"_displayAxisLine":false,"_displayTicks":false,"_displayTickLabels":false,"_showPanZoomTickLabels":false,_rotateLabels:false,_staggerCellWidth:0,_staggerAlignFirstAtStart:false,_staggerAlignLastAtEnd:false,_layoutTimerId:0,_layoutTitleSize:0,_layoutLabelSize:0,_layoutLabelHeight:0,_layoutAverageDigitWidth:0, _layoutSpillOver:0,"_hideOverlappingLabels":false,_pendingLabelTimer:false,_padding:0,_renderedShapes:false,_layoutMode:-1,_allowAutoAxisLayoutToChangeOrientaiton:true,_lastAutomaticAxisLayoutOrientation:-1,_allowStagger:false,_allowRotate45:false,_allowRotate90:false,"constructor":function(){var self=this;this._axisLineProperties=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var line=this.selectAll("path.domain");if(self["_lineColor"]!=null)line.style("stroke", self["_lineColor"]);if(self["_displayAxisLine"])line.attr("visibility",null);else line.attr("visibility","hidden");return null};this._axisTickProperties=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var tickLines=this.selectAll("line");if(self["_displayTicks"])tickLines.attr("visibility",null);else tickLines.attr("visibility","hidden");if(self["_lineColor"]!=null)tickLines.style("stroke",self["_tickColor"]);return null};this._axisTickLabelProperties= function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var labels=this.selectAll("text");labels.each(self._displayHideLabels);labels.each(self._panZoomLabels);labels.style(self["_labelStyle"]);self._axis.ticksHandler(null);return null};this._displayHideLabels=function(obj,group,index){if(self["_displayTickLabels"]){if(this.rave_hasProperty("__tickLabelHidden__")){this.rave_removeProperty("__tickLabelHidden__");var count=~~this.rave_getProperty("__hiddenCount__"); if(count<=1){this.rave_removeProperty("__hiddenCount__");this.removeAttribute("visibility")}else this.rave_setProperty("__hiddenCount__",count-1)}}else if(!this.rave_hasProperty("__tickLabelHidden__")){this.setAttribute("visibility","hidden");this.rave_setProperty("__tickLabelHidden__","hidden");count=~~this.rave_getProperty("__hiddenCount__");this.rave_setProperty("__hiddenCount__",count+1)}};this._panZoomLabels=function(obj,group,index){if(self["_showPanZoomTickLabels"]){if(this.rave_hasProperty("__panZoomHidden__")){this.rave_removeProperty("__panZoomHidden__"); var count=~~this.rave_getProperty("__hiddenCount__");if(count<=1){this.rave_removeProperty("__hiddenCount__");this.removeAttribute("visibility")}else this.rave_setProperty("__hiddenCount__",count-1)}}else if(!this.rave_hasProperty("__panZoomHidden__")){this.setAttribute("visibility","hidden");this.rave_setProperty("__panZoomHidden__","hidden");count=~~this.rave_getProperty("__hiddenCount__");this.rave_setProperty("__hiddenCount__",count+1)}};this._tickHandler=new com_ibm_rave_bundles_components_AxisComponentImpl.AxisTickHandler(this._axisTickLabelProperties, this._axisTickProperties);this._axis=null;this._role=null;this._scale=null;this._orient="bottom";this._bounds=null;this["_displayAxisTitle"]=true;this["_axisTitle"]=null;this["_titleStyle"]={};this["_displayAxisLine"]=true;this["_lineColor"]=null;this["_displayTicks"]=true;this["_tickColor"]=null;this["_displayTickLabels"]=true;this["_labelStyle"]={};this._rotateLabels=false;this["_hideOverlappingLabels"]=true;this._dropOverlap=new com_ibm_rave_bundles_utilities_BundleLabelDropper;this._tickFormat= null;this["_showPanZoomTickLabels"]=true;this._pendingLabelTimer=false;this._padding=16;this._textFlow=rave.capabilities.extension("textflow");this._fontChecker=rave.capabilities.extension("fontchecker");this._renderedShapes=false},"type":function(){return com_ibm_rave_bundles_component_AxisComponent["COMPONENT_TYPE"]},"role":function(){return this._role},"execute":function(g){this["preExecute"]();if(!this._scale){g.selectAll("*").remove();this._renderedShapes=false;return}this._renderedShapes=true; if(this._scale.isOrdinal()||this._scale.isClustered()){this["_hideOverlappingLabels"]=false;this._rotateLabels=true}else{this["_hideOverlappingLabels"]=true;this._rotateLabels=true}this.drawTitle(g);this.drawAxis(g);this.handleAxisText(g);this.drawTitle(g)},handleAxisText:function(g){this.stopLabelDroppingUpdate();var duration=0;var delay=0;var g2=rave["transition"](g);if(g2.isTransition()){var t2=g2;duration=t2["duration"]();delay=t2.delay()}var axisSelector=g.selectAll("g.axis");var labels=axisSelector.selectAll("g.tick").filter(rave["library"]["internal"]["BundleUtils"].notExit).selectAll("text"); var fontChecker=rave.capabilities.extension("fontchecker");labels.style(this["_labelStyle"]);if(fontChecker)labels.call(fontChecker);var mode=this._allowAutoAxisLayoutToChangeOrientaiton?this.determineWhichAutoMode(g):this._lastAutomaticAxisLayoutOrientation;this.configureStaggerData(g,mode);this.handleLabelsRotationAndPosition(g,labels,mode);this.hashingNumericScales(labels,this["labelExtent"](g),mode);if(duration==0){this.doLabelWrapping(g,mode);this.handleLabelsRotationAndPosition(g,labels,mode)}this._lastAutomaticAxisLayoutOrientation= mode;if(!this._scale.isOrdinal()&&!this._scale.isClustered()){var isHorizontal=this._orient=="bottom"||this._orient=="top";var tick=axisSelector.append("g").classed("tick",true);var tickText=tick.append("text");if(labels["size"]()==0){var singleValue=this._scale["scale"]().domain()[0];var formatter=this._tickFormat;if(!formatter){var tickFunc=this._scale["scale"]()["tickFormat"];if(tickFunc)formatter=tickFunc.apply(tickFunc,[singleValue])}var node=tickText[0][0];var stringValue=formatter?formatter.call(node, singleValue,0,0):""+singleValue;tickText.text(stringValue);var dim=node.getBBox();this._layoutLabelSize=isHorizontal?dim.height:dim.width;if(!isHorizontal||mode!=0){tickText.text(".0");this._layoutLabelSize+=node.getBBox().width}}if(!isHorizontal||mode!=0){tickText.text(".0");node=tickText[0][0];dim=node.getBBox();this._layoutAverageDigitWidth=dim.width}tick.remove()}if(this["_hideOverlappingLabels"]&&duration>0)this.updateLabelDropping(labels,duration,delay);if(duration>0)this.doLabelWrappingAfterAnimation(g, labels,mode,duration,delay);if(!this["_displayTickLabels"]){this._layoutLabelSize=0;this._layoutAverageDigitWidth=0}},handleLabelsRotationAndPosition:function(g,labels,mode){if(mode==2||mode==1)if(this._orient=="bottom")this.rotateLabels(g,labels,"end",mode);else if(this._orient=="top")this.rotateLabels(g,labels,"start",mode);else this.rotateLabels(g,labels,"middle",mode);else if(this._orient=="bottom"||this._orient=="top")this.rotateLabels(g,labels,"middle",mode);else if(this._orient=="right")this.rotateLabels(g, labels,"start",mode);else this.rotateLabels(g,labels,"end",mode)},hashingNumericScales:function(labels,extent,mode){if(!labels||!extent)return;if(!this._scale.isOrdinal()&&!this._scale.isClustered()){var isHorizontal=this._orient=="bottom"||this._orient=="top";var tickSpace=mode==1?extent[1]:extent[0];this._textTruncationIndicator="";this._layoutLabelSize=0;for(var i=0;ithis._layoutLabelSize)this._layoutLabelSize=size;if(width>=tickSpace)if(this._simplifiedTickFormat){var newText=this._simplifiedTickFormat.call(null,node.rave_getData(),0,0);if(newText!=null)node.rave_setText(newText);if(node.getBBox().width>=tickSpace)node.rave_setText(this.stringOfSize(node.rave_getText().length,"#"))}else node.rave_setText(this.stringOfSize(node.rave_getText().length,"#"))}}},stringOfSize:function(size,ch){var returnString="";for(var i=0;icellWidth:false;this._staggerAlignLastAtEnd=this._staggerLastNode?this._staggerLastNode.getBBox().width>cellWidth:false}},getStaggerIndex:function(node){for(var index=0;indexwidestLabel)widestLabel=nodeRect.width;if(nodeRect.height>this._layoutLabelHeight)this._layoutLabelHeight=nodeRect.height}widestLabel+=zeroWidth;this._layoutSpillOver=mode==1?this._layoutLabelHeight/2:widestLabel/2+2}else{for(i=0;ithis._layoutLabelHeight)this._layoutLabelHeight=nodeRect.height}this._layoutSpillOver=this._layoutLabelHeight/2}return mode}var originalDataLabelAccessor= this._scale.originalDomainLabelAccessor();var staggerStringsWontMatch=this._tickFormat&&!originalDataLabelAccessor;var calcStagger=(this._allowStagger&&this._layoutMode==-1||this._layoutMode==3)&&!staggerStringsWontMatch;var calcRotate45=this._allowRotate45&&this._layoutMode==-1||this._layoutMode==2;var calcRotate90=this._allowRotate90&&this._layoutMode==-1||this._layoutMode==1;var spaceFor45Label=0;for(i=0;ilayoutLabelWidth)layoutLabelWidth=labelWidth;horizontalScore+=labelWidth<=cellWidth?1:cellWidth/labelWidth;if(isHorizontal){if(calcStagger){var spaceForLabel=cellWidth*2;if(i==0&&i==labelCount-1)spaceForLabel*=0.5;else if(i==0||i==labelCount-1)spaceForLabel*=0.75;staggerScore+=labelWidth<=spaceForLabel?1:spaceForLabel/labelWidth}if(calcRotate45){if(spaceFor45Label==0)spaceFor45Label=cellWidth90/0.7071-layoutLabelHeight;var space=this.calculate45DegreeSpace(node, spaceFor45Label);rotate45Score+=labelWidth<=space?1:space/labelWidth}if(calcRotate90)rotate90Score+=labelWidth<=cellWidth90?1:cellWidth90/labelWidth}}mode=0;if(this._layoutMode==-1){if(isHorizontal&&this._allowStagger){horizontalScore*=1.1;staggerScore*=1.1}if(staggerScore>horizontalScore&&staggerScore>=rotate45Score&&staggerScore>=rotate90Score)mode=3;else if(rotate45Score>horizontalScore&&rotate45Score>=rotate90Score)mode=2;else if(rotate90Score>horizontalScore)mode=1}else if(this._layoutMode== 3&&staggerStringsWontMatch||!isHorizontal)mode=0;else mode=this._layoutMode;if(isHorizontal)switch(mode){case 3:this._layoutLabelSize=layoutLabelHeight*2;break;case 2:this._layoutLabelSize=(layoutLabelWidth+layoutLabelHeight)*0.7071;break;case 1:this._layoutLabelSize=layoutLabelWidth;break;case 0:default:this._layoutLabelSize=layoutLabelHeight;break}else this._layoutLabelSize=layoutLabelWidth;this._layoutLabelHeight=layoutLabelHeight;return mode},calculate45DegreeSpace:function(node,maxWidth){var width= maxWidth;var tfm=node.rave_getParentNode().getAttribute("transform");if(tfm!=null){var tfmString=tfm.toString();var indexOfTrans=tfmString.indexOf("translate(");if(indexOfTrans!=-1){indexOfTrans+=10;var indexOfComma=tfmString.indexOf(",",indexOfTrans);if(indexOfComma!=-1){var xAmount=tfmString.substring(indexOfTrans,indexOfComma);var xLabelPos=+xAmount;var width45Degrees=node.getBBox().width;var xLabelWidth=width45Degrees*0.7071;var isBottom=this._orient=="bottom";if(isBottom){xLabelPos-=node.getBBox().height/ 4;if(xLabelPos-xLabelWidththis._bounds.x+this._bounds.width){xLabelWidth=this._bounds.x+this._bounds.width-xLabelPos;width=xLabelWidth/0.7071}if(width>maxWidth)width=maxWidth}}}return width},rotateLabels:function(g,labels,textAnchor,mode){if(this._rotateLabels){var self=this;var positioning=function(data,index,groupIndex){var x=0;var y=0;var rotation_cy=0;var isBottom=self._orient=="bottom"; if(mode==3){var cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1){if(cellIndex%2==1){var staggerDirection=isBottom?1:-1;y+=self._layoutLabelHeight*staggerDirection}if(cellIndex==0&&self._staggerAlignFirstAtStart)x-=self._staggerCellWidth/4;else if(cellIndex==self.getStaggerCount()-1&&self._staggerAlignLastAtEnd)x+=self._staggerCellWidth/4}}else if(mode==2)if(isBottom)x-=self._layoutLabelHeight;else x+=self._layoutLabelHeight/2;else if(mode==1)if(isBottom){x-=this.getBBox().height/2+self._layoutLabelHeight/ 4;rotation_cy=~~(self._padding/4+self._axis.tickSize())}else{x-=this.getBBox().height/2-self._layoutLabelHeight;rotation_cy=~~-(self._padding/4+self._axis.tickSize())}var rotationDegrees=mode==1?-90:mode==2?-45:0;return"translate("+x+","+y+") rotate("+rotationDegrees+",0,"+rotation_cy+")"};labels.attr("transform",positioning).style("text-anchor",textAnchor);if(mode==3){if(this._staggerAlignFirstAtStart)this._staggerFirstNode.rave_setStyle("text-anchor","start");if(this._staggerAlignLastAtEnd)this._staggerLastNode.rave_setStyle("text-anchor", "end")}}},"axis":function(){return this._axis},drawAxis:function(g){var axisSelector=g.selectAll("g.axis")["data"]([0]);axisSelector.enter().append("g").classed("axis",true).classed(this._orient,true);if(!this._axis)this._axis=new rave["internal"]["Axis"];if(this["_hideOverlappingLabels"])this._textFlow.valignment("top").dropTextOnFail(false);this._axis.ticksHandler(this._tickHandler);this._axis["orient"](this._orient);this._axis["tickFormat"](this._tickFormat);this._axis.tickPadding(10);if(this._scale.isOrdinal()|| this._scale.isClustered()){var labelHeight=20;var isHorizontal=this._orient=="bottom"||this._orient=="top";if(isHorizontal)labelHeight/=0.7071;var range=this._scale["scale"]().rangeExtent();var extent=+range[1]-+range[0];this._axis.ticks(extent/labelHeight)}else if(this._tickMagnitude==null)this._axis.ticks(10);else this._axis.ticks.apply(this._axis,[10,this._scale["scale"]().getTickFormat(),this._tickMagnitude]);var s=this._scale["scale"]();if(this._scale.originalDomain()){var sOrdinal=s.copy(); sOrdinal.domain(this._scale.originalDomain());s=sOrdinal;var self=this;var originalDataLabelAccessor=self._scale.originalDomainLabelAccessor();var tickFormatter;if(originalDataLabelAccessor)if(this._tickFormat)tickFormatter=function(data,index,groupIndex){return self._tickFormat.call(this,originalDataLabelAccessor.call(this,data,index,groupIndex),index,groupIndex)};else tickFormatter=originalDataLabelAccessor;else tickFormatter=this._tickFormat;this._axis["tickFormat"](tickFormatter)}this._axis["scale"](s); axisSelector.call(this._axis);var g2=rave["transition"](axisSelector);if(!g2.isTransition())axisSelector.selectAll("text").call(this._dropOverlap,this["_hideOverlappingLabels"]);axisSelector.selectAll("path.domain").classed("axis-line",true);axisSelector.selectAll("g.tick line").classed("axis-tick",true);if(this._fontChecker)axisSelector.selectAll("g.tick text").classed("axis-label",true).call(this._fontChecker);else axisSelector.selectAll("g.tick text").classed("axis-label",true);axisSelector.call(this._axisLineProperties)}, drawTitle:function(g){if(!this["_displayAxisTitle"]||this["_axisTitle"]==null||this["_axisTitle"].trim().length==0||!this._bounds){g.selectAll("text.axis-title."+this._orient).remove();return}var x=0;var y=0;var dy="";var transform;if("top"==this._orient){x=this._elementRect.x+this._elementRect.width/2;y=-this._bounds.height+this._padding/4;dy="0.75em"}else if("bottom"==this._orient){x=this._elementRect.x+this._elementRect.width/2;y=this._bounds.height-this._padding/4;dy="-0.25em"}else if("left"== this._orient){x=-this._elementRect.y-this._elementRect.height/2;y=-this._bounds.width+this._padding/4;dy="0.75em";transform="rotate(-90)"}else{x=this._elementRect.y+this._elementRect.height/2;y=-this._bounds.width+this._padding/4;dy="0.75em";transform="rotate(90)"}var fillOpacity;var tmp=g.append("text").attr("class","axis-title "+this._orient);fillOpacity=tmp.style("fill-opacity");tmp.remove();var label=g.selectAll("text.axis-title."+this._orient);if(label["size"]()==0){label["data"]([0]).enter().append("text").attr("class", "axis-title "+this._orient).style("text-anchor","middle").attr("x",x).attr("y",y).attr("transform",transform).attr("dy",dy).style(this["_titleStyle"]).text(this["_axisTitle"]);if(this._fontChecker)g.selectAll("text.axis-title."+this._orient).call(this._fontChecker)}com_ibm_rave_bundles_utilities_TextCrossfader["textCrossFade"](rave["transition"](label),label.text(),this["_axisTitle"],fillOpacity,0.25).style("text-anchor","middle").attr("x",x).attr("y",y).attr("transform",transform).attr("dy",dy).style(this["_titleStyle"])}, getUnZoomedScale:function(scale){var s=scale.copy();if(s.getZoomTransform())s.getZoomTransform()(1,0);return s},isValid:function(data){var s=this.getUnZoomedScale(this._axis["scale"]());var v=+s.call(null,data,0,0);var range=this._axis["scale"]().range();if(this._axis["scale"]().range().indexOf(v)>-1)return true;if(range[0]v&&v>range[1])return true;return false},doLabelWrapping:function(g,mode){if(this["_displayTickLabels"]){this._textFlow.valignment("top"); if(!this["_hideOverlappingLabels"])this._textFlow.dropTextOnFail(true);var d=this["labelExtent"](g);if(!d||d[0]<0||d[1]<0)return;var w=~~d[0];var h=~~d[1];if(mode==2){w=~~(d[1]/0.7071-this._layoutLabelHeight);h=~~(this._layoutLabelHeight/0.7071)}else if(mode==1){var tmp=w;w=h;h=tmp}var allowWrap=mode==1;if(this._scale.isOrdinal()||this._scale.isClustered()){var hActual=~~(this._layoutLabelHeight*1.2);if(hActual>h)h=hActual;var isHorizontal=this._orient=="bottom"||this._orient=="top";if(mode==0&&!isHorizontal)allowWrap= true}var self=this;var cellWidth=w;var cellHeight=h;this._textFlow.wrap(allowWrap).truncate(true)["textTruncateIndicator"](this._textTruncationIndicator!=null?this._textTruncationIndicator:"...").spacing(1.2).extent(function(data,index,groupIndex){var width=cellWidth;var height=cellHeight;if(mode==2){var cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1)width=~~self.calculate45DegreeSpace(this,cellWidth)}else if(mode==3){cellIndex=self.getStaggerIndex(this);if(cellIndex!=-1){if(cellIndex==0&& cellIndex==self.getStaggerCount()-1)width=cellWidth;else if(cellIndex==0||cellIndex==self.getStaggerCount()-1)width=cellWidth*3/2;else width=cellWidth*2;height=cellHeight/2}}return[width,height]});g.selectAll("g.tick \x3e text").call(this._textFlow)}},"labelExtent":function(g){var isHorizontal=this._orient=="bottom"||this._orient=="top";var w=this._bounds.width;var h=this._bounds.height;if(this._scale["scale"]().rangeBand){var rangeBandValue=+this._scale["scale"]().rangeBand();if(isHorizontal)w=rangeBandValue; else h=rangeBandValue}this.calcTitleExtent(g);if(isHorizontal){h-=this._axis.tickSize();h-=this._padding/2;if(this._layoutTitleSize!=0){h-=this._layoutTitleSize;h-=this._padding/2}}else{w-=this._axis.tickSize();w-=this._padding/2;if(this._layoutTitleSize!=0){w-=this._layoutTitleSize;w-=this._padding/2}}return[w,h]},calcTitleExtent:function(g){this._layoutTitleSize=0;var title=g.selectAll("text.axis-title");if(title["size"]()>0){var textHeight=title[0][0].getBBox().height;this._layoutTitleSize=textHeight}}, "setRole":function(role){this._role=role;return this},"scaleTickMagnitude":function(tickMagnitude){this._tickMagnitude=tickMagnitude;return this},"scale":function(scale){this._scale=scale?scale:null;return this},orient$0:function(orient){if("left"==orient||"bottom"==orient||"right"==orient||"top"==orient){this._orient=orient;if(this._role==null)if("left"==orient)this._role="ROLE_Y1";else if("bottom"==orient)this._role="ROLE_X1";else if("right"==orient)this._role="ROLE_Y2";else this._role="ROLE_X2"}return this}, orient$1:function(){return this._orient},"bounds":function(bounds){this._bounds=bounds;return this},"elementRect":function(elementRect){this._elementRect=elementRect;return this},tickFormat$0:function(tickFormat){this._tickFormat=tickFormat;return this},tickFormat$1:function(){return this._tickFormat},simplifiedTickFormat$0:function(tickFormat){this._simplifiedTickFormat=tickFormat;return this},simplifiedTickFormat$1:function(){return this._simplifiedTickFormat},"displayAxisTitle":function(displayAxisTitle){this["_displayAxisTitle"]= displayAxisTitle;return this},"displayAxisLine":function(displayAxisLine){this["_displayAxisLine"]=displayAxisLine;return this},"displayTicks":function(displayTicks){this["_displayTicks"]=displayTicks;return this},"displayTickLabels":function(displayTickLabels){this["_displayTickLabels"]=displayTickLabels;return this},"allowAutomaticAxisLayoutToChangeOrientation":function(state){this._allowAutoAxisLayoutToChangeOrientaiton=state;return this},"isAllowAutomaticAxisLayoutToChangeOrientation":function(){return this._allowAutoAxisLayoutToChangeOrientaiton}, "showPanZoomTickLabels":function(showPanZoomTickLabels){this["_showPanZoomTickLabels"]=showPanZoomTickLabels;return this},"axisTitle":function(axisTitle){this["_axisTitle"]=axisTitle;return this},"axisColor":function(axisColor){this["_lineColor"]=axisColor;this["_tickColor"]=axisColor;return this},"lineColor":function(lineColor){this["_lineColor"]=lineColor;return this},"tickColor":function(tickColor){this["_tickColor"]=tickColor;return this},"labelColor":function(labelColor){this["_labelStyle"]["fill"]= labelColor;return this},labelStyle$0:function(fill,fontSize,fontFamily){this["_labelStyle"]["fill"]=fill;this["_labelStyle"]["font-size"]=fontSize;this["_labelStyle"]["font-family"]=fontFamily;return this},"titleColor":function(titleColor){this["_titleStyle"]["fill"]=titleColor;return this},titleStyle$0:function(fill,fontSize,fontFamily){this["_titleStyle"]["fill"]=fill;this["_titleStyle"]["font-size"]=fontSize;this["_titleStyle"]["font-family"]=fontFamily;return this},"padding":function(padding){this._padding= padding;return this},"layoutMode":function(layoutMode){this._layoutMode=-1;if(layoutMode!=null)if(layoutMode=="horizontal")this._layoutMode=0;else if(layoutMode=="stagger")this._layoutMode=3;else if(layoutMode=="rotate45")this._layoutMode=2;else if(layoutMode=="rotate90")this._layoutMode=1;return this},"allowStagger":function(allow){this._allowStagger=allow;return this},"allowRotate45":function(allow){this._allowRotate45=allow;return this},"allowRotate90":function(allow){this._allowRotate90=allow; return this},renderedShapes:function(){return this._renderedShapes},labelStyle$1:function(fontStyle){this["_labelStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](fontStyle);return this},titleStyle$1:function(fontStyle){this["_titleStyle"]=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](fontStyle);return this},isAxisSwapped:function(){return(this._role=="ROLE_Y1"||this._role=="ROLE_Y2")&&(this._orient=="top"||this._orient=="bottom")||(this._role=="ROLE_X1"|| this._role=="ROLE_X2")&&(this._orient=="right"||this._orient=="left")},"textTruncateIndicator":function(indicator){this._textTruncationIndicator=indicator;return this},stopLabelDroppingUpdate:function(){this._pendingLabelTimer=false},updateLabelDropping:function(labels,duration,delay){var self=this;var start=delay+duration;var labelCollideCallback=function(elapsed){if(!self._pendingLabelTimer)return true;labels.call(self._dropOverlap,self["_hideOverlappingLabels"]);if(elapsed>=start){self._pendingLabelTimer= false;return true}return false};if(duration>0){this._pendingLabelTimer=true;rave.timer(labelCollideCallback,start)}},doLabelWrappingAfterAnimation:function(g,labels,mode,duration,delay){this._layoutTimerId++;var timerId=this._layoutTimerId;var self=this;var wrapCallback=function(elapsed){if(self._layoutTimerId==timerId){self.doLabelWrapping(g,mode);self.handleLabelsRotationAndPosition(g,labels,mode)}return true};rave.timer(wrapCallback,delay+duration)},"preLayout":function(){this._layoutTitleSize= 0;this._layoutLabelSize=0;this._layoutLabelHeight=0;this._layoutAverageDigitWidth=0;this._layoutSpillOver=0},"getSizableType":function(){return this._scale.isOrdinal()||this._scale.isClustered()?1:0},"getSizableOrientation":function(){return this._orient},"getPreferredSize":function(){var layoutPaddingSize=0;if(this._axis){layoutPaddingSize=this._axis.tickSize();if(this._layoutLabelSize!=0)layoutPaddingSize+=this._padding/2;if(this._layoutTitleSize!=0)layoutPaddingSize+=this._padding/2}return this._layoutLabelSize+ this._layoutAverageDigitWidth+this._layoutTitleSize+layoutPaddingSize+2},"getSpillOverSize":function(){return this._layoutSpillOver},"orient":function(a0){var args=arguments;if(args.length==0)return this.orient$1();return this.orient$0(a0)},"tickFormat":function(a0){var args=arguments;if(args.length==0)return this.tickFormat$1();return this.tickFormat$0(a0)},"simplifiedTickFormat":function(a0){var args=arguments;if(args.length==0)return this.simplifiedTickFormat$1();return this.simplifiedTickFormat$0(a0)}, "labelStyle":function(a0,a1,a2){var args=arguments;if(args.length==1)return this.labelStyle$1(a0);return this.labelStyle$0(a0,a1,a2)},"titleStyle":function(a0,a1,a2){var args=arguments;if(args.length==1)return this.titleStyle$1(a0);return this.titleStyle$0(a0,a1,a2)}});com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"]=function(bounds,orient){if("left"==orient)return[bounds.x+bounds.width,0];if("right"==orient)return[bounds.x,0];if("top"==orient)return[0,bounds.y+bounds.height];return[0, bounds.y]};com_ibm_rave_bundles_components_AxisComponentImpl.NodeIndex=rave["internal"]["Declare"]({_domainIndex:0,"constructor":function(node,domainIndex){this._node=node;this._domainIndex=domainIndex},"contains":function(node){return node==this._node},"getIndex":function(){return this._domainIndex}});com_ibm_rave_bundles_components_AxisComponentImpl.AxisTickHandler=rave["internal"]["Declare"](rave["internal"]["AbstractTickHandler"],{_$functionClassMethod:function(){var _$self=function(args){if(args!== null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);_$self["handle"](args[0]);return null};return _$self},"constructor":function(label,tick){this._label=label;this._tick=tick},"handle":function(ticks){ticks.call(this._tick);ticks.call(this._label)}});com_ibm_rave_bundles_components_AxisComponentImpl["LABEL_HIDDEN_FLAG"]="__tickLabelHidden__";com_ibm_rave_bundles_components_AxisComponentImpl["PANZOOM_HIDDEN_FLAG"]="__panZoomHidden__";com_ibm_rave_bundles_components_AxisComponentImpl["HIDDEN_COUNT"]= "__hiddenCount__";com_ibm_rave_bundles_components_AxisComponentImpl["PREFERRED_SPACE_PER_TICK"]=20;com_ibm_rave_bundles_components_AxisComponentImpl["PREFERRED_TICK_COUNT"]=10;com_ibm_rave_bundles_components_AxisComponentImpl["TICK_PADDING"]=10;com_ibm_rave_bundles_components_AxisComponentImpl.HORIZONTAL=0;com_ibm_rave_bundles_components_AxisComponentImpl.ROTATE90=1;com_ibm_rave_bundles_components_AxisComponentImpl.ROTATE45=2;com_ibm_rave_bundles_components_AxisComponentImpl.STAGGER=3;com_ibm_rave_bundles_components_AxisComponentImpl.TEXTFLOW_SPACING= 1.2;com_ibm_rave_bundles_components_AxisComponentImpl["BOTTOM_ORIENTATION"]="bottom";com_ibm_rave_bundles_components_AxisComponentImpl["TOP_ORIENTATION"]="top";com_ibm_rave_bundles_components_AxisComponentImpl["LEFT_ORIENTATION"]="left";com_ibm_rave_bundles_components_AxisComponentImpl["RIGHT_ORIENTATION"]="right";com_ibm_rave_bundles_components_AxisComponentImpl.AUTOMODE=-1;var com_ibm_rave_bundles_components_GridComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl, {_displayGridlines:false,_renderedShapes:false,"constructor":function(){this._axis=null;this._role=null;this._orient="bottom";this._bounds=null;this._displayGridlines=true;this._gridlineStyle=new com_ibm_rave_bundles_components_StyleStructs.LineStyle;this._renderedShapes=false},"type":function(){return com_ibm_rave_bundles_component_GridComponent["COMPONENT_TYPE"]},"role":function(){return this._role},"execute":function(g){this["preExecute"]();if(!this._displayGridlines||!this._axis||!this._bounds){g.selectAll("*").remove(); this._renderedShapes=false;return}this._renderedShapes=true;var size="bottom"==this._orient||"top"==this._orient?this._bounds.height:this._bounds.width;var ticksHandler=this._axis.ticksHandler();var tickSize=this._axis.tickSize();var outerTickSize=this._axis.outerTickSize();var tickFormat=this._axis["tickFormat"]();var ax=this._axis.tickSize(-size,0)["tickFormat"]("").ticksHandler(null);g.call(ax);this._axis.tickSize(tickSize,outerTickSize)["tickFormat"](tickFormat).ticksHandler(ticksHandler);g.selectAll("g.tick line").classed("grid-tick", true);g.selectAll(".grid-tick").style("stroke",this._gridlineStyle._stroke).style("stroke-dasharray",this._gridlineStyle._dashArray);g.selectAll("path.domain").remove()},"axis":function(axis){this._axis=axis;return this},"setRole":function(role){this._role=role;return this},orient$0:function(orient){if("left"==orient||"right"==orient||"bottom"==orient||"top"==orient)this._orient=orient;return this},"bounds":function(bounds){this._bounds=bounds;return this},displayGridlines$0:function(displayGridlines){this._displayGridlines= displayGridlines;return this},"gridlineStyle":function(gridlineColor,dashArray){this["gridlineColor"](gridlineColor);this["dashArray"](dashArray);return this},gridlineColor$0:function(gridlineColor){this._gridlineStyle._stroke=gridlineColor!=null&&gridlineColor.length>0?gridlineColor:null;return this},dashArray$0:function(dashArray){this._gridlineStyle._dashArray=dashArray!=null&&dashArray.length>0?dashArray:null;return this},orient$1:function(){return this._orient},displayGridlines$1:function(){return this._displayGridlines}, gridlineColor$1:function(){return this._gridlineStyle._stroke},dashArray$1:function(){return this._gridlineStyle._dashArray},renderedShapes:function(){return this._renderedShapes},"orient":function(a0){var args=arguments;if(args.length==0)return this.orient$1();return this.orient$0(a0)},"displayGridlines":function(a0){var args=arguments;if(args.length==0)return this.displayGridlines$1();return this.displayGridlines$0(a0)},"gridlineColor":function(a0){var args=arguments;if(args.length==0)return this.gridlineColor$1(); return this.gridlineColor$0(a0)},"dashArray":function(a0){var args=arguments;if(args.length==0)return this.dashArray$1();return this.dashArray$0(a0)}});var com_ibm_rave_bundles_components_KeyedBundleComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{"key":function(keyFunction){this.keyFunction=keyFunction;return this},"getKey":function(){if(!this.keyFunction)return null;var self=this;return function(datum,index,groupIndex){return self.keyFunction(datum)}}}); var com_ibm_rave_bundles_components_AbstractPathComponent=rave["internal"]["Declare"](com_ibm_rave_bundles_components_KeyedBundleComponentImpl,{"_interpolateMode":null,"_previousInterpolateMode":null,"constructor":function(){this["_interpolateMode"]=rave["internal"]["SVGLine"].r2_svg_lineLinear["getKey"]();this["_previousInterpolateMode"]=this["_interpolateMode"]},"updatePath":function(updateSelection,pathFunction){if(this["_interpolateMode"]!=null&&!(this["_interpolateMode"]==this["_previousInterpolateMode"]))com_ibm_rave_bundles_utilities_PathUtils["fadeOutIn"](updateSelection, pathFunction);else updateSelection.attr("d",pathFunction);this["_previousInterpolateMode"]=this["_interpolateMode"]}});var com_ibm_rave_bundles_components_LineComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_AbstractPathComponent,{_transpose:false,_showMissingAsGap:false,"constructor":function(){this._data=null;this["_interpolateMode"]=null;this._pointsAccessor=function(data){return data["points"]};this._groupAccessor=null;this._independentAccessor=function(data){return data[0]}; this._independentScale=null;this._dependentAccessor=function(data){return data[1]};var self=this;this._definedAccessor=function(data){return self._dependentAccessor(data)!=null&&self._independentAccessor(data)!=null};this._dependentScale=null;this._colorPalette=null;this._transpose=false;this._effect=null;this._showMissingAsGap=true},"type":function(){return com_ibm_rave_bundles_component_LineComponent["COMPONENT_TYPE"]},"execute":function(g){this["preExecute"]();if(!this._data||!this._pointsAccessor|| !this._independentAccessor||!this._independentScale||!this._dependentAccessor||!this._dependentScale){g.selectAll("*").remove();return}var self=this;var independent=function(data,index,groupIndex){return self._independentScale.center(self._independentAccessor(data))};var dependent=function(data,index,groupIndex){return self._dependentScale.center(self._dependentAccessor(data))};var definedAccessorY=function(data,index,groupIndex){return self._definedAccessor(data)};var line=rave.svg.line().x(this._transpose? dependent:independent).y(this._transpose?independent:dependent)["showMissingAsGap"](this._showMissingAsGap);var lineFunction=function(d,index,groupIndex){return line.call(this,self._pointsAccessor(d),index,groupIndex)};line.defined(definedAccessorY);line["interpolate"](this["_interpolateMode"]);var lines=g.selectAll("path.element-shape")["data"](this._data,this._groupAccessor?function(data,index,groupIndex){return self._groupAccessor(data)}:null);lines.exit().remove();var enter=lines.enter();if(enter["size"]()> 0){enter=enter.append("path").attr("class","element-shape").style("stroke",this._colorPalette);if("fromBase"==this._effect){var dependentZero=function(data,index,groupIndex){return self._dependentScale.center(0)};var zeroLine=rave.svg.line().x(this._transpose?dependentZero:independent).y(this._transpose?independent:dependentZero);zeroLine.defined(definedAccessorY);enter.attr("d",function(d,index,groupIndex){return zeroLine.call(this,self._pointsAccessor(d),index,groupIndex)})}else enter.attr("d", lineFunction)}var linesUpdate=rave["transition"](lines).style("stroke",this._colorPalette);this["updatePath"](linesUpdate,lineFunction);this._effect=null},"data":function(data){this._data=data;return this},"pointsAccessor":function(pointsAccessor){this._pointsAccessor=pointsAccessor;return this},"groupAccessor":function(groupAccessor){this._groupAccessor=groupAccessor;return this},"independentAccessor":function(independentAccessor){this._independentAccessor=independentAccessor;return this},"independentScale":function(independentScale){this._independentScale= independentScale;return this},"dependentAccessor":function(dependentAccessor){this._dependentAccessor=dependentAccessor;return this},"definedAccessor":function(definedAccessor){this._definedAccessor=definedAccessor;return this},"dependentScale":function(dependentScale){this._dependentScale=dependentScale;return this},"colorPalette":function(colorPalette){this._colorPalette=colorPalette?colorPalette:null;return this},"transpose":function(transpose){this._transpose=transpose;return this},"effect":function(effect){this._effect= effect;return this},"showMissingAsGap":function(state){this._showMissingAsGap=state;return this},"interpolate":function(mode){this["_interpolateMode"]=mode;return this}});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 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