;(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.raveLibraryColumnMin = factory(root.rave, root.raveLibrary, root.raveUtilities, root.raveLayouts, root.raveLegends); } }(this, function(rave, raveLibrary, raveUtilities, raveLayouts, raveLegends) { (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o1)elementsToRemove=Array.prototype.slice.call(arguments);this["dataModel"]=this.context["dataModel"]();if(!this["dataValid"]()){var __i_enFor0=0;for(var __len_enFor0=elementsToRemove.length;__i_enFor0<__len_enFor0;++__i_enFor0){var e=elementsToRemove[__i_enFor0]; this["_chart"].selectAll(e).selectAll("*").remove()}this["_legends"]["visible"](false)["draw"]();return false}return true},"dataValid":function(){return this["dataModel"].validate()},"getLegendCount":function(){return 1},"isAxesManagerRequired":function(){return false},"isZoomSupported":function(){return true},"getProperty":function(s){return this.context.getPropertyValue(s)},"getPropertyDefault":function(s){return this.context["getPropertyDefault"](s)},"getBooleanProperty":function(s){var obj=this["getProperty"](s); return obj},"getDoubleProperty":function(s){var obj=this["getProperty"](s);return+obj},"getIntProperty":function(s){var obj=this["getProperty"](s);return~~obj},"getStringProperty":function(id){var obj=this["getProperty"](id);return obj==null?null:""+obj},"getStringPropertyEmptyAsNull":function(id){var s=this["getStringProperty"](id);return s==null||s.length==0?null:s},"getCSSSizeToPixelNumber":function(id){var cssSize=rave["library"]["internal"]["CSSConverter"].convertCSSSizeToPixelNumber(this.context.getPropertyValue(id), 100,10);return cssSize==null?0:cssSize},"getEffectDuration":function(effect){var duration=this["getIntProperty"]("effect.duration");if(duration<0||effect==null||"none"==effect)duration=0;return duration},"getTopPadding":function(){return this["getProperty"]("layout.chart.padding.top")},"getLeftPadding":function(){return this["getProperty"]("layout.chart.padding.left")},"getBottomPadding":function(){return this["getProperty"]("layout.chart.padding.bottom")},"getRightPadding":function(){return this["getProperty"]("layout.chart.padding.right")}, "getLayoutPadding":function(){return this["getProperty"]("layout.padding")},"getLegendChartGap":function(){return this["getProperty"]("layout.legendchart.gap")},"getLegendChartAlign":function(){return this["getBooleanProperty"]("layout.legendchart.align")},"getLegendPosition":function(){return this["getStringProperty"]("legend.position")},getPalette$0:function(){return this.getPalette$1("color.palette")},getPalette$1:function(paletteID){var id=this["getStringProperty"](paletteID);var colorPalette= com_ibm_rave_library_Library.palettes["getPalette"](id);return!colorPalette?com_ibm_rave_library_Library.palettes.getDefaultPalette():colorPalette},getDynamicPalette$0:function(){return this.getDynamicPalette$1("color.palette","color.dynamicPalette.min","color.dynamicPalette.mid","color.dynamicPalette.max")},getDynamicPalette$1:function(paletteID,minId,midId,maxId){var colorPalette;var min=this["getStringProperty"](minId);if(min!=null){var mid=this["getStringProperty"](midId);if(mid!=null){var max= this["getStringProperty"](maxId);if(max!=null){var fills=[min,mid,max];colorPalette=rave["library"]["internal"]["AbstractView"].getFillPalette(fills)}}}return!colorPalette?this["getPalette"](paletteID):colorPalette},"prepareLayoutComponent":function(){this["_layoutComponent"]["setPreExecute"](this.context.getPreExecute())["overall"](new rave["internal"]["RectStruct"](0,0,this.context["size"].w,this.context["size"].h))["legendPosition"](this["getLegendPosition"]())["padding"](this["getLayoutPadding"]())["chartPadding"](this["getTopPadding"](), this["getLeftPadding"](),this["getBottomPadding"](),this["getRightPadding"]())["legendChartGap"](this["getLegendChartGap"]())["legendChartAlign"](this["getLegendChartAlign"]())},"prepareLayoutSizables":function(layoutComponent,useX2,useY1,useX1,useY2,useLegend){layoutComponent["removeAxisSizables"]();if(useX1)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](0));if(useY1)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](2));if(useX2)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](1)); if(useY2)layoutComponent["addAxisSizable"](this["_axes"]["axisComponent"](3));layoutComponent["legendSize"](useLegend?this["_legends"]:null)},"resetUpdate":function(){this.updateType=4},"isUpdateNothing":function(){return this.updateType==4},"isShowLegend":function(){return this["getBooleanProperty"]("legend.display")},cancelTransitions:function(){this.context.node.selectAll("*").interrupt()},"setBackgroundProperties":function(elementRect,duration){this["_backgroundComponent"]["setPreExecute"](this.context.getPreExecute())["size"](this.context["size"])["backgroundColor"](this["getStringProperty"]("background.chart.color")); this.context.node.selectAll("rect.background.chart")["transition"]()["duration"](duration).call(this["_backgroundComponent"]);this["_backgroundComponent"]["setPreExecute"](this.context.getPreExecute())["rect"](elementRect)["backgroundColor"](this["getStringProperty"]("background.elements.color"));this.context.node.selectAll("rect.background.elements")["transition"]()["duration"](duration).call(this["_backgroundComponent"])},"isShowDataLabels":function(){return this["getBooleanProperty"]("data.label.display")}, "isShowDataLabelsAsPercentageOfColor":function(){var dataLabel=this["getStringProperty"]("data.label.type");return"PercentOfColor"==dataLabel},"isShowDataLabelsAsPercentageOfCategory":function(){var dataLabel=this["getStringProperty"]("data.label.type");return"PercentOfCategory"==dataLabel},"getlDataLabelAccessor":function(dataSet,slot,isInterval){var labelAccessor;var labelEntry=dataSet.slot(slot).entry();if(!labelEntry)if(this["isShowDataLabelsAsPercentageOfCategory"]())labelAccessor=isInterval? com_ibm_rave_bundles_components_IntervalDataUtilities["PERCENT_OF_CATEGORY_ACCESSOR"]:com_ibm_rave_bundles_data_PointDataUtilities["PERCENT_OF_CATEGORY_ACCESSOR"];else if(this["isShowDataLabelsAsPercentageOfColor"]())labelAccessor=isInterval?com_ibm_rave_bundles_components_IntervalDataUtilities["PERCENT_OF_COLOR_ACCESSOR"]:com_ibm_rave_bundles_data_PointDataUtilities["PERCENT_OF_COLOR_ACCESSOR"];else labelAccessor=isInterval?com_ibm_rave_bundles_components_IntervalDataUtilities["VALUE_ACCESSOR"]: com_ibm_rave_bundles_data_PointDataUtilities["Y_ACCESSOR"];else labelAccessor=rave["library"]["internal"]["AbstractView"].originalDatumAccessor(rave["library"]["internal"]["AbstractView"].accessorOf(labelEntry));return labelAccessor},"getEntryForDataLabelFormatter":function(dataSet,labelSlot,defaultSlot){var labelEntry=dataSet.slot(labelSlot).entry();return labelEntry?labelEntry:dataSet.slot(defaultSlot).entry()},"getBackgroundConstrastLabelStyle":function(){var labelFontStyle=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](this["getStringProperty"]("labelstyle.font")); if(this["getBooleanProperty"]("contrast.label.color")==false)return labelFontStyle;var defaultFillColor;if(labelFontStyle){defaultFillColor=labelFontStyle["fill"];if(defaultFillColor==null)defaultFillColor=labelFontStyle["color"]}else labelFontStyle={};if(defaultFillColor==null)defaultFillColor="#000000";labelFontStyle["fill"]=com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](this["getStringProperty"]("background.elements.color"),defaultFillColor);return labelFontStyle},"getPalette":function(a0){var args= arguments;if(args.length==0)return this.getPalette$0();if(args.length==1&&(a0==null||typeof a0==="string"))return this.getPalette$1(a0);return rave["library"]["internal"]["AbstractView"].prototype["getPalette"].apply(this,args)},"getDynamicPalette":function(a0,a1,a2,a3){var args=arguments;if(args.length==0)return this.getDynamicPalette$0();return this.getDynamicPalette$1(a0,a1,a2,a3)}});var com_ibm_rave_bundles_components_BundleComponentImpl=rave["internal"]["Declare"]({"_renderCallback":null,_$functionClassMethod:function(){var _$self= function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);var self=_$self;this.each(function(data,index,groupIndex){self["execute"](rave.select(this))});return null};return _$self},"execute":function(g){},"setPreExecute":function(callback){this._preExecuteCallback=callback;return this},"preExecute":function(){if(this._preExecuteCallback)this._preExecuteCallback(this)},"setRenderCallback":function(callback){this["_renderCallback"]=callback;return this},"type":function(){}, "updateBorder":function(s,borderWidth,borderColor){if(borderWidth!=null)s.each(function(data,index,groupIndex){if(!this.rave_getProperty("selected")&&!this.rave_getProperty("highlighted"))this.rave_setStyle("stroke-width",borderWidth,"")});if(borderColor!=null)s.each(function(data,index,groupIndex){if(!this.rave_getProperty("selected")&&!this.rave_getProperty("highlighted"))this.rave_setStyle("stroke",borderColor,"")})},"getDefaultLabelColor":function(_labelStyle){if(!_labelStyle)return"#000000"; var defaultFillColor;if(_labelStyle){defaultFillColor=_labelStyle["fill"];if(defaultFillColor==null)defaultFillColor=_labelStyle["color"]}if(defaultFillColor==null)defaultFillColor="#000000";return defaultFillColor.toString()}});var com_ibm_rave_bundles_component_BackgroundComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_BackgroundComponent["COMPONENT_TYPE"]="BackgroundComponent";var com_ibm_rave_bundles_component_ChartLayoutComponent=rave["internal"]["Declare"].implement(); com_ibm_rave_bundles_component_ChartLayoutComponent["COMPONENT_TYPE"]="ChartLayoutComponent";var com_ibm_rave_bundles_components_LegendsManager=rave["internal"]["Declare"]({_numLegends:0,_doTransition:false,_duration:0,_spaceUsed:0,"constructor":function(context,numLegends){this._context=context;this._numLegends=numLegends;this._comp=new com_ibm_rave_bundles_components_LegendComponentImpl;this._rectangle=new rave["internal"]["RectStruct"](0,0,0,0);this._orient="vertical";this._preExecute=null;this._selectors= [];this._palettes=[];this._scale=[];this._swatchSizes=[];this._shapes=[];this._titles=[];this._titleFonts=[];this._titleFills=[];this._titleFontSizes=[];this._titleFontFamilies=[];this._entryFonts=[];this._formatters=[];this._lastVisible=[];this._visible=[];this._dataSlotEntries=[];for(var i=0;i=0?duration:0;return this},"setPreExecute":function(callback){this._preExecute=callback;return this},"selector":function(index,selector){if(index>=0&&index= 0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&index=0&&indexthis._spaceUsed)this._spaceUsed=this._comp["getSpaceUsed"]()}this._lastVisible[i]= visible}else this._lastVisible[i]=false;return this},"getSizableType":function(){return 2},"getSizableOrientation":function(){return this._orient},"getPreferredSize":function(){return this._spaceUsed},"getSpillOverSize":function(){return 0},"visible":function(a0,a1){var args=arguments;if(args.length==1)return this.visible$1(a0);return this.visible$0(a0,a1)},"preLayout":function(a0,a1){var args=arguments;if(args.length==1)return this.preLayout$0(a0);return this.preLayout$1(a0,a1)}});var com_ibm_rave_bundles_utilities_FontPropertyParser= rave["internal"]["Declare"]({});com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"]=function(fontStyle){if(fontStyle!=null&&fontStyle.length>0){var properties=fontStyle.split(new RegExp(";"));var fontStyles={};var __i_enFor0=0;for(var __len_enFor0=properties.length;__i_enFor0<__len_enFor0;++__i_enFor0){var property=properties[__i_enFor0];var fontMap=property.split(new RegExp(":"));if(fontMap.length==2){var key=fontMap[0].trim();fontStyles[key=="color"?"fill":key]=fontMap[1].trim()}}return fontStyles}return null}; var com_ibm_rave_bundles_components_AxesManager=rave["internal"]["Declare"]({_firstDraw:false,_visible:true,_duration:0,_transpose:false,_swapX:false,_swapY:false,_layoutInProgress:false,_layoutMaxWidth:0,_layoutMaxHeight:0,_xPadding:0,_xOuterPadding:0,_yPadding:0,_yOuterPadding:0,_xPixelPad:0,_yPixelPad:0,_preventStaggerRotate45:false,"constructor":function(context){this._scales=[];this._suppressPanLabels=[];this._drawAxisLabels=[];this._axisComponents=[];this._lastAxisDrawSelectors=[];this._gridComponents= [];this._lastGridDrawSelectors=[];this._clearAxis=new com_ibm_rave_bundles_components_AxisComponentImpl;this._clearGrid=new com_ibm_rave_bundles_components_GridComponentImpl;this._axisSelectors=[];this._gridSelectors=[];this._axisRects=[];this._elementRect=new rave["internal"]["RectStruct"](0,0,0,0);this._lastAxisDrew=[];this._lastGridDrew=[];this._dataSlotEntries=[];this._layoutAxisOrder=[];this._context=context;for(var i=0;i<4;++i){this._scales[i]=null;this._suppressPanLabels[i]=false;this._axisComponents[i]= null;this._lastAxisDrawSelectors[i]=null;this._gridComponents[i]=null;this._lastGridDrawSelectors[i]=null;this._axisSelectors[i]=null;this._gridSelectors[i]=null;this._axisRects[i]=new rave["internal"]["RectStruct"](0,0,0,0);this._lastAxisDrew[i]=false;this._lastGridDrew[i]=false;this._dataSlotEntries[i]=[]}},"preLayout":function(layoutComponent,axesBeforeLegend,xPadding,xOuterPadding,xPixelPad,yPadding,yOuterPadding,yPixelPad){this._xPadding=xPadding;this._xOuterPadding=xOuterPadding;this._xPixelPad= xPixelPad;this._yPadding=yPadding;this._yOuterPadding=yOuterPadding;this._yPixelPad=yPixelPad;this._layoutInProgress=true;var layoutDuration=this._duration;this._duration=0;var children=["g.layoutAxis-bottom","g.layoutAxis-top","g.layoutAxis-left","g.layoutAxis-right","g.layoutGrid-bottom","g.layoutGrid-top","g.layoutGrid-left","g.layoutGrid-right"];rave["library"]["internal"]["AbstractView"].createGroupStructure(this._context.node.select("g.axes-layout"),children);var layoutAxisSelectors=[];var layoutGridSelectors= [];var layoutLastAxisDrew=[];for(var position=0;position<4;++position){if(this._axisComponents[position])this._axisComponents[position]["preLayout"]();layoutAxisSelectors[position]=this._axisSelectors[position];layoutGridSelectors[position]=this._gridSelectors[position];layoutLastAxisDrew[position]=this._lastAxisDrew[position];if(this._axisSelectors[position])this["axisSelector"](position,this._context.node.select("g.layoutAxis-"+com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position])); if(this._gridSelectors[position])this["gridSelector"](position,this._context.node.select("g.layoutGrid-"+com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position]))}layoutComponent["preLayout"](axesBeforeLegend,true);com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect,layoutComponent["elementRect"]());var countHorz=0;var countVert=0;var axes=[];for(position=0;position<4;++position){var role=this.positionToRole(position);var isHorz=position==1||position==0;if(this._axisSelectors[position]&& this._scales[role]){if(isHorz)countHorz++;else countVert++;if(this._scales[role].isOrdinal()||this._scales[role].isClustered()){var score=isHorz?4:2;axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,score))}else{score=isHorz?3:1;axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,score))}}else axes.push(new com_ibm_rave_bundles_components_AxesManager.AxisLayout(position,5))}axes.sort(function(a1,a2){var a1value=a1["score"];var a2value=a2["score"]; return a1valuea2value?1:0});this._layoutAxisOrder=[];for(var i=0;i<4;++i)this._layoutAxisOrder[i]=axes[i]["position"];this._layoutMaxWidth=this._elementRect.width*(countVert>1?0.5:0.4);this._layoutMaxHeight=this._elementRect.height*(countHorz>1?0.5:0.4);for(var index=0;index<4;++index){position=this._layoutAxisOrder[index];com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[position],this._elementRect)}this["draw"]();this._duration=layoutDuration;this._context.node.select("g.axes-layout").selectAll("*").remove(); for(position=0;position<4;++position){this._lastAxisDrew[position]=layoutLastAxisDrew[position];this._axisSelectors[position]=layoutAxisSelectors[position];this._gridSelectors[position]=layoutGridSelectors[position]}this._layoutInProgress=false;return this},getPositionToDraw:function(index){return this._layoutInProgress?this._layoutAxisOrder[index]:index},preDrawAxis:function(index){if(this._layoutInProgress){var position=this._layoutAxisOrder[index];var role=this.positionToRole(position);if(role== 0||role==1)this.setScaleRangePadded(this._scales[role],false,this._xPadding,this._xOuterPadding,this._xPixelPad);else this.setScaleRangePadded(this._scales[role],true,this._yPadding,this._yOuterPadding,this._yPixelPad);this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](true)}},postDrawAxis:function(index){if(this._layoutInProgress){var position=this._layoutAxisOrder[index];var role=this.positionToRole(position);var axis=this._axisComponents[role];var size=axis["getPreferredSize"](); if(position==1||position==0){if(size>this._layoutMaxHeight)size=this._layoutMaxHeight;this._elementRect.height-=size;if(position==1)this._elementRect.y+=size}else{if(size>this._layoutMaxWidth)size=this._layoutMaxWidth;this._elementRect.width-=size;if(position==2)this._elementRect.x+=size}this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](false)}},"draw":function(){for(var role=0;role<4;++role){this._lastAxisDrawSelectors[role]=null;this._lastGridDrawSelectors[role]=null}for(var index= 0;index<4;++index){var position=this.getPositionToDraw(index);role=this.positionToRole(position);if(!this._visible||!this._axisSelectors[position]||!this._scales[role]){this.clearAxis(position);this.clearGrid(position)}else{this.preDrawAxis(index);this.drawAxis(position,role);this.postDrawAxis(index);if(this._gridSelectors[position])this.drawGrid(position,role)}}this._firstDraw=false},"hideAnyPanZoom":function(){return this._suppressPanLabels[0]||this._suppressPanLabels[1]||this._suppressPanLabels[2]|| this._suppressPanLabels[3]},"redraw":function(panning){for(var role=0;role<4;++role){if(this._axisComponents[role]&&this._lastAxisDrawSelectors[role]){this._axisComponents[role]["displayTickLabels"](this._drawAxisLabels[role]);this._axisComponents[role]["showPanZoomTickLabels"](!panning||!this._suppressPanLabels[role]);var isAllow=this._axisComponents[role]["isAllowAutomaticAxisLayoutToChangeOrientation"]();this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](false);this._lastAxisDrawSelectors[role].call(this._axisComponents[role]); this._axisComponents[role]["allowAutomaticAxisLayoutToChangeOrientation"](isAllow)}if(this._gridComponents[role]&&this._lastGridDrawSelectors[role])this._lastGridDrawSelectors[role].call(this._gridComponents[role])}},"preventStaggerRotate45":function(preventStaggerRotate45){this._preventStaggerRotate45=preventStaggerRotate45},drawAxis:function(position,role){var axisGroup=this._axisSelectors[position];this._lastAxisDrawSelectors[role]=axisGroup;var comp=this["axisComponent"](role);var layoutModeID= role==2?"axis.y.labels.layoutMode":role==3?"axis.y2.labels.layoutMode":"axis.x.labels.layoutMode";var allowStaggerID=role==2?"axis.y.labels.allowStagger":role==3?"axis.y2.labels.allowStagger":"axis.x.labels.allowStagger";var allowRotate45ID=role==2?"axis.y.labels.allowRotate45":role==3?"axis.y2.labels.allowRotate45":"axis.x.labels.allowRotate45";var allowRotate90ID=role==2?"axis.y.labels.allowRotate90":role==3?"axis.y2.labels.allowRotate90":"axis.x.labels.allowRotate90";var layoutMode=""+this._context.getPropertyValue(layoutModeID); var allowStagger=!this._preventStaggerRotate45&&this._context.getPropertyValue(allowStaggerID);var allowRotate45=!this._preventStaggerRotate45&&this._context.getPropertyValue(allowRotate45ID);var allowRotate90=this._context.getPropertyValue(allowRotate90ID);var textTruncateIndicator=this._context.getPropertyValue("axis.labels.truncationText");var axisBounds=this._axisRects[position];var orient=com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position];var transform=com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"](axisBounds, orient);var axisTransform="translate("+transform[0]+","+transform[1]+")";comp["scale"](this._scales[role])["setRole"](com_ibm_rave_bundles_components_AxesManager.ROLES[role])["bounds"](axisBounds)["elementRect"](this._elementRect)["orient"](orient)["layoutMode"](layoutMode)["allowStagger"](allowStagger)["allowRotate45"](allowRotate45)["allowRotate90"](allowRotate90)["setPreExecute"](this._context.getPreExecute())["textTruncateIndicator"](textTruncateIndicator);this._drawAxisLabels[role]=comp["_displayTickLabels"]; var axisGroupUpdate=axisGroup;if(this._duration>0&&!this._firstDraw&&this._lastAxisDrew[position])axisGroupUpdate=axisGroup["transition"]()["duration"](this._duration);axisGroupUpdate.attr("transform",axisTransform);axisGroupUpdate.call(comp);var dataSlotEntryList=this._dataSlotEntries[role];axisGroup.selectAll(".axis-title").property("dataSlots",dataSlotEntryList);this._lastAxisDrew[position]=comp.renderedShapes();if(this._defs){var clipAxis=new com_ibm_rave_bundles_components_ClipPathComponentImpl(this._context.instanceId()+ "clip"+orient);var text=axisGroup.append("text").text("000,000");var bbox=text.node().getBBox();var w=bbox.width;var h=bbox.height;text.remove();var clipRect;if(position==0||position==1){var leftEdge=axisBounds.x+transform[0]*-1;var rightEdge=leftEdge+axisBounds.width;if(!this._scales[role].isOrdinal()&&!this._scales[role].isClustered()){var numericLeftEdge=this._elementRect.x-w+transform[0]*-1;var numericRightEdge=numericLeftEdge+this._elementRect.width+w*2;if(numericLeftEdgerightEdge)rightEdge=numericRightEdge}clipRect=new rave["internal"]["RectStruct"](leftEdge,axisBounds.y+transform[1]*-1,rightEdge-leftEdge,axisBounds.height)}else clipRect=new rave["internal"]["RectStruct"](axisBounds.x+transform[0]*-1,this._elementRect.y-h/2+transform[1]*-1,axisBounds.width,this._elementRect.height+h);clipAxis["clipRect"](clipRect)["applyTo"](axisGroup.select(".axis."+orient)).call(this._defs)}},clearAxis:function(position){if(this._axisSelectors[position]){this._clearAxis["scale"](null); this._axisSelectors[position].call(this._clearAxis)}this._lastAxisDrew[position]=false},drawGrid:function(position,role){var gridGroup=this._gridSelectors[position];this._lastGridDrawSelectors[role]=gridGroup;var comp=this["gridComponent"](role);var axisBounds=this._axisRects[position];var orient=com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS[position];var transform=com_ibm_rave_bundles_components_AxisComponentImpl["getTranslation"](axisBounds,orient);var axisTransform="translate("+transform[0]+ ","+transform[1]+")";comp["setRole"](com_ibm_rave_bundles_components_AxesManager.ROLES[role])["orient"](orient)["setPreExecute"](this._context.getPreExecute())["bounds"](this._elementRect)["axis"](this._axisComponents[role]["axis"]());if(this._duration<=0||this._firstDraw||!this._lastAxisDrew[position])gridGroup.attr("transform",axisTransform).call(comp);else gridGroup["transition"]()["duration"](this._duration).attr("transform",axisTransform).call(comp);this._lastGridDrew[position]=comp.renderedShapes()}, clearGrid:function(position){if(this._gridSelectors[position]){this._clearGrid["axis"](null);this._gridSelectors[position].call(this._clearGrid)}this._lastGridDrew[position]=false},"visible":function(visible){this._visible=visible;return this},"duration":function(duration){this._duration=duration;return this},"transpose":function(transpose){this._transpose=transpose;return this},"swapX":function(swapX){this._swapX=swapX;return this},"swapY":function(swapY){this._swapY=swapY;return this},"scale":function(role, scale){this._scales[role]=scale;return this},"suppressPanLabels":function(role,suppressLabels){this._suppressPanLabels[role]=suppressLabels;return this},"axisComponent":function(role){if(!this._axisComponents[role])this._axisComponents[role]=new com_ibm_rave_bundles_components_AxisComponentImpl;return this._axisComponents[role]},"gridComponent":function(role){if(!this._gridComponents[role])this._gridComponents[role]=new com_ibm_rave_bundles_components_GridComponentImpl;return this._gridComponents[role]}, "defsSelector":function(defs){this._defs=com_ibm_rave_bundles_components_AxesManager.checkSelector(defs);return this},"axisSelector":function(position,axisGroup){this._axisSelectors[position]=com_ibm_rave_bundles_components_AxesManager.checkSelector(axisGroup);return this},"gridSelector":function(position,gridGroup){this._gridSelectors[position]=com_ibm_rave_bundles_components_AxesManager.checkSelector(gridGroup);return this},"elementRect":function(elementRect){com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect, elementRect);return this},"axisRect":function(position,axisRect){com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[position],axisRect);return this},"useDefaultSelectors":function(){this["defsSelector"](this._context.node.select("defs"));this["axisSelector"](0,this._context.node.select("g.axisTransform.bottom"));this["axisSelector"](1,this._context.node.select("g.axisTransform.top"));this["axisSelector"](2,this._context.node.select("g.axisTransform.left"));this["axisSelector"](3, this._context.node.select("g.axisTransform.right"));this["gridSelector"](0,this._context.node.select("g.grid.bottom"));this["gridSelector"](1,this._context.node.select("g.grid.top"));this["gridSelector"](2,this._context.node.select("g.grid.left"));this["gridSelector"](3,this._context.node.select("g.grid.right"));return this},"useBoundsFromLayout":function(layoutInfo){com_ibm_rave_bundles_components_AxesManager.setRect(this._elementRect,layoutInfo["elementRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[0], layoutInfo["bottomRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[1],layoutInfo["topRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[2],layoutInfo["leftRect"]());com_ibm_rave_bundles_components_AxesManager.setRect(this._axisRects[3],layoutInfo["rightRect"]());return this},"useDefaultX1Properties":function(setGridParameters){this["axisComponent"](0)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.x.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.x.title.text", this._dataSlotEntries[0]))["displayAxisLine"](this._context.getPropertyValue("axis.x.line.display"))["lineColor"](this._context.getPropertyValue("axis.x.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.x.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.x.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.x.labels.display"));var titleFontStyle=this._context.getPropertyValue("axis.x.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.x.labels.style.font"); if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](0)["labelStyle"](labelFontStyle);else this["axisComponent"](0)["labelStyle"](this._context.getPropertyValue("axis.x.labels.style.fill"),this._context.getPropertyValue("axis.x.labels.style.font-size"),this._context.getPropertyValue("axis.x.labels.style.font-family"));if(titleFontStyle!=null&&titleFontStyle.length>0)this["axisComponent"](0)["titleStyle"](titleFontStyle);else this["axisComponent"](0)["titleStyle"](this._context.getPropertyValue("axis.x.title.style.fill"), this._context.getPropertyValue("axis.x.title.style.font-size"),this._context.getPropertyValue("axis.x.title.style.font-family"));if(setGridParameters)this["gridComponent"](0)["displayGridlines"](this._context.getPropertyValue("axis.x.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.x.gridlines.style.stroke"),this._context.getPropertyValue("axis.x.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](0,this._context.getPropertyValue("axis.x.labels.zoomPan"));return this}, "useDefaultY1Properties":function(setGridParameters){this["axisComponent"](2)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.y.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.y.title.text",this._dataSlotEntries[2]))["displayAxisLine"](this._context.getPropertyValue("axis.y.line.display"))["lineColor"](this._context.getPropertyValue("axis.y.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.y.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.y.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.y.labels.display")); var titleFontStyle=this._context.getPropertyValue("axis.y.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.y.labels.style.font");if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](2)["labelStyle"](labelFontStyle);else this["axisComponent"](2)["labelStyle"](this._context.getPropertyValue("axis.y.labels.style.fill"),this._context.getPropertyValue("axis.y.labels.style.font-size"),this._context.getPropertyValue("axis.y.labels.style.font-family"));if(titleFontStyle!= null&&titleFontStyle.length>0)this["axisComponent"](2)["titleStyle"](titleFontStyle);else this["axisComponent"](2)["titleStyle"](this._context.getPropertyValue("axis.y.title.style.fill"),this._context.getPropertyValue("axis.y.title.style.font-size"),this._context.getPropertyValue("axis.y.title.style.font-family"));if(setGridParameters)this["gridComponent"](2)["displayGridlines"](this._context.getPropertyValue("axis.y.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.y.gridlines.style.stroke"), this._context.getPropertyValue("axis.y.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](2,this._context.getPropertyValue("axis.y.labels.zoomPan"));return this},"useDefaultY2Properties":function(setGridParameters){this["axisComponent"](3)["padding"](16)["displayAxisTitle"](this._context.getPropertyValue("axis.y2.title.display"))["axisTitle"](this._context.getDataSlotLabel("axis.y2.title.text",this._dataSlotEntries[3]))["displayAxisLine"](this._context.getPropertyValue("axis.y2.line.display"))["lineColor"](this._context.getPropertyValue("axis.y2.line.style.stroke"))["displayTicks"](this._context.getPropertyValue("axis.y2.ticks.display"))["tickColor"](this._context.getPropertyValue("axis.y2.ticks.style.stroke"))["displayTickLabels"](this._context.getPropertyValue("axis.y2.labels.display")); var titleFontStyle=this._context.getPropertyValue("axis.y2.title.style.font");var labelFontStyle=this._context.getPropertyValue("axis.y2.labels.style.font");if(labelFontStyle!=null&&labelFontStyle.length>0)this["axisComponent"](3)["labelStyle"](labelFontStyle);else this["axisComponent"](3)["labelStyle"](this._context.getPropertyValue("axis.y2.labels.style.fill"),this._context.getPropertyValue("axis.y2.labels.style.font-size"),this._context.getPropertyValue("axis.y2.labels.style.font-family"));if(titleFontStyle!= null&&titleFontStyle.length>0)this["axisComponent"](3)["titleStyle"](titleFontStyle);else this["axisComponent"](3)["titleStyle"](this._context.getPropertyValue("axis.y2.title.style.fill"),this._context.getPropertyValue("axis.y2.title.style.font-size"),this._context.getPropertyValue("axis.y2.title.style.font-family"));if(setGridParameters)this["gridComponent"](3)["displayGridlines"](this._context.getPropertyValue("axis.y2.gridlines.display"))["gridlineStyle"](this._context.getPropertyValue("axis.y2.gridlines.style.stroke"), this._context.getPropertyValue("axis.y2.gridlines.style.stroke-dasharray"));this["suppressPanLabels"](3,this._context.getPropertyValue("axis.y2.labels.zoomPan"));return this},"setTickFormatterList":function(role,entries,format,defaultFunction){var fmtRole;switch(role){case 2:fmtRole="ROLE_Y1";break;case 1:fmtRole="ROLE_X2";break;case 3:fmtRole="ROLE_Y2";break;case 0:default:fmtRole="ROLE_X1";break}var fmt=this._context.getCustomFormatterWithFlag([com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS[role], com_ibm_rave_bundles_components_AxesManager.FORMATTERS[this.roleToPosition(role)],"axis","all"],rave["library"]["internal"]["BundleContext"].makeCustomFormatInfo("axis-label",fmtRole,format,entries),defaultFunction,false);this["axisComponent"](role)["tickFormat"](fmt);var simplefmt=this._context.getCustomFormatterWithFlag([com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS[role],com_ibm_rave_bundles_components_AxesManager.FORMATTERS[this.roleToPosition(role)],"axis","all"],rave["library"]["internal"]["BundleContext"].makeCustomFormatInfo("axis-label", fmtRole,format,entries),defaultFunction,true);this["axisComponent"](role)["simplifiedTickFormat"](simplefmt);return this},"setTickFormatter":function(role,entry){var entries=[];if(entry)entries.push(entry);return this["setTickFormatterList"](role,entries,"none",null)},"setScaleRanges":function(padding,outerPadding,pixelPad){this["setIndependentScaleRanges"](padding,outerPadding,pixelPad);this["setDependentScaleRanges"](padding,outerPadding,pixelPad);return this},"setIndependentScaleRanges":function(padding, outerPadding,pixelPad){this.setScaleRangePadded(this._scales[0],false,padding,outerPadding,pixelPad);this.setScaleRangePadded(this._scales[1],false,padding,outerPadding,pixelPad);return this},"setDependentScaleRanges":function(padding,outerPadding,pixelPad){this.setScaleRangePadded(this._scales[2],true,padding,outerPadding,pixelPad);this.setScaleRangePadded(this._scales[3],true,padding,outerPadding,pixelPad);return this},setDataSlot$0:function(role,slot){this.setDataSlot$1(role,[slot]);return this}, setDataSlot$1:function(role,slots){if(role<4&&role>=0){this._dataSlotEntries[role].length=0;if(slots){var __i_enFor0=0;var __exp_enFor0=slots;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var slot=__exp_enFor0[__i_enFor0];this._dataSlotEntries[role].push(slot)}}}return this},setScaleRangePadded:function(scale,dependent,padding,outerPadding,pixelPad){if(scale){var min;var max;if(dependent==this._transpose){min=this._elementRect.x+pixelPad;max=this._elementRect.x+this._elementRect.width- pixelPad}else if(scale.isContinuous()){min=this._elementRect.y+this._elementRect.height-pixelPad;max=this._elementRect.y+pixelPad}else{min=this._elementRect.y+pixelPad;max=this._elementRect.y+this._elementRect.height-pixelPad}scale.range(min,max,padding,outerPadding)}},positionToRole:function(position){var r=position;if(this._transpose)r=(r+2)%4;if(this._swapX&&r<2)r=1-r;if(this._swapY&&r>1)r=5-r;return r},roleToPosition:function(role){var p=role;if(this._swapX&&role<2)p=1-p;if(this._swapY&&p>1)p= 5-p;if(this._transpose)p=(p+2)%4;return p},"scaleTickMagnitude":function(role,tickMagnitude){this["axisComponent"](role)["scaleTickMagnitude"](tickMagnitude);return this},"setDataSlot":function(a0,a1){var args=arguments;if(args.length==2&&typeof a1==="function")return this.setDataSlot$0(a0,a1);return this.setDataSlot$1(a0,a1)}});com_ibm_rave_bundles_components_AxesManager.checkSelector=function(s){return s&&!s.empty()?s:null};com_ibm_rave_bundles_components_AxesManager.setRect=function(target,source){if(source){target.x= source.x;target.y=source.y;target.width=source.width;target.height=source.height}else{target.x=0;target.y=0;target.width=0;target.height=0}};com_ibm_rave_bundles_components_AxesManager["percentFormat"]=function(n){var digits="."+n+"f";var format=rave.format(digits);return function(value,ix,gix){return format.call(null,value,0,0)+"%"}};com_ibm_rave_bundles_components_AxesManager.AxisLayout=rave["internal"]["Declare"]({"position":0,"score":0,"constructor":function(position,score){this["position"]=position; this["score"]=score}});com_ibm_rave_bundles_components_AxesManager["X1"]=0;com_ibm_rave_bundles_components_AxesManager["X2"]=1;com_ibm_rave_bundles_components_AxesManager["Y1"]=2;com_ibm_rave_bundles_components_AxesManager["Y2"]=3;com_ibm_rave_bundles_components_AxesManager["BOTTOM"]=0;com_ibm_rave_bundles_components_AxesManager["TOP"]=1;com_ibm_rave_bundles_components_AxesManager["LEFT"]=2;com_ibm_rave_bundles_components_AxesManager["RIGHT"]=3;com_ibm_rave_bundles_components_AxesManager.ROLES=["ROLE_X1", "ROLE_X2","ROLE_Y1","ROLE_Y2"];com_ibm_rave_bundles_components_AxesManager.ROLE_FORMATTERS=["ROLE_X1","ROLE_X2","ROLE_Y1","ROLE_Y2"];com_ibm_rave_bundles_components_AxesManager.ORIENTATIONS=["bottom","top","left","right"];com_ibm_rave_bundles_components_AxesManager.FORMATTERS=["bottom","top","left","right"];var com_ibm_rave_bundles_component_AxisComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_AxisComponent["COMPONENT_TYPE"]="AxisComponent";com_ibm_rave_bundles_component_AxisComponent["ROLE_X1"]= "ROLE_X1";com_ibm_rave_bundles_component_AxisComponent["ROLE_Y1"]="ROLE_Y1";com_ibm_rave_bundles_component_AxisComponent["ROLE_X2"]="ROLE_X2";com_ibm_rave_bundles_component_AxisComponent["ROLE_Y2"]="ROLE_Y2";var com_ibm_rave_bundles_utilities_TextCrossfader=rave["internal"]["Declare"]({});com_ibm_rave_bundles_utilities_TextCrossfader["textCrossFade"]=function(selection,oldText,newText,fillOpacity,delay){if(!selection.isTransition())return selection.text(newText);var _t=selection.tween("text",function(data, index,groupIndex){return function(t){this.rave_setText(t<0.5?oldText:newText)}});var t0=Math.max(0,Math.min(0.5,delay));if(t0==0.5||oldText==null&&newText==null||oldText!=null&&oldText==newText)return selection;var opacity=fillOpacity==null?1:+fillOpacity;var tf=1/(0.5-t0);return _t.tween("fill-opacity",function(data,index,groupIndex){return function(t){if(t<=t0||t>=1-t0)this.rave_setStyle("fill-opacity",fillOpacity);else this.rave_setStyle("fill-opacity",opacity*Math.abs(t-0.5)*tf)}})};var com_ibm_rave_bundles_utilities_BundleLabelDropper= rave["internal"]["Declare"]({labelCount:0,_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);_$self["drop"](args[0],args[1]);return null};return _$self},"constructor":function(){this._dropOverlap=rave.capabilities.extension("position")["drop"]().remove(false);this._dropOverlap.setOverlapGap(4)},"drop":function(labels,removeOverlap){if(!labels.isTransition())this.applyLabelDrop(labels,removeOverlap);else{var steps= [0,25,75];var self=this;labels.tween("__pointLabelDrop__",function(data,index,groupIndex){if(index==0)return function(t){var currentStep=Math.floor(t*100);if(steps.length>0&¤tStep<100&¤tStep>=steps[0]){steps.splice(0,1);self.applyLabelDrop(labels,removeOverlap)}};return null});this.labelCount=0;labels.each(function(data,index,groupIndex){++self.labelCount}).each("end",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(--self.labelCount==0)self.applyLabelDrop(labels, removeOverlap);return null})}},applyLabelDrop:function(labels,removeOverlap){if(removeOverlap)labels.call(this._dropOverlap);else this._dropOverlap.reset(labels)},"configureForDataLabels":function(rect){if(rect){var ex=[[rect.x,rect.y],[rect.x+rect.width,rect.y+rect.height]];this._dropOverlap.extent(ex)}this._dropOverlap.noClipping()}});com_ibm_rave_bundles_utilities_BundleLabelDropper.OVERLAP_GAP=4;var com_ibm_rave_bundles_components_StyleStructs=rave["internal"]["Declare"]({});com_ibm_rave_bundles_components_StyleStructs.ShapeStyle= function(){this._fill=null;this._stroke=null;this._strokeWidth=null};com_ibm_rave_bundles_components_StyleStructs.LineStyle=function(){this._stroke=null;this._strokeWidth=null;this._dashArray=null};var com_ibm_rave_bundles_component_GridComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_GridComponent["COMPONENT_TYPE"]="GridComponent";var com_ibm_rave_bundles_components_IntervalDataUtilities=rave["internal"]["Declare"]({});com_ibm_rave_bundles_components_IntervalDataUtilities["simpleBars"]= function(data,x,xScale,y,yStart,color,label){var result=[];if(!data||data.length==0||!x||!y)return result;data.forEach(function(d,ix,list){var xv=x(d);if(xv!=null&&(!xScale||xScale(xv)!=null)){var yv=y(d);var yvStart=!yStart?0:yStart(d);if(yv!=null&&yvStart!=null){var r=new com_ibm_rave_bundles_components_IntervalDataUtilities.IntervalData;r["key"]=ix;r["ind1"]=xv;r["ind2"]=r["ind1"];r["cind"]=r["ind1"];r["dep1"]=yvStart;r["dep2"]=yv;r["cdep"]=r["dep2"];r["color"]=color?color(d):null;r["label"]=label? label(d):null;r["value"]=r["dep2"];r["_originalData"]=d;r["valueAsPercentOfCategory"]=100;result.push(r)}}return null});var sum=0;for(var i=0;i0)percent=100*dVal/stack.positiveSum; else percent=100/stack.positiveCount;var r=new com_ibm_rave_bundles_components_IntervalDataUtilities.IntervalData;r["key"]=ix;r["ind1"]=xv;r["ind2"]=xv;r["cind"]=xv;var sum=dVal<0?stack.negativePercent:stack.positivePercent;r["dep1"]=sum;r["dep2"]=sum+percent;r["cdep"]=r["dep2"];r["color"]=color?color(d):null;r["label"]=label?label(d):null;r["value"]=dVal;r["valueAsPercentOfCategory"]=percent;r["_originalData"]=d;result.push(r);if(dVal<0)stack.negativePercent+=percent;else stack.positivePercent+= percent}}return null});else{var __i_enFor0=0;var __exp_enFor0=Object.keys(categories);for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var o$$0=__exp_enFor0[__i_enFor0];var s=""+o$$0;var sum$$0=0;for(var i=0;i0.5)if(bgHSL.getL()>0.5)return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.min(fgHSL.getL(),bgHSL.getL()-0.4));else return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.min(fgHSL.getL(),0.1));else if(bgHSL.getL()<0.5)return rave.hsl(fgHSL.getH(),fgHSL.getS(),Math.max(fgHSL.getL(),bgHSL.getL()+0.4));else return rave.hsl(fgHSL.getH(), fgHSL.getS(),Math.max(fgHSL.getL(),0.9))}return fg};com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$1=function(labelColor){var labelRGB=rave.rgb(labelColor);return labelRGB.contrastShift(21)};com_ibm_rave_bundles_utilities_ColorUtil["getContrastRatio"]=function(colorA,colorB){var foregroundLuminance=rave.rgb(colorA).getLuminance();var backgroundLuminance=rave.rgb(colorB).getLuminance();var contrastRatio=foregroundLuminance>=backgroundLuminance?(foregroundLuminance+0.05)/(backgroundLuminance+ 0.05):(backgroundLuminance+0.05)/(foregroundLuminance+0.05);return contrastRatio};com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"]=function(a0,a1){var args=arguments;if(args.length==1)return com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$1(a0);return com_ibm_rave_bundles_utilities_ColorUtil.getContrastColor$0(a0,a1)};var com_ibm_rave_bundles_component_IntervalComponent=rave["internal"]["Declare"].implement();com_ibm_rave_bundles_component_IntervalComponent["COMPONENT_TYPE"]= "IntervalComponent";var com_ibm_rave_bundles_utilities_LabelStyleUtil=rave["internal"]["Declare"]({_labelShadow:false,_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(_$self._labelFontStyle){var __i_enFor0=0;var __exp_enFor0=Object.keys(_$self._labelFontStyle);for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var stylenName=__exp_enFor0[__i_enFor0];if(stylenName=="fill"||stylenName== "color"&&_$self._labelFillColor||stylenName=="font-size"&&_$self._labelFontSize||stylenName=="text-shadow"&&_$self._labelShadow==true)continue;this.style(stylenName,_$self._labelFontStyle[stylenName])}}if(_$self._labelFillColor)this.style("fill",_$self._labelFillColor);if(_$self._labelFontSize)this.style("font-size",_$self._labelFontSize);var labels=this.selectAll("*");if(labels.length==0)labels=this;if(_$self._labelShadow){var self=_$self;var defaultLabelFill=_$self["getDefaultLabelColor"](_$self._labelFontStyle); _$self._contrastLabelColorfilter=new com_ibm_rave_bundles_components_FilterComponentImpl("contrast_label_drop_shadow");_$self._contrastLabelColorfilter["setDropshadow"]("1px","1px","0px",rave.rgb(com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](defaultLabelFill)));_$self._sameLabelColorfilter=new com_ibm_rave_bundles_components_FilterComponentImpl("same_label_drop_shadow");_$self._sameLabelColorfilter["setDropshadow"]("1px","1px","0px",rave.rgb(defaultLabelFill));var owner=this.node().rave_getOwner(); rave.select(owner).select("defs").call(_$self._contrastLabelColorfilter);rave.select(owner).select("defs").call(_$self._sameLabelColorfilter);this.each(function(data,index,groupIndex){if(self._labelFillColor){var contrastRatio=com_ibm_rave_bundles_utilities_ColorUtil["getContrastRatio"](rave.rgb(self._labelFillColor.call(this,data,index,groupIndex)),defaultLabelFill);if(contrastRatio<4.5)this.setAttribute("filter","url(#"+self._contrastLabelColorfilter["getId"]()+")");else this.setAttribute("filter", "url(#"+self._sameLabelColorfilter["getId"]()+")")}else this.setAttribute("filter","url(#"+self._contrastLabelColorfilter["getId"]()+")")});labels.each(function(data,index,groupIndex){if(self._labelFillColor)this.rave_setProperty("_rave_drop_shadow","1px 1px 0px "+com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](self._labelFillColor.call(this,data,index,groupIndex)).toString());else this.rave_setProperty("_rave_drop_shadow","1px 1px 0px "+com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](defaultLabelFill).toString())})}else{labels.each(function(data, index,groupIndex){this.rave_setProperty("_rave_drop_shadow",null)});this.attr("filter",null)}return null};return _$self},"labelFont":function(labelFontStyle){this._labelFontStyle=labelFontStyle;return this},"labelFillColor":function(_labelFillColor){this._labelFillColor=_labelFillColor;return this},"labelFontSize":function(_labelFontSize){this._labelFontSize=_labelFontSize;return this},"labelShadow":function(labelShadow){this._labelShadow=labelShadow;return this},"getDefaultLabelColor":function(_labelStyle){if(!_labelStyle)return"#000000"; var defaultFillColor;if(_labelStyle){defaultFillColor=_labelStyle["fill"];if(defaultFillColor==null)defaultFillColor=_labelStyle["color"]}if(defaultFillColor==null)defaultFillColor="#000000";return defaultFillColor.toString()}});var com_ibm_rave_bundles_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_columnBundle_ColumnBundle=rave["internal"]["Declare"](com_ibm_rave_bundles_RaveBundle,{"getName":function(){return com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME},"createView":function(ctx){return new com_ibm_rave_bundles_columnBundle_ColumnView(ctx)}}); com_ibm_rave_bundles_columnBundle_ColumnBundle["init"]=function(){if(!com_ibm_rave_library_Library.bundle.isRegistered(com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME)){var bundle;com_ibm_rave_library_Library.bundle.extension(com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME,function(){if(!bundle){bundle=new com_ibm_rave_bundles_columnBundle_ColumnBundle;bundle["loadResources"]();require("./vizlibrary-column.css")}return bundle})}return com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME}; com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME="columnBundle";com_ibm_rave_bundles_columnBundle_ColumnBundle["init"]();if(!com_ibm_rave_library_Library.bundle[com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME])com_ibm_rave_library_Library.bundle[com_ibm_rave_bundles_columnBundle_ColumnBundle.BUNDLE_NAME]=function(){if(!bundle){bundle=new com_ibm_rave_bundles_columnBundle_ColumnBundle;bundle["loadResources"]();require("./vizlibrary-column.css")}return bundle};else;var com_ibm_rave_bundles_views_AbstractColumnView= rave["internal"]["Declare"](com_ibm_rave_bundles_views_BundleView,{"datasetId":null,"_intervalComponent":null,"constructor":function(context){this["datasetId"]="data"},"setup":function(){com_ibm_rave_bundles_views_BundleView.prototype["setup"].call(this);this["_intervalComponent"]=new com_ibm_rave_bundles_components_IntervalComponentImpl;this["_intervalComponent"]["keyAccessor"](function(data){return data["key"]})["independent1Accessor"](function(data){return data["ind1"]})["independent2Accessor"](function(data){return data["ind2"]})["dependent1Accessor"](function(data){return data["dep1"]})["dependent2Accessor"](function(data){return data["dep2"]})["valueAccessor"](com_ibm_rave_bundles_components_IntervalDataUtilities["VALUE_ACCESSOR"])}, "dataValid":function(){if(!this["dataModel"].validate())return false;var dataHandling=this["getStringProperty"]("data.handling");var dataSet=this["dataModel"].dataset(this["datasetId"]);var yAccessor=dataSet.slot("y").entry();var yStart=dataSet.slot("yStart");var yStartAccessor=yStart?yStart.entry():null;if(dataHandling=="Stacked"||dataHandling=="Stacked100")if(yStartAccessor||yAccessor["type"]()=="date"){com_ibm_rave_library_Library.logError(408,"Column chart isn't stackable when ystart is defined or y is date"); return false}if(yStartAccessor&&!(yStartAccessor["type"]()==yAccessor["type"]())){com_ibm_rave_library_Library.logError(409,"y and ystart slot must have the same data type in Column data");return false}return true},"makeData":function(dataModel,_data){if(!_data||_data.length==0)return[];var dataSet=dataModel.dataset(this["datasetId"]);var xAccessor=dataSet.slot("x").entry();var yAccessor=dataSet.slot("y").entry();var colorAccessor=dataSet.slot("color").entry();var labelAccessor=dataSet.slot("label").entry(); var yStart=dataSet.slot("yStart");var yStartAccessor=yStart?yStart.entry():null;var dataHandling=this["getStringProperty"]("data.handling");if("Clustered"==dataHandling&&colorAccessor)return com_ibm_rave_bundles_components_IntervalDataUtilities["clusteredBars"](_data,[xAccessor,colorAccessor],[rave["library"]["internal"]["AbstractView"].domainCheckerOf(_data,xAccessor),rave["library"]["internal"]["AbstractView"].domainCheckerOf(_data,colorAccessor)],yAccessor,yStartAccessor,colorAccessor,labelAccessor); if("Stacked"==dataHandling)return com_ibm_rave_bundles_components_IntervalDataUtilities["stackedBars"](_data,xAccessor,rave["library"]["internal"]["AbstractView"].domainCheckerOf(_data,xAccessor),yAccessor,colorAccessor,labelAccessor,false);if("Stacked100"==dataHandling)return com_ibm_rave_bundles_components_IntervalDataUtilities["stackedBars"](_data,xAccessor,rave["library"]["internal"]["AbstractView"].domainCheckerOf(_data,xAccessor),yAccessor,colorAccessor,labelAccessor,true);return com_ibm_rave_bundles_components_IntervalDataUtilities["simpleBars"](_data, xAccessor,rave["library"]["internal"]["AbstractView"].domainCheckerOf(_data,xAccessor),yAccessor,yStartAccessor,colorAccessor,labelAccessor)},"configureDataLabels":function(dataSet,colorDataSlotEntry){if(!this["isShowDataLabels"]()){this["_intervalComponent"]["itemLabel"](false);this["_intervalComponent"]["itemLabelPosition"](null);this["_intervalComponent"]["labelFont"](null);this["_intervalComponent"]["labelAccessor"](null);this["_intervalComponent"]["labelFormatter"](null);return}var dataHandling= this["getStringProperty"]("data.handling");var isStacked=colorDataSlotEntry&&("Stacked"==dataHandling||"Stacked100"==dataHandling);var dataLabelPosition=function(data,index,groupIndex){if(isStacked)return 1;else{var iData=data;var value=+iData["value"];return value>=0?0:2}};var labelAccessor=this["getlDataLabelAccessor"](dataSet,"label",true);var labelEntry=this["getEntryForDataLabelFormatter"](dataSet,"label","y");this["_intervalComponent"]["itemLabel"](true);this["_intervalComponent"]["itemOverlap"](true); this["_intervalComponent"]["itemLabelPosition"](dataLabelPosition);var labelFontStyle=com_ibm_rave_bundles_utilities_FontPropertyParser["parseCSSFont"](this["getStringProperty"]("labelstyle.font"));if(!isStacked)labelFontStyle=this["getBackgroundConstrastLabelStyle"]();this["_intervalComponent"]["labelFont"](labelFontStyle);this["_intervalComponent"]["labelAccessor"](labelAccessor);this["_intervalComponent"]["labelContrast"](this["getBooleanProperty"]("contrast.label.color"));this["_intervalComponent"]["labelFormatter"](this.context.getCustomFormatterForElementLabels(labelEntry, dataSet.slot("label").entry()?"ROLE_NONE":"ROLE_Y1"));this["_intervalComponent"]["labelContrast"](this["getBooleanProperty"]("contrast.label.color"));this["_intervalComponent"]["labelShadow"](this["getBooleanProperty"]("label.shadow"))}});com_ibm_rave_bundles_views_AbstractColumnView["DATAMODEL_TABULAR"]="tabular";com_ibm_rave_bundles_views_AbstractColumnView["DATASET_DATA"]="data";com_ibm_rave_bundles_views_AbstractColumnView["DATASLOT_X"]="x";com_ibm_rave_bundles_views_AbstractColumnView["DATASLOT_Y"]= "y";com_ibm_rave_bundles_views_AbstractColumnView["DATASLOT_Y_START"]="yStart";com_ibm_rave_bundles_views_AbstractColumnView["DATASLOT_COLOR"]="color";com_ibm_rave_bundles_views_AbstractColumnView["DATASLOT_LABEL"]="label";var com_ibm_rave_bundles_columnBundle_ColumnView=rave["internal"]["Declare"](com_ibm_rave_bundles_views_AbstractColumnView,{_wasClustered:false,_wasStacked:false,"constructor":function(context){this["_intervalComponent"]=null;this._colorAccessor=null;this._data=null},"isAxesManagerRequired":function(){return true}, "setup":function(){com_ibm_rave_bundles_views_AbstractColumnView.prototype["setup"].call(this);var style={};style["stroke-width"]="0px";rave["library"]["internal"]["BundleUtils"].setupDefaultActions(this.context,".chart ."+"element-shape",style);this.context.actions.action("select").setOperation(rave["library"]["internal"]["OperationsUtil"].select());this.context.actions.action("deselect").setOperation(rave["library"]["internal"]["OperationsUtil"].deselect());this._colorAccessor=function(data){return data["color"]}; this._wasClustered=false;this._wasStacked=false},"draw":function(){if(this["isUpdateNothing"]())return;if(this.context.getPrerenderCallback())this.context.getPrerenderCallback()();this["preDraw"]("g.vizlibrary-column");this.setBorder("column.borderWidth","column.borderColor");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 transpose= this["getBooleanProperty"]("transpose");if(this.updateType==0){this._data=dataSet["data"]();this.intervalData=this["makeData"](this["dataModel"],this._data);this.userKey=dataSet.slot("key").entry();this.context.actions.action("deselectAll")(this.context.node.selectAll(".chart ."+"element-shape"))}var xDataSlotEntry=dataSet.slot("x").entry();var yDataSlotEntry=dataSet.slot("y").entry();var colorDataSlotEntry=dataSet.slot("color").entry();if(!colorDataSlotEntry&&yDataSlotEntry)dataSet.slot("color").overrideLabel(yDataSlotEntry["label"]()); var colorPalette=this["getPalette"]();if(colorPalette){colorPalette.setData(dataSet,"color");colorPalette.setAccessor(this._colorAccessor);colorPalette.setNullColor(this["getStringProperty"]("color.null"))}var showLegend=this["isShowLegend"]();var legendVisibilityChanged=this["_legends"]["anyVisible"]()!=showLegend;if(legendVisibilityChanged)this.updateType=1;var legendPosition=this["getLegendPosition"]();this["_legends"]["visible"](showLegend)["position"](legendPosition)["transition"](!("none"== effect),duration)["setPreExecute"](this.context.getPreExecute())["selector"](0,this.context.node.selectAll("g.legend"))["palette"](0,colorPalette)["shape"](0,"square")["title"](0,this.context.getDataSlotLabel("legend.title",colorDataSlotEntry))["titleFill"](0,this.context.getPropertyValue("legend.titlestyle.fill"))["titleFontSize"](0,this.context.getPropertyValue("legend.titlestyle.fontsize"))["titleFontFamily"](0,this.context.getPropertyValue("legend.titlestyle.fontfamily"))["setDataSlot"](0,colorDataSlotEntry); var stacked100="Stacked100"==this["getStringProperty"]("data.handling");if(this.updateType<=1){this._independentScale=this.makeIndependentScale(dataSet);this._dependentScale=this.makeDependentScale(dataSet,this.intervalData);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, xDataSlotEntry)["setDataSlot"](2,yDataSlotEntry)["useDefaultSelectors"]()["useDefaultX1Properties"](true)["useDefaultY1Properties"](true)["scaleTickMagnitude"](2,scaleDivisionY)["setTickFormatter"](0,xDataSlotEntry)["setTickFormatterList"](2,[yDataSlotEntry],stacked100?"percent":"none",stacked100?com_ibm_rave_bundles_components_AxesManager["percentFormat"](0):null);this["prepareLayoutComponent"]();this["prepareLayoutSizables"](this["_layoutComponent"],false,true,true,false,this["_legends"]["anyVisible"]()); var isLegendLeftOrRight="left"==legendPosition||"right"==legendPosition;if(isLegendLeftOrRight){this["_legends"]["preLayout"](this["_layoutComponent"],false);this["_axes"]["preLayout"](this["_layoutComponent"],false,0.1,0.05,0,0.1,0.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"]();legendPosition=this["_layoutComponent"]["legendPosition"]();this["_legends"]["position"](legendPosition); this["_axes"]["useBoundsFromLayout"](this["_layoutComponent"])["setScaleRanges"](0.1,0.05,0);if(this._independentScale){var csize=this["getCSSSizeToPixelNumber"]("column.size");this._independentScale.setWidth(csize);this._independentScale.applyWidth(this["getBooleanProperty"]("column.applysize"));this._independentScale.expandZeroExtent(false);this._independentScale.expandPixels(csize/2+1,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()}if(this._dependentScale){var domainmax=+this._dependentScale["scale"]().domain()[1];if(this["getBooleanProperty"]("axis.y.scale.includeZero"))this._dependentScale.includeZero();this._dependentScale.expandZeroExtent(true);if(this["getBooleanProperty"]("axis.y.scale.nice"))this._dependentScale.nice(scaleDivisionY);var dataHandling=this["getStringProperty"]("data.handling"); var isStacked=colorDataSlotEntry&&("Stacked"==dataHandling||"Stacked100"==dataHandling);if(this["getBooleanProperty"]("data.label.display")&&!isStacked){var niceScaleDomain=this._dependentScale["scale"]().domain();var range=this._dependentScale["scale"]().range();var dependentScaleLengthPx=Math.abs(+range[1]-+range[0]);var pixelPerUnit=dependentScaleLengthPx/Math.abs(+niceScaleDomain[1]-+niceScaleDomain[0]);var padding=Math.abs(+niceScaleDomain[1]-+domainmax)*pixelPerUnit;var paddingNeeded=20;if(transpose&& (""+domainmax).length*121)args$$0=Array.prototype.slice.call(arguments,0);self["_intervalComponent"]["specialTransition"](null);self["_chart"].selectAll("g.elements").call(self["_intervalComponent"]);self["_axes"]["redraw"](true);zoom.on("zoomend.hideLabels",function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);if(self["_axes"]["hideAnyPanZoom"]()){if(self.zoomendedTimer!=null)clearTimeout(self.zoomendedTimer); self.zoomendedTimer=setTimeout(function(){self.zoomendedTimer=null;self["_axes"]["redraw"](false)},300)}return null});return self["_chart"]})}this["resetUpdate"]();this["_chart"].selectAll(".element-shape").classed("bundle-shape",true);this["_chart"].selectAll(".legendShape").classed("bundle-shape",true);if(this.context.getPostrenderCallback())this.context.getPostrenderCallback()()},"getCoordinateScale":function(role){if("ROLE_X1"==role)return this._independentScale;if("ROLE_Y1"==role)return this._dependentScale; return null},delayFunction:function(duration,independentScale){if(duration>0&&independentScale&&this["getBooleanProperty"]("effect.delay")){var range=independentScale["scale"]().range();if(range&&range.length>1){var rmin=+range[0];var rmax=+range[range.length-1];if(rmin!=rmax){var scaling=duration/(rmax-rmin);return function(data,index,groupIndex){return(+independentScale.center(data["ind1"])-rmin)*scaling}}}}return null},makeIndependentScale:function(dataSet){var xAccessor=dataSet.slot("x").entry(); if(!xAccessor)return null;var colorAccessor=dataSet.slot("color").entry();if(colorAccessor&&"Clustered"==this["getStringProperty"]("data.handling"))return rave["library"]["internal"]["ScaleManager"].makeClusteredScale(this._data,[xAccessor,colorAccessor]);var scale=rave["library"]["internal"]["ScaleManager"].makeCoordinateScale(this._data,xAccessor);return scale},makeDependentScale:function(dataSet,data$$0){var domain=dataSet.slot("y").entry().domain();if(domain)return rave["library"]["internal"]["LinearCoordinateScale"].create(domain); var yStart=dataSet.slot("yStart").entry();var omax=rave.max(data$$0,function(data,ix,gix){var dep1=+data["dep1"];var dep2=+data["dep2"];return yStart||dep1!=0?Math.max(dep1,dep2):dep2});if(omax==null)return null;var omin=rave.min(data$$0,function(data,ix,gix){var dep1=+data["dep1"];var dep2=+data["dep2"];return yStart||dep1!=0?Math.min(dep1,dep2):dep2});var ySlot=dataSet.slot("y").entry();if("date"==ySlot["type"]())return rave["library"]["internal"]["TimeCoordinateScale"].create([new Date(omin),new Date(omax)]); else return rave["library"]["internal"]["LinearCoordinateScale"].create([omin,omax])},getSpecialTransition:function(transpose,colorAccessor){var result;var handling=this["getStringProperty"]("data.handling");var isClustered=colorAccessor&&"Clustered"==handling;var isStacked="Stacked"==handling||"Stacked100"==handling;if(this._wasClustered&&isStacked)result=transpose?"YX_CTS":"XY_CTS";else if(this._wasStacked&&isClustered)result=transpose?"XY_STC":"YX_STC";this._wasClustered=isClustered;this._wasStacked= isStacked;return result},"requireUpdate":function(property){return rave["library"]["internal"]["AbstractView"].prototype["requireUpdate"].call(this,property)},"getGroupStructure":function(){return["defs","g.vizlibrary vizlibrary-column","(","rect.background chart","g.chart","(","g.content","(","rect.background elements","g.gridlines","(","g.grid left","g.grid bottom",")","g.elements","(","g.element-group","g.element-label-group",")",")","g.axes","(","g.axes-layout","g.axisTransform left","g.axisTransform bottom", ")","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_IntervalComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_KeyedBundleComponentImpl,{_transpose:false,_itemLabel:false,_itemOverlap:true,_labelLayerClass:".element-label-group",_elementLayerClass:".element-group",_labelContrast:false,_labelShadow:false,"constructor":function(){this._dropOverlap=new com_ibm_rave_bundles_utilities_BundleLabelDropper;this._delay=function(data,index,groupIndex){return 0};this._labelFontStyle={};this._labelStyleUtil= new com_ibm_rave_bundles_utilities_LabelStyleUtil},"type":function(){return com_ibm_rave_bundles_component_IntervalComponent["COMPONENT_TYPE"]},"execute":function(g){this["preExecute"]();var elementGroupSelector=g.selectAll(this._elementLayerClass);var elementLabelGroupSelector=g.selectAll(this._labelLayerClass);if(g.classed(this._elementLayerClass)||elementGroupSelector["size"]()==0||elementLabelGroupSelector["size"]()==0){elementGroupSelector=g;elementLabelGroupSelector=g}if(!this._data||!this._independent1Accessor|| !this._independent2Accessor||!this._independentScale||!this._dependent1Accessor||!this._dependent2Accessor||!this._dependentScale){elementGroupSelector.selectAll("*").remove();elementLabelGroupSelector.selectAll("*").remove();return}var self=this;var labelText=!this._labelFormatter?function(data,index,groupIndex){if(Math.max(+self._dependentScale.upper(self._dependent1Accessor(data)),+self._dependentScale.upper(self._dependent2Accessor(data)))-Math.min(+self._dependentScale.lower(self._dependent1Accessor(data)), +self._dependentScale.lower(self._dependent2Accessor(data)))<0.001)return null;return self._labelAccessor(data)}:function(data,index,groupIndex){var v=self._labelAccessor(data);return v==null?null:self._labelFormatter.call(this,v,index,groupIndex)};var keyFunction=!this._keyAccessor?null:function(datum,ix,gix){return self._keyAccessor(datum)};var labelsOn=this._itemLabel&&this._labelAccessor;if(!labelsOn)g.selectAll("text.element-label").remove();var elementSelector=elementGroupSelector.selectAll(".element")["data"](this._data, this["getKey"]()?this["getKey"]():keyFunction);elementSelector.exit().remove();var elementEnter=elementSelector.enter().append("g").attr("class","element");elementEnter.append("rect").attr("class","element-shape").attr("x",this._specialTransition==null?this.rectangleCoord$0(true,true,true):this.rectangleCoord$0(true,false,true)).attr("width",this._specialTransition==null?this.rectangleSize(true,true,true):this.rectangleSize(true,false,true)).attr("y",this.rectangleCoord$0(false,true,true)).attr("height", 0).style("fill",this._colorPalette);if(labelsOn){var elementLabelSelector=elementLabelGroupSelector.selectAll(".element-label")["data"](this._data,this["getKey"]()?this["getKey"]():keyFunction);elementLabelSelector.exit().remove();elementLabelSelector.enter().append("text").attr("class","element-label");this.addLabels(elementLabelSelector).text(labelText)}var shapes=elementSelector.select(".element-shape");var t=rave["transition"](shapes);if(t!=shapes&&this._delay)t["delay"](this._delay);t.style("fill", this._colorPalette);this["updateBorder"](t,this._borderWidth,this._borderColor);var fontChecker=rave.capabilities.extension("fontchecker");if(this._specialTransition==null)t.attr("x",this.rectangleCoord$0(true,false,false)).attr("width",this.rectangleSize(true,false,false)).attr("y",this.rectangleCoord$0(false,false,false)).attr("height",this.rectangleSize(false,false,false));else if(this.isXYanimation())t.attr("y",this.rectangleCoord$0(false,false,false)).attr("height",this.rectangleSize(false,false, false))["transition"]().attr("x",this.rectangleCoord$0(true,false,false)).attr("width",this.rectangleSize(true,false,false));else t.attr("x",this.rectangleCoord$0(true,false,false)).attr("width",this.rectangleSize(true,false,false))["transition"]().attr("y",this.rectangleCoord$0(false,false,false)).attr("height",this.rectangleSize(false,false,false));if(this["_renderCallback"])t.call(this["_renderCallback"],"elements");if(labelsOn){var labels=g.selectAll(".element-label");var t2=rave["transition"](labels); if(fontChecker)labels.call(fontChecker);if(t2!=labels&&this._delay)t2["delay"](this._delay);t2.attr("x",this.getXPosition()).attr("dx",this.getXOffset()).attr("y",this.getYPosition()).attr("dy",this.getYOffset()).style("text-anchor",this.getAnchor());var labelColor=this["getDefaultLabelColor"](this._labelFontStyle);this._labelStyleUtil["labelFont"](this._labelFontStyle)["labelFillColor"](this._labelContrast?this.getLabelFill():function(data,index,groupIndex){return labelColor})["labelShadow"](this._labelShadow); labels.call(this._labelStyleUtil);t2.text(labelText);this._dropOverlap["configureForDataLabels"](this._bounds);t2.call(this._dropOverlap,this._itemOverlap)}},addLabels:function(s){return s.selectAll("element-label").attr("x",this.rectangleCenter(true,true,true)).attr("y",this.rectangleCenter(false,true,true)).attr("dy",".3em").style("text-anchor","middle")},getAnchor:function(){var self=this;return function(data,index,groupIndex){if(!self._transpose||!self._itemLabelPosition)return"middle";var labelPosition= self._itemLabelPosition.call(this,data,index,groupIndex);if(0==labelPosition)return"start";else if(1==labelPosition)return"middle";else return"end"}},getLabelFill:function(){var self=this;var labelColor=this["getDefaultLabelColor"](this._labelFontStyle);return function(data,index,groupIndex){if(!self._itemLabelPosition)return com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](self._colorPalette.call(this,data,index,groupIndex),labelColor).toString();var labelPosition=self._itemLabelPosition.call(this, data,index,groupIndex);if(1==labelPosition)return com_ibm_rave_bundles_utilities_ColorUtil["getContrastColor"](self._colorPalette.call(this,data,index,groupIndex),labelColor).toString();return labelColor}},getXOffset:function(){var self=this;return function(data,index,groupIndex){if(!self._transpose||!self._itemLabelPosition)return"0em";var labelPosition=self._itemLabelPosition.call(this,data,index,groupIndex);if(0==labelPosition)return".3em";else if(1==labelPosition)return"0em";else return"-.3em"}}, getYOffset:function(){var self=this;return function(data,index,groupIndex){if(self._transpose||!self._itemLabelPosition)return".3em";var labelPosition=self._itemLabelPosition.call(this,data,index,groupIndex);if(0==labelPosition)return"-.3em";else if(1==labelPosition)return".3em";else return"1.1em"}},getXPosition:function(){var self=this;return function(data,index,groupIndex){if(!self._transpose||!self._itemLabelPosition)return self.rectangleCenter(true,false,false).call(this,data,index,groupIndex); var labelPosition=self._itemLabelPosition.call(this,data,index,groupIndex);if(0==labelPosition)return self.rectangleCoord$1(true,false,false,true).call(this,data,index,groupIndex);else if(1==labelPosition)return self.rectangleCenter(true,false,false).call(this,data,index,groupIndex);else return self.rectangleCoord$1(true,false,false,false).call(this,data,index,groupIndex)}},getYPosition:function(){var self=this;return function(data,index,groupIndex){if(self._transpose||!self._itemLabelPosition)return self.rectangleCenter(false, false,false).call(this,data,index,groupIndex);var labelPosition=self._itemLabelPosition.call(this,data,index,groupIndex);if(0==labelPosition)return self.rectangleCoord$1(false,false,false,false).call(this,data,index,groupIndex);else if(1==labelPosition)return self.rectangleCenter(false,false,false).call(this,data,index,groupIndex);else return self.rectangleCoord$1(false,false,false,true).call(this,data,index,groupIndex)}},rectangleCoord$0:function(xdim,fromBase,enter){return this.rectangleCoord$1(xdim, fromBase,enter,false)},rectangleCoord$1:function(xdim,fromBase,enter,useMax){var useDependent=xdim==this._transpose;var scale=useDependent?this._dependentScale:this._independentScale;if(fromBase&&useDependent&&this._dependentScale.isLinear()){var value=scale.lower(0);return function(data,index,groupIndex){return value}}var a1=useDependent?this._dependent1Accessor:this._independent1Accessor;var a2=useDependent?this._dependent2Accessor:this._independent2Accessor;if(enter&&this.isCTShandling())return function(data, index,groupIndex){return scale.center(a1(data))};return function(data,index,groupIndex){if(useMax)return Math.max(+scale.upper(a1(data)),+scale.upper(a2(data)));else return Math.min(+scale.lower(a1(data)),+scale.lower(a2(data)))}},rectangleSize:function(xdim,fromBase,enter){var useDependent=xdim==this._transpose;var scale=useDependent?this._dependentScale:this._independentScale;if(fromBase&&useDependent&&this._dependentScale.isLinear()||enter&&this.isCTShandling())return function(data,index,groupIndex){return 0.001}; var a1=useDependent?this._dependent1Accessor:this._independent1Accessor;var a2=useDependent?this._dependent2Accessor:this._independent2Accessor;return function(data,index,groupIndex){return Math.max(0.001,Math.max(+scale.upper(a1(data)),+scale.upper(a2(data)))-Math.min(+scale.lower(a1(data)),+scale.lower(a2(data))))}},isXYanimation:function(){return"XY_CTS"==this._specialTransition||"XY_STC"==this._specialTransition},isCTShandling:function(){return"XY_CTS"==this._specialTransition||"YX_CTS"==this._specialTransition}, rectangleCenter:function(xdim,fromBase,enter){var useDependent=xdim==this._transpose;var scale=useDependent?this._dependentScale:this._independentScale;if(fromBase&&useDependent&&this._dependentScale.isLinear()){var value=scale.lower(0);return function(data,index,groupIndex){return value}}var a1=useDependent?this._dependent1Accessor:this._independent1Accessor;var a2=useDependent?this._dependent2Accessor:this._independent2Accessor;if(enter&&this.isCTShandling())return function(data,index,groupIndex){return+scale.center(a1(data))}; return function(data,index,groupIndex){var val=(Math.max(+scale.upper(a1(data)),+scale.upper(a2(data)))+Math.min(+scale.lower(a1(data)),+scale.lower(a2(data))))/2;if(isNaN(val))val=0;return val}},"data":function(data){this._data=data;return this},"keyAccessor":function(keyAccessor){this._keyAccessor=keyAccessor;return this},"independent1Accessor":function(independent1Accessor){this._independent1Accessor=independent1Accessor;return this},"independent2Accessor":function(independent2Accessor){this._independent2Accessor= independent2Accessor;return this},"independentScale":function(independentScale){this._independentScale=independentScale;return this},"dependent1Accessor":function(dependent1Accessor){this._dependent1Accessor=dependent1Accessor;return this},"dependent2Accessor":function(dependent2Accessor){this._dependent2Accessor=dependent2Accessor;return this},"dependentScale":function(dependentScale){this._dependentScale=dependentScale;return this},"colorPalette":function(colorPalette){this._colorPalette=colorPalette; return this},"labelAccessor":function(labelAccessor){this._labelAccessor=labelAccessor;return this},"labelFormatter":function(labelFormatter){this._labelFormatter=labelFormatter;return this},"transpose":function(transpose){this._transpose=transpose;return this},"itemLabel":function(itemLabel){this._itemLabel=itemLabel;return this},"itemLabelPosition":function(labelPosition){this._itemLabelPosition=labelPosition;return this},"itemOverlap":function(_itemOverlap){this._itemOverlap=_itemOverlap;return this}, "valueAccessor":function(valueAccessor){this._valueAccessor=valueAccessor;return this},"specialTransition":function(specialTransition){this._specialTransition=specialTransition;return this},"delay":function(delayFunction){this._delay=delayFunction;return this},"borderWidth":function(width){this._borderWidth=width;return this},"borderColor":function(color){this._borderColor=color;return this},"labelFont":function(labelFontStyle){this._labelFontStyle=labelFontStyle;return this},"bounds":function(bounds){this._bounds= bounds;return this},"labelLayerClassName":function(className){this._labelLayerClass=className;return this},"elementLayerClassName":function(className){this._elementLayerClass=className;return this},"labelContrast":function(labelContrast){this._labelContrast=labelContrast;return this},"labelShadow":function(labelShadow){this._labelShadow=labelShadow;return this},rectangleCoord:function(a0,a1,a2,a3){var args=arguments;if(args.length==3)return this.rectangleCoord$0(a0,a1,a2);return this.rectangleCoord$1(a0, a1,a2,a3)}});com_ibm_rave_bundles_components_IntervalComponentImpl["LABEL_POSITION_TOP"]=0;com_ibm_rave_bundles_components_IntervalComponentImpl["LABEL_POSITION_CENTER"]=1;com_ibm_rave_bundles_components_IntervalComponentImpl["LABEL_POSITION_BOTTOM"]=2;var com_ibm_rave_bundles_components_FilterComponentImpl=rave["internal"]["Declare"](com_ibm_rave_bundles_components_BundleComponentImpl,{offset_x:0,offset_y:0,blur_radius:0,"constructor":function(id){this._id=id},"setDropshadow":function(offset_x,offset_y, radius,rgb){this.offset_x=this.getValue(offset_x);this.offset_y=this.getValue(offset_y);this.blur_radius=this.getValue(radius);this["color"]=rgb},getValue:function(s){if(s==null)return 0;return+s.substring(0,s.length-2)},"execute":function(g){var s=g.selectAll("#"+this._id)["data"]([0]);var filter=s.enter().append("filter").attr("id",this._id).attr("height","500%").attr("width","500%");filter.append("feGaussianBlur").attr("in","SourceAlpha");filter.append("feOffset").attr("result","offsetBlur");filter.append("feFlood"); filter.append("feComposite").attr("in2","offsetBlur").attr("operator","in");var merge=filter.append("feMerge");merge.append("feMergeNode");merge.append("feMergeNode").attr("in","SourceGraphic");s.select("feGaussianBlur").attr("stdDeviation",this.blur_radius);s.select("feOffset").attr("dx",this.offset_x).attr("dy",this.offset_y);s.select("feFlood").attr("flood-color",!this["color"]?"black":this["color"])},"type":function(){return"FilterComponent"},"getId":function(){return this._id}})})(); },{"./configuration/configuration.json":1,"./i18n/messages_en.json":2,"./vizlibrary-column.css":4,"./vizlibrary.css":5}],4:[function(require,module,exports){ var css = ".vizlibrary-column .element-group .element-shape {\n fill: #ccc;\n fill-opacity: 1.0;\n stroke: white;\n stroke-width: 0.0px;\n shape-rendering: crispEdges;\n}\n.vizlibrary-column .element-shape.dim {\n fill-opacity: 0.3;\n stroke-width: 0.0px;\n}\n.vizlibrary-column .element-label {\n pointer-events: none;\n}\n"; (require("browserify-css").createStyle(css, { "href": "dist/bundles/rave-library-column/node/rave-library-column/vizlibrary-column.css"})); module.exports = css; },{"browserify-css":6}],5:[function(require,module,exports){ var css = ".vizlibrary {\n font-family: Arial, Tahoma, 'Arial Unicode MS', 'Andale WT', 'MS UI Gothic', Gulim, SimSun, PMingLiU, Raghu8, sans-serif;\n font-style: normal;\n}\n/*\n * Chart background rectangle, transparent\n */\n.vizlibrary rect.background.elements {\n fill-opacity: 0.0;\n}\n/*\n * Axes.\n */\n.vizlibrary .axis .tick text {\n font-weight: 300;\n font-size: 14px;\n fill: #3c4646;\n}\n.vizlibrary .axis .tick line {\n fill: none;\n stroke: #eee;\n}\n.vizlibrary .axis path {\n fill: none;\n stroke: #eee;\n}\n/*Axis title\n*/\n.vizlibrary .axis .axislabel {\n font-weight: 500;\n font-size: 14px;\n fill: #323c3c;\n}\n/*\n * Axis callout.\n */\n.vizlibrary .axis-callout {\n pointer-events: none;\n /* Prevent the callout lines from intercepting mouseover events on the element shapes */\n}\n.vizlibrary .callout line {\n stroke: #3c4646;\n stroke-dasharray: 5,5;\n}\n.vizlibrary .callout .label path {\n fill: #3c4646;\n stroke-width: 0px;\n}\n.vizlibrary .callout .label text {\n font-weight: 300;\n font-size: 14px;\n fill: white;\n}\n/*Grid lines*/\n.vizlibrary g.grid g.tick {\n stroke: #dfe9e9;\n stroke-width: 1px;\n}\n/*Legend title*/\n.vizlibrary .legendTitle {\n font-weight: 500;\n font-size: 18px;\n fill: #323c3c;\n}\n/*Legend label*/\n.vizlibrary .legendLabel {\n font-weight: 300;\n font-size: 14px;\n fill: #3c4646;\n}\n.vizlibrary .legendBBox {\n pointer-events: none;\n}\n"; (require("browserify-css").createStyle(css, { "href": "dist/bundles/rave-library-column/node/rave-library-column/vizlibrary.css"})); module.exports = css; },{"browserify-css":6}],6:[function(require,module,exports){ 'use strict'; // For more information about browser field, check out the browser field at https://github.com/substack/browserify-handbook#browser-field. module.exports = { // Create a tag with optional data attributes createLink: function(href, attributes) { var head = document.head || document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = href; link.rel = 'stylesheet'; for (var key in attributes) { if ( ! attributes.hasOwnProperty(key)) { continue; } var value = attributes[key]; link.setAttribute('data-' + key, value); } head.appendChild(link); }, // Create a