rave-legends.min.js 83 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. (function(global,factory){var _rave;if(typeof module==="object"&&typeof module.exports==="object"&&typeof require=="function"){var rave$$0=require("rave");require("rave-utilities");require("rave-layouts");var navigation=factory(global,rave$$0);module.exports=rave$$0}else if(typeof define==="function"&&define.amd)define(["rave","rave-utilities","rave-layouts"],function(rave){return factory(global,rave)});else factory(global,global["rave"])})((1,eval)("this"),function(_global,_rave){(function(){var $=
  2. {};var global=typeof _global!=="undefined"?_global:(1,eval)("this");var rave=typeof _rave!=="undefined"?_rave:global["rave"];com_ibm_rave_core_Rave=rave;rave["internal"]["Declare"]=rave["_"]["com_ibm_rave_core_nativeImpl_Declare"];var com_ibm_rave_ext_legend_RaveLegend=rave["internal"]["Declare"]({"swatch":function(){return new com_ibm_rave_ext_legend_swatch_SwatchLegend},"continuous":function(){return new com_ibm_rave_ext_legend_continuous_ContinuousLegend},"nestedSize":function(){return new com_ibm_rave_ext_legend_size_NestedSizeLegend}});
  3. com_ibm_rave_ext_legend_RaveLegend.getRegistrationStatus=function(){var registrationStatus=rave["internal"]["RaveContextManager"].INSTANCE.getRaveContext()["getData"]("RAVELEGEND_EXTENSION_REGISTRATION_STATUS_KEY");if(!registrationStatus){registrationStatus=new com_ibm_rave_ext_legend_RaveLegend.RegistrationStatus;rave["internal"]["RaveContextManager"].INSTANCE.getRaveContext().putData("RAVELEGEND_EXTENSION_REGISTRATION_STATUS_KEY",registrationStatus)}return registrationStatus};com_ibm_rave_ext_legend_RaveLegend["init"]=
  4. function(){var registrationStatus=com_ibm_rave_ext_legend_RaveLegend.getRegistrationStatus();if(!registrationStatus.registered)registrationStatus.registered=rave.capabilities.extension("legend",function(){return new com_ibm_rave_ext_legend_RaveLegend});return registrationStatus.registered};com_ibm_rave_ext_legend_RaveLegend.RegistrationStatus=rave["internal"]["Declare"]({registered:false});com_ibm_rave_ext_legend_RaveLegend["LEGEND"]="legend";com_ibm_rave_ext_legend_RaveLegend["init"]();if(!rave.capabilities["legend"])rave.capabilities["legend"]=
  5. function(){return new com_ibm_rave_ext_legend_RaveLegend};else;var com_ibm_rave_ext_legend_AbstractLegend=rave["internal"]["Declare"]({"_extraLegendEntries":null,_reverse:false,_minDataLen:0,"_spaceUsed":0,_$functionClassMethod:function(){var _$self=function(args){if(args!==null||arguments.length>1)args=Array.prototype.slice.call(arguments,0);_$self["legend"](args[0]);return null};return _$self},"constructor":function(){this._orient="vertical";this._labelPadding=3;this._scaleArguments=com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_SCALE_ARGS"];
  6. this._size=com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_LEGEND_SIZE"];this._labelTruncationText="...";this._titleAlignment="middle";this._titleInsets=com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];this._entryInsets=com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];this._legendInsets=com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];this["_extraLegendEntries"]=rave.map()},"extraLegendEntries":function(){return this["_extraLegendEntries"]},minDataLen$0:function(){return this._minDataLen},
  7. minDataLen$1:function(minDataLen){this._minDataLen=minDataLen},scale$0:function(scale){this._scale=scale;return this},scale$1:function(){return this._scale},orient$0:function(orientation){if("horizontal"==orientation||"vertical"==orientation)this._orient=orientation;else this._orient="vertical";return this},orient$1:function(){return this._orient},title$0:function(){return this._title},title$1:function(t){this._title=t;return this},size$0:function(){return this._size},size$1:function(t){this._size=
  8. t;return this},scaleArguments$0:function(scaleArgs){if(scaleArgs!==null||arguments.length>1)scaleArgs=Array.prototype.slice.call(arguments);this._scaleArguments=scaleArgs;return this},scaleArguments$1:function(){return this._scaleArguments},dataValues$0:function(values){this._dataValues=values;return this},dataValues$1:function(){return this._dataValues},labelFormat$0:function(format){this._labelFormat=format;return this},labelFormat$1:function(valueFunction){this._labelFormat=valueFunction;return this},
  9. labelFormat$2:function(){return this._labelFormat},labelPadding$0:function(padding){this._labelPadding=padding;return this},labelPadding$1:function(){return this._labelPadding},borderColor$0:function(){return this._legendBorderColor},borderColor$1:function(borderColor){this._legendBorderColor=borderColor;return this},shapeBorderColor$0:function(){return this._shapeBorderColor},shapeBorderColor$1:function(shapeBorderColor){this._shapeBorderColor=shapeBorderColor;return this},backgroundColor$0:function(){return this._legendBackgroundColor},
  10. backgroundColor$1:function(backgroundColor){this._legendBackgroundColor=backgroundColor;return this},titleAlignment$0:function(){return this._titleAlignment},titleAlignment$1:function(titleAlignment){if("start"==titleAlignment||"middle"==titleAlignment||"end"==titleAlignment)this._titleAlignment=titleAlignment;else this._titleAlignment="middle";return this},titleInsets$0:function(){return this._titleInsets},titleInsets$1:function(titleInsets){this._titleInsets=titleInsets?this.sanitizeInsets(titleInsets):
  11. com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];return this},titleFill$0:function(){return this._titleFill},titleFill$1:function(f){this._titleFill=f;return this},titleFontSize$0:function(){return this._titleFontSize},titleFontSize$1:function(s){this._titleFontSize=s;return this},titleFontFamily$0:function(){return this._titleFontFamily},titleFontFamily$1:function(f){this._titleFontFamily=f;return this},entryInsets$0:function(){return this._entryInsets},entryInsets$1:function(entryInsets){this._entryInsets=
  12. entryInsets?this.sanitizeInsets(entryInsets):com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];return this},insets$0:function(){return this._legendInsets},insets$1:function(legendInsets){this._legendInsets=legendInsets?this.sanitizeInsets(legendInsets):com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"];return this},sanitizeInsets:function(legendInsets){legendInsets["top"]=typeof legendInsets["top"]==="number"||legendInsets["top"]instanceof Number?legendInsets["top"]:com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"]["top"];
  13. legendInsets["bottom"]=typeof legendInsets["bottom"]==="number"||legendInsets["bottom"]instanceof Number?legendInsets["bottom"]:com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"]["bottom"];legendInsets["left"]=typeof legendInsets["left"]==="number"||legendInsets["left"]instanceof Number?legendInsets["left"]:com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"]["left"];legendInsets["right"]=typeof legendInsets["right"]==="number"||legendInsets["right"]instanceof Number?legendInsets["right"]:
  14. com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"]["right"];return legendInsets},reverse$0:function(){return this._reverse},labelTruncationText$0:function(){return this._labelTruncationText},labelTruncationText$1:function(labelTruncationText){this._labelTruncationText=labelTruncationText;return this},truncationIndicator$0:function(){return this._legendTruncationIndicator},truncationIndicator$1:function(legendTruncationIndicator){this._legendTruncationIndicator=legendTruncationIndicator;return this},
  15. reverse$1:function(reverse){this._reverse=reverse;return this},addTruncationIndicator$0:function(gSelection,titleVerticalShift,availableWidth,availableHeight,textFlow){var midHorizontalPoint=(this["size"]()[0]-(this["insets"]()["left"]+this["insets"]()["right"]))/2+this["insets"]()["left"];return this.addTruncationIndicator$1(gSelection.append("g").attr("class","legendTruncationEntry"),midHorizontalPoint,titleVerticalShift-this["insets"]()["bottom"]+3,availableWidth+this["entryInsets"]()["left"]+
  16. this["entryInsets"]()["right"],availableHeight+this["entryInsets"]()["top"]+this["entryInsets"]()["bottom"]-3,textFlow,true)},addTruncationIndicator$1:function(truncationSelector,midHorizontalPoint,y,availableWidth,availableHeight,textFlow,transform){var truncationSymbol=this["getLegendTruncationIndicatorShapeSymbol"]();var truncationText=this["getLegendTruncationIndicatorText"]();var shapeWidth=0;if(truncationSymbol){var shape=truncationSelector.append("path").attr("class","legendTruncationShape").attr("d",
  17. truncationSymbol);var shapeColor=this["getLegendTruncationIndicatorShapeColor"]();if(shapeColor)shape.style("fill",shapeColor);else shape.style("fill-opacity",0);var borderColor=this["getLegendTruncationIndicatorShapeBorderColor"]();if(borderColor)shape.attr("stroke",borderColor);var shapeBbox=shape.node().getBBox();shapeWidth=shapeBbox.width;shape.attr("transform","translate("+shapeWidth/2+",0)")}var text=truncationSelector.append("text").attr("class","legendTruncationLabel").text(truncationText);
  18. textFlow.wrap(true);textFlow.extent(~~(availableWidth-shapeWidth-3),~~availableHeight);textFlow.flow(text);var textX=truncationSymbol?3+shapeWidth:0;text.attr("text-anchor","start").attr("x",textX).attr("dy",this["getTextDyPlacement"](text.node()));text.selectAll("tspan").attr("x",textX).attr("width",null);text.select("tspan").attr("x",null).attr("dy",null);var trunctationBBox=truncationSelector.node().getBBox();if(trunctationBBox.height>availableHeight||trunctationBBox.width>availableWidth)if(truncationSymbol){truncationSelector.select("path").remove();
  19. trunctationBBox=truncationSelector.node().getBBox();if(trunctationBBox.height>availableHeight||trunctationBBox.width>availableWidth){truncationSelector.remove();return null}text.attr("x",0);text.selectAll("tspan").attr("x",0);text.select("tspan").attr("x",null)}else{truncationSelector.remove();return null}if(transform)truncationSelector.attr("transform","translate("+(midHorizontalPoint-trunctationBBox.width/2)+","+y+")");return truncationSelector},"getLegendTruncationIndicatorShapeSymbol":function(){if(this._legendTruncationIndicator)if(this._legendTruncationIndicator["shape"]){var size=
  20. this._legendTruncationIndicator["shapeSize"]?+this._legendTruncationIndicator["shapeSize"]:400;var shapeSymbol;if(typeof this._legendTruncationIndicator["shape"]==="function")shapeSymbol=this._legendTruncationIndicator["shape"]["size"](size);else shapeSymbol=rave.svg.symbol()["size"](size).type(this._legendTruncationIndicator["shape"]);return shapeSymbol}return null},"getLegendTruncationIndicatorShapeColor":function(){if(this._legendTruncationIndicator)if(this._legendTruncationIndicator["shape"])return this._legendTruncationIndicator["shapeColor"]?
  21. rave.rgb(this._legendTruncationIndicator["shapeColor"]).toString():null;return null},"getLegendTruncationIndicatorShapeBorderColor":function(){if(this._legendTruncationIndicator)if(this._legendTruncationIndicator["shape"])return this._legendTruncationIndicator["shapeBorderColor"]?rave.rgb(this._legendTruncationIndicator["shapeBorderColor"]).toString():null;return null},"getLegendTruncationIndicatorText":function(){if(this._legendTruncationIndicator)return this._legendTruncationIndicator["text"]?this._legendTruncationIndicator["text"]:
  22. null;return"..."},"prepareLegendGroup":function(context){var gSelection=rave.select(context);gSelection.selectAll(".legendGroup").remove();gSelection=gSelection.append("g").attr("class","legendGroup");return gSelection},"getTextDyPlacement":function(node){var numChildren=node.rave_getChildNodes().length;if(numChildren<2)return".35em";if(numChildren==2)return"-"+(1-1)/2+"em";var spacing=(numChildren-1)*(1-1);var dy=numChildren*0.7-0.35;var placement=(dy+spacing)/2;return"-"+placement+"em"},"getLabelFormat":function(){var labelFormat=
  23. this._labelFormat;if(labelFormat==null)labelFormat=com_ibm_rave_ext_legend_AbstractLegend["_IDENTITY_FN"];return labelFormat},"prepareLegendTitle":function(gSelection,textFlow){this["_spaceUsed"]=0;if(this._title){var titleSelector=gSelection.append("text").attr("class","legendTitle").text(this._title).style("font-size",this._titleFontSize).style("font-family",this._titleFontFamily).style("fill",this._titleFill);var vertical=this._legendInsets["top"]+this._titleInsets["top"]+this._legendInsets["bottom"]+
  24. this._titleInsets["bottom"];var availableHeight=this._size[1]-vertical;var left=this._titleInsets["left"]+this._legendInsets["left"];var right=this._titleInsets["right"]+this._legendInsets["right"];var availableWidth;if("start"==this._titleAlignment)availableWidth=this._size[0]-left-this._legendInsets["right"];else if("middle"==this._titleAlignment)availableWidth=this._size[0]-(this._legendInsets["left"]+this._legendInsets["right"]);else availableWidth=this._size[0]-right-this._legendInsets["left"];
  25. if(availableHeight<=4||availableWidth<=4){titleSelector.remove();return titleSelector}textFlow.extent(~~availableWidth,~~availableHeight);textFlow.flow(titleSelector);titleSelector.attr("dy",".7em").attr("text-anchor",this._titleAlignment);var titleBbox=titleSelector.node().getBBox();if(titleBbox.height>availableHeight||titleBbox.width>availableWidth){titleSelector.text("...");titleBbox=titleSelector.node().getBBox();if(titleBbox.height<=availableHeight&&titleBbox.width<=availableWidth){if(this._orient==
  26. "vertical")this["_spaceUsed"]=titleBbox.width+this._titleInsets["left"]+this._titleInsets["right"];else this["_spaceUsed"]=titleBbox.height+this._titleInsets["top"]+this._titleInsets["bottom"];titleSelector.remove();var titleTruncationSelector=gSelection.append("text").attr("class","legendTruncationTitle").text("...").attr("y",this._legendInsets["top"]+this._titleInsets["top"]).attr("dy",".7em").attr("text-anchor","middle").attr("x",this._legendInsets["left"]+this._titleInsets["left"]+availableWidth/
  27. 2);return titleTruncationSelector}titleSelector.remove()}else if(this._orient=="vertical")this["_spaceUsed"]=titleBbox.width+this._titleInsets["left"]+this._titleInsets["right"];else this["_spaceUsed"]=titleBbox.height+this._titleInsets["top"]+this._titleInsets["bottom"];return titleSelector}return null},"calculateTitleVerticalShift":function(titleSelector){var titleHeight=0;var top=this._legendInsets["top"];var bottom=this._legendInsets["bottom"];if(titleSelector){bottom+=this._titleInsets["bottom"];
  28. top+=this._titleInsets["top"];titleSelector.attr("y",top);var node=titleSelector.node();var titleBBox=node.getBBox();titleHeight=titleBBox.height}return top+bottom+titleHeight},alignTitleHorizontally$0:function(titleSelector){if(titleSelector){var left=this._titleInsets["left"]+this._legendInsets["left"];var right=this._titleInsets["right"]+this._legendInsets["right"];var x;if("start"==this._titleAlignment)x=left;else if("middle"==this._titleAlignment)x=this._size[0]/2;else x=this._size[0]-right;
  29. titleSelector.attr("x",x);titleSelector.selectAll("tspan").attr("x",x).attr("width",null);titleSelector.select("tspan").attr("x",null).attr("dy",null)}},alignTitleHorizontally$1:function(titleSelector,width){if(titleSelector){var x;if("start"==this._titleAlignment)x=this._titleInsets["left"]+this._legendInsets["left"];else if("end"==this._titleAlignment){var diff=this["size"]()[0]-width;if(diff>this._titleInsets["right"]+this._legendInsets["right"])x=width;else x=width+(diff-(this._titleInsets["right"]+
  30. this._legendInsets["right"]))}else x=width/2+this._legendInsets["left"];titleSelector.attr("x",x);titleSelector.selectAll("tspan").attr("x",x).attr("width",null);titleSelector.select("tspan").attr("x",null).attr("dy",null)}},"createTextFlowComponent":function(){var textFlow=rave.capabilities.extension("textflow");textFlow.wrap(true).spacing(1).truncate(true).dropTextOnFail(false).textTruncateIndicator(this["labelTruncationText"]());return textFlow},"prepareLegendBounds":function(gSelection){var legendBounds=
  31. gSelection.append("rect").attr("class","legendBBox").attr("width",this._size[0]).attr("height",this._size[1]);if(this._legendBorderColor)legendBounds.attr("stroke",rave.rgb(this._legendBorderColor).toString());if(this._legendBackgroundColor)legendBounds.style("fill",rave.rgb(this._legendBackgroundColor).toString());else legendBounds.style("fill-opacity",0)},"getDataFromScale":function(){if(!this._scale)return null;var ticksData;if(this._scale.ticksInRange)ticksData=this._scale.ticksInRange();if(!ticksData||
  32. ticksData.length==0)if(this._scale.ticks)ticksData=this._scale.ticks.apply(this._scale.ticks,this._scaleArguments);if(!ticksData||ticksData.length==0)ticksData=this._scale.domain();return ticksData},"getData":function(){var ticksData=this._dataValues;if(!ticksData)ticksData=this["getDataFromScale"]();if(!ticksData||ticksData.length<this._minDataLen)return null;var ticksDataClone=[];for(var i=0;i<ticksData.length;++i)ticksDataClone.push(ticksData[i]);if(this._reverse)ticksDataClone["reverse"]();return ticksDataClone},
  33. "legend":function(g){},"extraEntry":function(label){var ele=new com_ibm_rave_ext_legend_ExtraLegendEntry;if(label!=null){var extraEntryLabel=label.toString();if(extraEntryLabel.replace(new RegExp("\\s+","g"),"").length>0)this["_extraLegendEntries"].set(extraEntryLabel,ele)}return ele},"clearExtraLegendEntries":function(){var extraEntryKeys=this["_extraLegendEntries"].keys();var __i_enFor0=0;var __exp_enFor0=extraEntryKeys;for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var key=
  34. __exp_enFor0[__i_enFor0];this["_extraLegendEntries"].remove(key)}},"getUsedSize":function(){if(this._orient=="vertical")return this["_spaceUsed"]+this._legendInsets["left"]+this._legendInsets["right"]+2;return this["_spaceUsed"]+this._legendInsets["top"]+this._legendInsets["bottom"]+2},"minDataLen":function(a0){var args=arguments;if(args.length==0)return this.minDataLen$0();return this.minDataLen$1(a0)},"scale":function(a0){var args=arguments;if(args.length==0)return this.scale$1();return this.scale$0(a0)},
  35. "orient":function(a0){var args=arguments;if(args.length==0)return this.orient$1();return this.orient$0(a0)},"title":function(a0){var args=arguments;if(args.length==0)return this.title$0();return this.title$1(a0)},"size":function(a0){var args=arguments;if(args.length==0)return this.size$0();return this.size$1(a0)},"scaleArguments":function(a0){var args=arguments;if(args.length==0)return this.scaleArguments$1();return this.scaleArguments$0.apply(this,args)},"dataValues":function(a0){var args=arguments;
  36. if(args.length==0)return this.dataValues$1();return this.dataValues$0(a0)},"labelFormat":function(a0){var args=arguments;if(args.length==0)return this.labelFormat$2();if(args.length==1&&(a0==null||typeof a0==="string"))return this.labelFormat$0(a0);return this.labelFormat$1(a0)},"labelPadding":function(a0){var args=arguments;if(args.length==0)return this.labelPadding$1();return this.labelPadding$0(a0)},"borderColor":function(a0){var args=arguments;if(args.length==0)return this.borderColor$0();return this.borderColor$1(a0)},
  37. "shapeBorderColor":function(a0){var args=arguments;if(args.length==0)return this.shapeBorderColor$0();return this.shapeBorderColor$1(a0)},"backgroundColor":function(a0){var args=arguments;if(args.length==0)return this.backgroundColor$0();return this.backgroundColor$1(a0)},"titleAlignment":function(a0){var args=arguments;if(args.length==0)return this.titleAlignment$0();return this.titleAlignment$1(a0)},"titleInsets":function(a0){var args=arguments;if(args.length==0)return this.titleInsets$0();return this.titleInsets$1(a0)},
  38. "titleFill":function(a0){var args=arguments;if(args.length==0)return this.titleFill$0();return this.titleFill$1(a0)},"titleFontSize":function(a0){var args=arguments;if(args.length==0)return this.titleFontSize$0();return this.titleFontSize$1(a0)},"titleFontFamily":function(a0){var args=arguments;if(args.length==0)return this.titleFontFamily$0();return this.titleFontFamily$1(a0)},"entryInsets":function(a0){var args=arguments;if(args.length==0)return this.entryInsets$0();return this.entryInsets$1(a0)},
  39. "insets":function(a0){var args=arguments;if(args.length==0)return this.insets$0();return this.insets$1(a0)},"reverse":function(a0){var args=arguments;if(args.length==0)return this.reverse$0();return this.reverse$1(a0)},"labelTruncationText":function(a0){var args=arguments;if(args.length==0)return this.labelTruncationText$0();return this.labelTruncationText$1(a0)},"truncationIndicator":function(a0){var args=arguments;if(args.length==0)return this.truncationIndicator$0();return this.truncationIndicator$1(a0)},
  40. "addTruncationIndicator":function(a0,a1,a2,a3,a4,a5,a6){var args=arguments;if(args.length==5)return this.addTruncationIndicator$0(a0,a1,a2,a3,a4);return this.addTruncationIndicator$1(a0,a1,a2,a3,a4,a5,a6)},"alignTitleHorizontally":function(a0,a1){var args=arguments;if(args.length==1)return this.alignTitleHorizontally$0(a0);return this.alignTitleHorizontally$1(a0,a1)}});com_ibm_rave_ext_legend_AbstractLegend.createDefaultInsets=function(){var result={};result["top"]=3;result["left"]=3;result["bottom"]=
  41. 3;result["right"]=3;return result};com_ibm_rave_ext_legend_AbstractLegend["EM_1"]="1em";com_ibm_rave_ext_legend_AbstractLegend["EM_07"]=".7em";com_ibm_rave_ext_legend_AbstractLegend["EM_035"]=".35em";com_ibm_rave_ext_legend_AbstractLegend["EM_0"]="0em";com_ibm_rave_ext_legend_AbstractLegend["HORIZONTAL_ORIENT"]="horizontal";com_ibm_rave_ext_legend_AbstractLegend["VERTICAL_ORIENT"]="vertical";com_ibm_rave_ext_legend_AbstractLegend["START_ALIGN"]="start";com_ibm_rave_ext_legend_AbstractLegend["MIDDLE_ALIGN"]=
  42. "middle";com_ibm_rave_ext_legend_AbstractLegend["END_ALIGN"]="end";com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_TRUNCATION_TEXT"]="...";com_ibm_rave_ext_legend_AbstractLegend["FONT"]="font";com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_LABEL_PADDING"]=3;com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS_VALUE"]=3;com_ibm_rave_ext_legend_AbstractLegend["MIN_TEXT_DIM"]=4;com_ibm_rave_ext_legend_AbstractLegend["LINE_SPACING_RATIO"]=1;com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_ORIENT"]=
  43. "vertical";com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_TITLE_ALIGN"]="middle";com_ibm_rave_ext_legend_AbstractLegend["LEGEND_ENTRY_CLASS_SELECTOR"]="."+"legendEntry";com_ibm_rave_ext_legend_AbstractLegend["LEGEND_GROUP_CLASS_SELECTOR"]="."+"legendGroup";com_ibm_rave_ext_legend_AbstractLegend["LEGEND_SHAPE_CLASS_SELECTOR"]="."+"legendShape";com_ibm_rave_ext_legend_AbstractLegend["LEGEND_TICK_LINE_CLASS_SELECTOR"]="."+"legendTickLine";com_ibm_rave_ext_legend_AbstractLegend["LEGEND_LABEL_CLASS_SELECTOR"]=
  44. "."+"legendLabel";com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_TRUNCATION_SHAPE_SIZE"]=20*20;com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_SCALE_ARGS"]=[5];com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_LEGEND_SIZE"]=[100,100];com_ibm_rave_ext_legend_AbstractLegend["DEFAULT_INSETS"]=com_ibm_rave_ext_legend_AbstractLegend.createDefaultInsets();com_ibm_rave_ext_legend_AbstractLegend["_IDENTITY_FN"]=function(data,index,groupIndex){return""+data};var com_ibm_rave_ext_legend_ExtraLegendEntry=rave["internal"]["Declare"]({_size:0,
  45. _colorSet:false,_sizeSet:false,_shapeSet:false,"constructor":function(){this._color=null;this._size=0;this._shape=null;this._colorSet=false;this._sizeSet=false;this._shapeSet=false},color$0:function(color){if(color!=null){this._color=color;this._colorSet=true}return this},size$0:function(size){if(size>=0){this._size=size;this._sizeSet=true}return this},shape$0:function(shape){if(shape!=null&&(shape=="square"||shape=="circle"||shape=="triangle-up"||shape=="triangle-down"||shape=="triangle-left"||shape==
  46. "triangle-right"||shape=="diamond"||shape=="cross"||shape=="horizontal-rectangle"||shape=="vertical-rectangle")){this._shape=shape;this._shapeSet=true}return this},color$1:function(){return this._color},size$1:function(){return this._size},shape$1:function(){return this._shape},"colorSet":function(){return this._colorSet},"sizeSet":function(){return this._sizeSet},"shapeSet":function(){return this._shapeSet},"color":function(a0){var args=arguments;if(args.length==0)return this.color$1();return this.color$0(a0)},
  47. "size":function(a0){var args=arguments;if(args.length==0)return this.size$1();return this.size$0(a0)},"shape":function(a0){var args=arguments;if(args.length==0)return this.shape$1();return this.shape$0(a0)}});var com_ibm_rave_ext_text_internal_wrap_TextOperation=rave["internal"]["com_ibm_rave_ext_text_internal_wrap_TextOperation"];var com_ibm_rave_ext_text_internal_wrap_TextData=rave["internal"]["com_ibm_rave_ext_text_internal_wrap_TextData"];var com_ibm_rave_ext_text_internal_wrap_FontStyleStruct=
  48. rave["internal"]["com_ibm_rave_ext_text_internal_wrap_FontStyleStruct"];var com_ibm_rave_ext_legend_swatch_SwatchLegend=rave["internal"]["Declare"](com_ibm_rave_ext_legend_AbstractLegend,{_wrapLabels:true,_rows:0,_columns:0,"constructor":function(){this._layoutMethod="grid";this["minDataLen"](1);this["shape"]("square");this["swatchSize"](400)},shape$0:function(){return this._shape},shape$1:function(shape){this._shape=shape?shape:"square";return this},swatchSize$0:function(){return this._swatchSize},
  49. swatchSize$1:function(size){this._swatchSize=size;return this},wrapLabels$0:function(){return this._wrapLabels},wrapLabels$1:function(wrapLabels){this._wrapLabels=wrapLabels;return this},rows$0:function(rows){this._rows=~~rows;return this},rows$1:function(){return this._rows},columns$0:function(columns){this._columns=~~columns;return this},columns$1:function(){return this._columns},layoutMethod$0:function(){return this._layoutMethod},layoutMethod$1:function(layoutMethod){if("packed"==layoutMethod)this._layoutMethod=
  50. "packed";else this._layoutMethod="grid";return this},getSwatchSizeFunction:function(){var swatchSizeFn;if(typeof this._swatchSize==="function")swatchSizeFn=this._swatchSize;else{var swatchSize=+this._swatchSize;swatchSizeFn=function(data,index,groupIndex){return swatchSize}}return swatchSizeFn},getShapeSymbol:function(swatchSizeFn){var shapeSymbol;if(typeof this._shape==="function")shapeSymbol=this._shape["size"](swatchSizeFn);else shapeSymbol=rave.svg.symbol()["size"](swatchSizeFn).type(this._shape);
  51. return shapeSymbol},getLegendEntrySelectors:function(gSelection,swatchsData,shapeSymbol,labelFormat){var self=this;var es=new com_ibm_rave_ext_legend_swatch_SwatchLegend.LegendEntrySelectors;if(!self["_extraLegendEntries"].empty()){var keys=self["_extraLegendEntries"].keys();for(var i=0;i<keys.length;++i)if(!(swatchsData.indexOf(keys[i])>-1))swatchsData.push(keys[i])}es.legendEntry=gSelection.selectAll(".legendEntry").data(swatchsData).enter().append("g").attr("class","legendEntry");es["shape"]=es.legendEntry.append("path").attr("class",
  52. "legendShape").attr("d",function(data,index,groupIndex){var ele=self["_extraLegendEntries"].get(data);if(ele){var extraSymbolSize=0;var extraSymbolShape=null;if(ele["sizeSet"]())extraSymbolSize=ele["size"]();else{extraSymbolSize=shapeSymbol["size"]().call(this,data,index,groupIndex);ele["size"](extraSymbolSize)}if(ele["shapeSet"]())extraSymbolShape=ele["shape"]();else{extraSymbolShape=shapeSymbol.type().call(this,data,index,groupIndex);ele["shape"](extraSymbolShape)}var extraLegendEntrySymbol=rave.svg.symbol()["size"](extraSymbolSize).type(extraSymbolShape);
  53. return extraLegendEntrySymbol.call(this,data,index,groupIndex)}return shapeSymbol.call(this,data,index,groupIndex)}).style("fill",function(data,index,groupIndex){var customColor=null;var ele=self["_extraLegendEntries"].get(data);customColor=self["scale"]().call(this,data,index,groupIndex);if(ele){if(ele["colorSet"]())return self["_extraLegendEntries"].get(data)["color"]();ele["color"](customColor)}return customColor});es.text=es.legendEntry.append("text").attr("class","legendLabel");if(typeof labelFormat===
  54. "function")es.text.text(labelFormat);else es.text.text(labelFormat);if(this["shapeBorderColor"]())es["shape"].attr("stroke",rave.rgb(this["shapeBorderColor"]()).toString());return es},getLegendEntryBBoxes:function(es){var eb=new com_ibm_rave_ext_legend_swatch_SwatchLegend.LegendEntryBBoxes;es.text.each(function(data,index,groupIndex){var labelBbox=this.getBBox();eb.labelBboxes.push(labelBbox);eb.labelTexts.push(this.rave_getText())});es["shape"].each(function(data,index,groupIndex){eb.shapeBboxes.push(this.getBBox())});
  55. return eb},createLayout:function(isHorizontal,availableWidth,availableHeight){var layout=rave.layout.extension("fill");layout.cellSize(com_ibm_rave_ext_legend_swatch_SwatchLegend._NULL_SETVALUE_FN).direction(isHorizontal?"row":"column")["size"]([availableWidth,availableHeight])["method"](this._layoutMethod).valign("start").halign("start");if("packed"==this._layoutMethod)if(isHorizontal)layout["rows"](1);else layout["columns"](1);else{if(this._rows>0)layout["rows"](this._rows);if(this._columns>0)layout["columns"](this._columns)}return layout},
  56. buildFillNodes:function(swatchPadding,eb){var entryInsets=this["entryInsets"]();var nodes=[];for(var i=0;i<eb.shapeBboxes.length;++i){var fillNode={};var shapeBbox=eb.shapeBboxes[i];var labelBbox=eb.labelBboxes[i];fillNode["height"]=Math.max(shapeBbox.height,labelBbox.height)+(entryInsets["top"]+entryInsets["bottom"]);fillNode["width"]=shapeBbox.width+labelBbox.width+entryInsets["left"]+entryInsets["right"]+swatchPadding;fillNode["data"]=i;nodes.push(fillNode)}return nodes},buildGridDescrs:function(isHorizontal,
  57. eb,swatchPadding,availableWidth,availableHeight){var entryInsets=this["entryInsets"]();var numEntries=eb.shapeBboxes.length;var fillNodes=[];for(var i=0;i<numEntries;++i){var fillNode={};var shapeBbox=eb.shapeBboxes[i];fillNode["height"]=entryInsets["top"]+entryInsets["bottom"];fillNode["width"]=shapeBbox.width+entryInsets["left"]+entryInsets["right"]+swatchPadding;fillNode["data"]=i;fillNodes.push(fillNode)}var maxRows=numEntries;var maxColumns=numEntries;var packed="packed"==this._layoutMethod;
  58. if(packed)if(isHorizontal)maxRows=1;else maxColumns=1;else{if(this._rows>0)maxRows=this._rows;if(this._columns>0)maxColumns=this._columns}if(isHorizontal){if(maxColumns>1){var calculatedMaxCol=maxColumns;var totWidth=0;var firstLabelBboxHeight=eb.labelBboxes[0].height;for(i=0;i<numEntries;++i){fillNode=fillNodes[i];totWidth+=fillNode["width"]+firstLabelBboxHeight;if(availableWidth<totWidth){calculatedMaxCol=i;break}}maxColumns=Math.min(maxColumns,calculatedMaxCol)}}else if(maxRows>1){var calculatedMaxRow=
  59. maxRows;var totHeight=0;for(i=0;i<numEntries;++i){fillNode=fillNodes[i];shapeBbox=eb.shapeBboxes[i];var labelBbox=eb.labelBboxes[i];totHeight+=fillNode["height"]+Math.max(labelBbox.height,shapeBbox.height);if(availableHeight<totHeight){calculatedMaxRow=i;break}}maxRows=Math.min(maxRows,calculatedMaxRow)}var maxNumNodes=Math.min(numEntries,maxRows*maxColumns);var maxIteration=isHorizontal?maxColumns:maxRows;var crl;var gridDescrs=[];var lastSeenNumColumns=-1;var lastSeenNumRows=-1;var largestSeenFailureIndex=
  60. 0;var numColumns;var numRows;for(i=maxIteration;i>0;--i){if(isHorizontal){numColumns=i;numRows=Math.ceil(maxNumNodes/numColumns)}else{numRows=i;numColumns=Math.ceil(maxNumNodes/numRows)}if(numColumns<=maxColumns&&numRows<=maxRows){numColumns=this.getMaxColumn(isHorizontal,maxNumNodes,numColumns,numRows);numRows=this.getMaxRow(isHorizontal,maxNumNodes,numColumns,numRows);if(numColumns!=lastSeenNumColumns||numRows!=lastSeenNumRows){crl=this.buildColumnRowLists(isHorizontal,numColumns,numRows,fillNodes,
  61. maxNumNodes,eb);lastSeenNumColumns=numColumns;lastSeenNumRows=numRows;var cellHeight=availableHeight/numRows;var cellWidth=availableWidth/numColumns;var gridDescr=this.createGridDescr(numColumns,numRows,cellHeight,cellWidth,eb,fillNodes,maxNumNodes,crl.columnListShapes,crl.rowListShapes);if(packed)gridDescrs.push(gridDescr);else if(maxNumNodes>largestSeenFailureIndex){if(gridDescr.firstFailureIndex>largestSeenFailureIndex)largestSeenFailureIndex=gridDescr.firstFailureIndex;if(gridDescr.firstFailureIndex<
  62. maxNumNodes){var rowIndex=this.determineRow(isHorizontal,gridDescr.firstFailureIndex,gridDescr.numColumns,gridDescr.numRows);var colIndex=this.determineColumn(isHorizontal,gridDescr.firstFailureIndex,gridDescr.numColumns,gridDescr.numRows);var columnListIndex=crl.columnListShapes[colIndex];labelBbox=eb.labelBboxes[columnListIndex];var colFillNode=fillNodes[columnListIndex];var minCellWidth=colFillNode["width"]+labelBbox.height;var rowListIndex=crl.rowListShapes[rowIndex];labelBbox=eb.labelBboxes[rowListIndex];
  63. shapeBbox=eb.shapeBboxes[rowListIndex];var rowFillNode=fillNodes[rowListIndex];var minCellHeight=rowFillNode["height"]+Math.max(labelBbox.height,shapeBbox.height);var gridDescr2=this.adjustFailedGridDescr(gridDescr,fillNodes,maxNumNodes,isHorizontal,eb,availableWidth,availableHeight,minCellWidth,minCellHeight,largestSeenFailureIndex);if(gridDescr2){gridDescr=gridDescr2;if(gridDescr.firstFailureIndex>largestSeenFailureIndex)largestSeenFailureIndex=gridDescr.firstFailureIndex}}if(gridDescr.firstFailureIndex>
  64. 0&&gridDescr.firstFailureIndex>=largestSeenFailureIndex)gridDescrs.push(gridDescr)}else if(maxNumNodes==gridDescr.firstFailureIndex)gridDescrs.push(gridDescr)}}}return gridDescrs},getMaxColumn:function(isHorizontal,numNodes,numCols,numRows){if(isHorizontal)if(numNodes>=numCols)return numCols;else return numNodes;return Math.ceil(numNodes/numRows)},getMaxRow:function(isHorizontal,numNodes,numCols,numRows){if(isHorizontal)return Math.ceil(numNodes/numCols);if(numNodes>=numRows)return numRows;else return numNodes},
  65. adjustFailedGridDescr:function(gridDescr,fillNodes,numNodes,isHorizontal,eb,availableWidth,availableHeight,minCellWidth,minCellHeight,largestSeenFailureIndex){var _fillNodes=fillNodes;var bestGridDescr;var lastSeenCellWidth=gridDescr.cellWidth;var lastSeenCellHeight=gridDescr.cellHeight;var increaseWidth=lastSeenCellWidth<minCellWidth;var increaseHeight=lastSeenCellHeight<minCellHeight;if(increaseWidth&&increaseHeight)return null;var minNodeCount=Math.max(2,largestSeenFailureIndex);var _numNodes=
  66. numNodes;var numRowCol;var availableLength;var lastSeenlength;var minIncrease;if(isHorizontal)if(increaseHeight){numRowCol=gridDescr.numColumns;availableLength=availableHeight;lastSeenlength=lastSeenCellHeight;minIncrease=Math.max(1,minCellHeight-lastSeenCellHeight)}else{numRowCol=1;availableLength=availableWidth;lastSeenlength=lastSeenCellWidth;minIncrease=Math.max(1,minCellWidth-lastSeenCellWidth)}else if(increaseWidth){numRowCol=gridDescr.numRows;availableLength=availableWidth;lastSeenlength=lastSeenCellWidth;
  67. minIncrease=Math.max(1,minCellWidth-lastSeenCellWidth)}else{numRowCol=1;availableLength=availableHeight;lastSeenlength=lastSeenCellHeight;minIncrease=Math.max(1,minCellHeight-lastSeenCellHeight)}_numNodes=Math.floor(availableLength/(lastSeenlength+minIncrease))*numRowCol;for(minIncrease=1;_numNodes>=minNodeCount;){var numColumns=this.getMaxColumn(isHorizontal,_numNodes,gridDescr.numColumns,gridDescr.numRows);var numRows=this.getMaxRow(isHorizontal,_numNodes,gridDescr.numColumns,gridDescr.numRows);
  68. if(numRows!=gridDescr.numRows||numColumns!=gridDescr.numColumns)if(!bestGridDescr||numRows!=bestGridDescr.numRows||numColumns!=bestGridDescr.numColumns){var cellHeight=availableHeight/numRows;var cellWidth=availableWidth/numColumns;if(cellHeight-lastSeenCellHeight>=minIncrease||cellWidth-lastSeenCellWidth>=minIncrease){lastSeenCellHeight=cellHeight;lastSeenCellWidth=cellWidth;lastSeenlength=increaseHeight?lastSeenCellHeight:lastSeenCellWidth;if(cellHeight>=minCellHeight&&cellWidth>=minCellWidth){var crl=
  69. this.buildColumnRowLists(isHorizontal,gridDescr.numColumns,gridDescr.numRows,_fillNodes,_numNodes,eb);var gridDescr2=this.createGridDescr(gridDescr.numColumns,gridDescr.numRows,cellHeight,cellWidth,eb,_fillNodes,_numNodes,crl.columnListShapes,crl.rowListShapes);if(gridDescr2.firstFailureIndex>=largestSeenFailureIndex)if(!bestGridDescr||bestGridDescr.firstFailureIndex<gridDescr2.firstFailureIndex){bestGridDescr=gridDescr2;for(var j=crl.rowListShapes.length;j<gridDescr.numRows;++j)bestGridDescr.heightAvailableForTextPerRow.push(4);
  70. for(j=crl.columnListShapes.length;j<gridDescr.numColumns;++j)bestGridDescr.widthAvailableForTextPerColumn.push(4);if(bestGridDescr.firstFailureIndex==_numNodes)return bestGridDescr;else if(bestGridDescr.firstFailureIndex>minNodeCount)minNodeCount=bestGridDescr.firstFailureIndex}}}}_numNodes=Math.floor(availableLength/(lastSeenlength+minIncrease))*numRowCol}return bestGridDescr},createGridDescr:function(numColumns,numRows,cellHeight,cellWidth,eb,fillNodes,nodeCount,columnListShapes,rowListShapes){var widthAvailableForTextPerColumn=
  71. [];var heightAvailableForTextPerRow=[];var firstFailureIndex=nodeCount;for(var j=0;j<columnListShapes.length;++j){var columnListIndex=columnListShapes[j];var labelBbox=eb.labelBboxes[columnListIndex];var colFillNode=fillNodes[columnListIndex];var widthAvailableForText=cellWidth-colFillNode["width"];if(widthAvailableForText<labelBbox.height)if(columnListIndex<firstFailureIndex)firstFailureIndex=columnListIndex;widthAvailableForTextPerColumn.push(widthAvailableForText>4?widthAvailableForText:4)}for(var k=
  72. 0;k<rowListShapes.length;++k){var rowListIndex=rowListShapes[k];var shapeBbox=eb.shapeBboxes[rowListIndex];labelBbox=eb.labelBboxes[rowListIndex];var rowFillNode=fillNodes[rowListIndex];var heightAvailableForText=cellHeight-rowFillNode["height"];if(heightAvailableForText<Math.max(labelBbox.height,shapeBbox.height))if(rowListIndex<firstFailureIndex)firstFailureIndex=rowListIndex;heightAvailableForTextPerRow.push(heightAvailableForText>4?heightAvailableForText:4)}return new com_ibm_rave_ext_legend_swatch_SwatchLegend.GridDescr(numColumns,
  73. numRows,columnListShapes.length,rowListShapes.length,firstFailureIndex,cellWidth,cellHeight,widthAvailableForTextPerColumn,heightAvailableForTextPerRow)},applyTextWrapping:function(isHorizontal,textFlow,eb,es,swatchPadding,availableWidth,availableHeight){var gridDescrs=this.buildGridDescrs(isHorizontal,eb,swatchPadding,availableWidth,availableHeight);if(gridDescrs.length>0){if(gridDescrs.length>1)gridDescrs.sort(function(obj1,obj2){var result=obj2.firstFailureIndex-obj1.firstFailureIndex;if(result==
  74. 0)if(isHorizontal)return obj2.numColumnsUsed-obj1.numColumnsUsed;else return obj2.numRowsUsed-obj1.numRowsUsed;return result});var text_operation=com_ibm_rave_ext_text_internal_wrap_TextOperation.getOperation(this._wrapLabels?1:0,this["labelTruncationText"]());text_operation.font(com_ibm_rave_ext_legend_swatch_SwatchLegend.createFontStruct(es.text.node().rave_getComputedStyles()));text_operation.em(1);var bestFailedResult=null;var bestSuccessResult=null;var numEntries=eb.shapeBboxes.length;var success;
  75. var noTruncation;for(var i=0;i<gridDescrs.length;++i){success=true;noTruncation=0;var gridDescr=gridDescrs[i];if(bestFailedResult){if(gridDescr.firstFailureIndex<bestFailedResult.gridDescr.firstFailureIndex)continue;if(gridDescr.cellHeight==bestFailedResult.gridDescr.cellHeight&&gridDescr.cellWidth==bestFailedResult.gridDescr.cellWidth)continue}var j;for(j=0;j<gridDescr.firstFailureIndex;++j){var labelBbox$$0=eb.labelBboxes[j];var rowIndex$$0=this.determineRow(isHorizontal,j,gridDescr.numColumns,
  76. gridDescr.numRows);var colIndex$$0=this.determineColumn(isHorizontal,j,gridDescr.numColumns,gridDescr.numRows);var width$$0=colIndex$$0<gridDescr.widthAvailableForTextPerColumn.length?gridDescr.widthAvailableForTextPerColumn[colIndex$$0]:4;var height=rowIndex$$0<gridDescr.heightAvailableForTextPerRow.length?gridDescr.heightAvailableForTextPerRow[rowIndex$$0]:4;if(width$$0<labelBbox$$0.height||height<labelBbox$$0.height){success=false;break}text_operation["size"](width$$0,height);text_operation.fontSize(labelBbox$$0.height);
  77. var text$$0=eb.labelTexts[j];if(text$$0.length===0){noTruncation++;break}text_operation.text(text$$0);var result$$0=text_operation();if(result$$0.lines.length==0||result$$0.clipped||result$$0.tooTall||result$$0.truncated){success=false;if(result$$0.lines.length==0)break}else noTruncation++}if(success&&gridDescr.firstFailureIndex==numEntries){bestSuccessResult=new com_ibm_rave_ext_legend_swatch_SwatchLegend.TextResult(numEntries,noTruncation,gridDescr);break}else if(!bestFailedResult||gridDescr.firstFailureIndex>
  78. bestFailedResult.gridDescr.firstFailureIndex||gridDescr.firstFailureIndex==bestFailedResult.gridDescr.firstFailureIndex&&j>bestFailedResult.entriesCount||gridDescr.firstFailureIndex==bestFailedResult.gridDescr.firstFailureIndex&&j==bestFailedResult.entriesCount&&noTruncation>bestFailedResult.noTruncation)bestFailedResult=new com_ibm_rave_ext_legend_swatch_SwatchLegend.TextResult(j,noTruncation,gridDescr)}var textResult=bestSuccessResult?bestSuccessResult:bestFailedResult;if(textResult){textFlow.wrap(this._wrapLabels);
  79. if(textResult.entriesCount>0){var self=this;es.text.each(function(data,index,groupIndex){if(index<textResult.entriesCount){var rowIndex=self.determineRow(isHorizontal,index,textResult.gridDescr.numColumns,textResult.gridDescr.numRows);var colIndex=self.determineColumn(isHorizontal,index,textResult.gridDescr.numColumns,textResult.gridDescr.numRows);var width=colIndex<textResult.gridDescr.widthAvailableForTextPerColumn.length?textResult.gridDescr.widthAvailableForTextPerColumn[colIndex]:4;var height=
  80. rowIndex<textResult.gridDescr.heightAvailableForTextPerRow.length?textResult.gridDescr.heightAvailableForTextPerRow[rowIndex]:4;textFlow.extent(~~width,~~height);textFlow.flow(rave.select(this));var text=this.rave_getText();var labelBbox=this.getBBox();eb.labelBboxes[index]=labelBbox;eb.labelTexts[index]=text}})}}return textResult}return null},layoutLegendEntries:function(isHorizontal,textFlow,eb,es,swatchPadding,availableWidth,availableHeight){var textResult=this.applyTextWrapping(isHorizontal,textFlow,
  81. eb,es,swatchPadding,availableWidth,availableHeight);var lr=new com_ibm_rave_ext_legend_swatch_SwatchLegend.LayoutResults;lr.textResult=textResult;lr.layout=this.createLayout(isHorizontal,availableWidth,availableHeight);lr.nodes=this.buildFillNodes(swatchPadding,eb);var firstFailureIndex=lr.nodes.length;var entrySpaceUsed=0;if(textResult&&!("packed"==this._layoutMethod)){var entryInsets=this["entryInsets"]();var isVertical=this["orient"]()=="vertical";var entriesCount=textResult.entriesCount;firstFailureIndex=
  82. textResult.gridDescr.firstFailureIndex;var largestWidth=-1;var largestHeight=-1;for(var i=0;i<entriesCount;++i){var node=lr.nodes[i];if(node["width"]>largestWidth){largestWidth=node["width"];if(isVertical)entrySpaceUsed=largestWidth}if(node["height"]>largestHeight){largestHeight=node["height"];if(!isVertical)entrySpaceUsed=largestHeight}}if(isVertical){entrySpaceUsed*=lr.textResult.gridDescr.numColumnsUsed;entrySpaceUsed+=entryInsets["left"]+entryInsets["right"];if(entrySpaceUsed>this["_spaceUsed"])this["_spaceUsed"]=
  83. entrySpaceUsed}else{entrySpaceUsed*=lr.textResult.gridDescr.numRowsUsed;entrySpaceUsed+=entryInsets["top"]+entryInsets["bottom"];this["_spaceUsed"]+=entrySpaceUsed}if(textResult.entriesCount==lr.nodes.length&&firstFailureIndex==lr.nodes.length)if(textResult.gridDescr.cellHeight>=largestHeight&&textResult.gridDescr.cellWidth>=largestWidth){lr.layout["rows"](lr.textResult.gridDescr.numRowsUsed);lr.layout["columns"](lr.textResult.gridDescr.numColumnsUsed)}}lr.elements=lr.layout(lr.nodes);lr.numCols=
  84. lr.layout.numberOfHorizontalCells();lr.numRows=lr.layout.numberOfVerticalCells();if(firstFailureIndex!=lr.nodes.length)if(lr.elements.length<firstFailureIndex&&!("packed"==this._layoutMethod)){var elements=lr.layout(lr.nodes.slice(0,firstFailureIndex));if(elements.length>lr.elements.length){lr.elements=elements;lr.numCols=lr.layout.numberOfHorizontalCells();lr.numRows=lr.layout.numberOfVerticalCells()}}lr.crl=this.buildColumnRowLists(isHorizontal,lr.numCols,lr.numRows,lr.elements,lr.elements.length,
  85. eb);return lr},buildColumnRowLists:function(isHorizontal,numCols,numRows,fillNodes,nodeCount,eb){var crl=new com_ibm_rave_ext_legend_swatch_SwatchLegend.ColumnRowLists;for(var i=0;i<nodeCount;++i){var node=fillNodes[i];var currentNodeIndex=node["data"];var currentColumnNumber=this.determineColumn(isHorizontal,currentNodeIndex,numCols,numRows);if(currentColumnNumber<crl.columnListShapes.length){var curColIndex=crl.columnListShapes[currentColumnNumber];var currentShape=eb.shapeBboxes[currentNodeIndex];
  86. var curColShape=eb.shapeBboxes[curColIndex];if(currentShape.width>curColShape.width)crl.columnListShapes[currentColumnNumber]=currentNodeIndex}else crl.columnListShapes[currentColumnNumber]=currentNodeIndex;var currentRowNumber=this.determineRow(isHorizontal,currentNodeIndex,numCols,numRows);if(currentRowNumber<crl.rowListShapes.length){var curRowIndex=crl.rowListShapes[currentRowNumber];currentShape=eb.shapeBboxes[currentNodeIndex];var curRowShape=eb.shapeBboxes[curRowIndex];if(currentShape.height>
  87. curRowShape.height)crl.rowListShapes[currentRowNumber]=currentNodeIndex}else crl.rowListShapes[currentRowNumber]=currentNodeIndex}return crl},handleFailedLayout:function(isHorizontal,gSelection,lr,es,eb,swatchsData,availableWidth,availableHeight,titleVerticalShift,textFlow){var removedFillNode;if(lr.elements.length>0)removedFillNode=lr.elements.pop();if(lr.elements.length==0||!removedFillNode){gSelection.selectAll(".legendEntry").remove();this["addTruncationIndicator"](gSelection,titleVerticalShift,
  88. availableWidth,availableHeight,textFlow);return false}var newSwatchsData=[];for(var i=0;i<lr.elements.length;++i)newSwatchsData[i]=swatchsData[i];es.legendEntry=gSelection.selectAll(".legendEntry").data(newSwatchsData);es.legendEntry.exit().remove();es["shape"]=es.legendEntry.select("path");es.text=es.legendEntry.select("text");lr.crl=this.buildColumnRowLists(isHorizontal,lr.numCols,lr.numRows,lr.elements,lr.elements.length,eb);lr.numCols=lr.crl.columnListShapes.length;lr.numRows=lr.crl.rowListShapes.length;
  89. var truncationSelector=gSelection.append("g").attr("class","legendTruncationEntry");var removedFillNodeIndex=lr.elements.length;var rowVal=this.determineRow(isHorizontal,removedFillNodeIndex,lr.numCols,lr.numRows);var width=availableWidth-removedFillNode["x"];var height=availableHeight-removedFillNode["y"];var midHorizontalPoint=removedFillNode["x"]+this["entryInsets"]()["left"]+this["insets"]()["left"]+width/2;var yShift;if(rowVal==0||rowVal==lr.numRows-1)yShift=removedFillNode["height"]-this["entryInsets"]()["bottom"];
  90. else yShift=removedFillNode["height"]-this["entryInsets"]()["bottom"]-this["entryInsets"]()["top"];this["addTruncationIndicator"](truncationSelector,midHorizontalPoint,removedFillNode["y"]+titleVerticalShift-this["insets"]()["bottom"]+yShift/2,width,height,textFlow,true);return true},alignLabelsShapes:function(isHorizontal,eb,es,lr,swatchPadding){var self=this;es["shape"].attr("transform",function(data,index,groupIndex){var val=self.determineColumn(isHorizontal,index,lr.numCols,lr.numRows);var shapeBbox=
  91. eb.shapeBboxes[lr.crl.columnListShapes[val]];return"translate("+shapeBbox.width/2+",0)"});es.text.each(function(data,index,groupIndex){var textSelection=rave.select(this);var val=self.determineColumn(isHorizontal,index,lr.numCols,lr.numRows);var shapeBbox=eb.shapeBboxes[lr.crl.columnListShapes[val]];var x=swatchPadding+shapeBbox.width;textSelection.attr("x",x).attr("text-anchor","start").attr("dy",self["getTextDyPlacement"](this));textSelection.selectAll("tspan").attr("x",x).attr("width",null);textSelection.select("tspan").attr("x",
  92. null).attr("dy",null)})},buildRowListFillNodes:function(isHorizontal,numCols,numRows,fillNodes){var rowListFillNodes=[];for(var i=0;i<fillNodes.length;++i){var node=fillNodes[i];var currentNodeIndex=node["data"];var currentRowNumber=this.determineRow(isHorizontal,currentNodeIndex,numCols,numRows);if(currentRowNumber<rowListFillNodes.length){var curRowIndex=rowListFillNodes[currentRowNumber];var curRowNode=fillNodes[curRowIndex];if(node["height"]>curRowNode["height"])rowListFillNodes[currentRowNumber]=
  93. currentNodeIndex}else rowListFillNodes[currentRowNumber]=currentNodeIndex}return rowListFillNodes},transformShapes:function(isHorizontal,es,lr,titleVerticalShift){var self=this;var entryInsets=this["entryInsets"]();var legendInsets=this["insets"]();var rowListFillNodes=this.buildRowListFillNodes(isHorizontal,lr.numCols,lr.numRows,lr.elements);es.legendEntry.attr("transform",function(data,index,groupIndex){var fillNode=lr.elements[index];var val=self.determineRow(isHorizontal,index,lr.numCols,lr.numRows);
  94. var nodeHeight=lr.elements[rowListFillNodes[val]]["height"];var height=nodeHeight-entryInsets["bottom"]-entryInsets["top"];var x=fillNode["x"]+entryInsets["left"]+legendInsets["left"];var y=fillNode["y"]+entryInsets["top"]+titleVerticalShift-legendInsets["bottom"]+height/2;return"translate("+x+","+y+")"})},verifyResults:function(isHorizontal,eb,lr,availableWidth,availableHeight){var columnNodesHorizontalExtent=[];for(var row=0;row<lr.numRows;++row){var column=[];columnNodesHorizontalExtent.push(column)}var firstFailure=
  95. -1;for(var i=0;i<lr.elements.length;++i){var fillNode=lr.elements[i];if(fillNode["data"]!=i){firstFailure=i;break}if(fillNode["x"]+fillNode["width"]-availableWidth>1){firstFailure=i;break}if(fillNode["y"]+fillNode["height"]-availableHeight>1){firstFailure=i;break}var colIndex=this.determineColumn(isHorizontal,i,lr.numCols,lr.numRows);var columnListIndex=lr.crl.columnListShapes[colIndex];var currentShapeBbox=eb.shapeBboxes[i];var shapeBbox=eb.shapeBboxes[columnListIndex];var width=fillNode["width"]-
  96. currentShapeBbox.width+shapeBbox.width;var horizontalExtent=fillNode["x"]+width;if(horizontalExtent-availableWidth>1){firstFailure=i;break}var rowIndex=this.determineRow(isHorizontal,i,lr.numCols,lr.numRows);var columnsPerRow=columnNodesHorizontalExtent[rowIndex];columnsPerRow.push(horizontalExtent);if(colIndex>0){var precedingNodeExtent=columnsPerRow[colIndex-1];if(precedingNodeExtent-fillNode["x"]>1){firstFailure=i;break}}}if(firstFailure!=-1){lr.elements=lr.elements.slice(0,firstFailure);lr.crl=
  97. this.buildColumnRowLists(isHorizontal,lr.numCols,lr.numRows,lr.elements,lr.elements.length,eb);lr.numCols=lr.crl.columnListShapes.length;lr.numRows=lr.crl.rowListShapes.length}},alignSwatchLegendTitleHorizontally:function(isHorizontal,titleSelector,eb,lr){if(titleSelector){var legendProperWidth=0;var lastColIndex=lr.numCols-1;var columnListIndex=lr.crl.columnListShapes[lastColIndex];var shapeBbox=eb.shapeBboxes[columnListIndex];for(var i=0;i<lr.elements.length;++i){var colIndex=this.determineColumn(isHorizontal,
  98. i,lr.numCols,lr.numRows);if(colIndex==lastColIndex){var fillNode=lr.elements[i];var currentShapeBbox=eb.shapeBboxes[i];var fillNodeWidth=fillNode["width"]-currentShapeBbox.width+shapeBbox.width;var horizontalExtent=fillNode["x"]+fillNodeWidth;if(horizontalExtent>legendProperWidth)legendProperWidth=horizontalExtent}}if(legendProperWidth>0){var titleBbox=titleSelector.node().getBBox();var w=Math.max(titleBbox.width,legendProperWidth);this["alignTitleHorizontally"](titleSelector,w)}else this["alignTitleHorizontally"](titleSelector)}},
  99. determineColumn:function(isHorizontal,index,numCols,numRows){if(isHorizontal)return index%numCols;return~~(index/numRows)},determineRow:function(isHorizontal,index,numCols,numRows){if(isHorizontal)return~~(index/numCols);return index%numRows},"legend":function(g){var self=this;g.each(function(data,index,groupIndex){self["_spaceUsed"]=0;var gSelection=self["prepareLegendGroup"](this);self["prepareLegendBounds"](gSelection);var labelFormat=self["getLabelFormat"]();var swatchSizeFn=self.getSwatchSizeFunction();
  100. var shapeSymbol=self.getShapeSymbol(swatchSizeFn);var textFlow=self["createTextFlowComponent"]();var titleSelector=self["prepareLegendTitle"](gSelection,textFlow);if(titleSelector&&!titleSelector.node().rave_getParentNode())return;var titleVerticalShift=self["calculateTitleVerticalShift"](titleSelector);var availableWidth=self["size"]()[0]-self["insets"]()["left"]-self["insets"]()["right"];var availableHeight=self["size"]()[1]-titleVerticalShift;if(availableHeight<=0||availableWidth<=0){self["alignTitleHorizontally"](titleSelector);
  101. return}if(!self["scale"]()){self["alignTitleHorizontally"](titleSelector);return}var swatchsData=self["getData"]();if(!swatchsData){self["alignTitleHorizontally"](titleSelector);return}var es=self.getLegendEntrySelectors(gSelection,swatchsData,shapeSymbol,labelFormat);var eb=self.getLegendEntryBBoxes(es);if(eb.shapeBboxes.length==0){self["alignTitleHorizontally"](titleSelector);return}var swatchPadding=+self["labelPadding"]();for(var i=0;i<Math.min(eb.labelBboxes.length,2);++i){var labelBBox=eb.labelBboxes[i];
  102. var shapeBBox=eb.shapeBboxes[i];var test1=availableHeight<Math.max(labelBBox.height,shapeBBox.height);var test2=availableWidth<labelBBox.height/2+shapeBBox.width+self["entryInsets"]()["left"]+self["entryInsets"]()["right"]+swatchPadding;if(test1||test2){es.legendEntry.remove();self["addTruncationIndicator"](gSelection,titleVerticalShift,availableWidth,availableHeight,textFlow);self["alignTitleHorizontally"](titleSelector);return}}var isHorizontal="horizontal"==self["orient"]();var lr=self.layoutLegendEntries(isHorizontal,
  103. textFlow,eb,es,swatchPadding,availableWidth,availableHeight);self.verifyResults(isHorizontal,eb,lr,availableWidth,availableHeight);if(lr.nodes.length!=lr.elements.length)if(!self.handleFailedLayout(isHorizontal,gSelection,lr,es,eb,swatchsData,availableWidth,availableHeight,titleVerticalShift,textFlow)){self["alignTitleHorizontally"](titleSelector);return}self.alignLabelsShapes(isHorizontal,eb,es,lr,swatchPadding);self.transformShapes(isHorizontal,es,lr,titleVerticalShift);self.alignSwatchLegendTitleHorizontally(isHorizontal,
  104. titleSelector,eb,lr)})},"shape":function(a0){var args=arguments;if(args.length==0)return this.shape$0();return this.shape$1(a0)},"swatchSize":function(a0){var args=arguments;if(args.length==0)return this.swatchSize$0();return this.swatchSize$1(a0)},"wrapLabels":function(a0){var args=arguments;if(args.length==0)return this.wrapLabels$0();return this.wrapLabels$1(a0)},"rows":function(a0){var args=arguments;if(args.length==0)return this.rows$1();return this.rows$0(a0)},"columns":function(a0){var args=
  105. arguments;if(args.length==0)return this.columns$1();return this.columns$0(a0)},"layoutMethod":function(a0){var args=arguments;if(args.length==0)return this.layoutMethod$0();return this.layoutMethod$1(a0)}});com_ibm_rave_ext_legend_swatch_SwatchLegend.createFontStruct=function(style){var struct=new com_ibm_rave_ext_text_internal_wrap_FontStyleStruct;struct.fontStyle=style["font-style"];struct.fontVariant=style["font-variant"];struct.fontWeight=style["font-weight"];struct.fontSize=style["font-size"];
  106. struct.lineHeight=style["line-height"];struct.fontFamily=style["font-family"];return struct};com_ibm_rave_ext_legend_swatch_SwatchLegend.LegendEntrySelectors=function(){};com_ibm_rave_ext_legend_swatch_SwatchLegend.LegendEntryBBoxes=function(){this.shapeBboxes=[];this.labelBboxes=[];this.labelTexts=[]};com_ibm_rave_ext_legend_swatch_SwatchLegend.ColumnRowLists=function(){this.columnListShapes=[];this.rowListShapes=[]};com_ibm_rave_ext_legend_swatch_SwatchLegend.LayoutResults=function(){};com_ibm_rave_ext_legend_swatch_SwatchLegend.GridDescr=
  107. function(numColumns,numRows,numColumnsUsed,numRowsUsed,firstFailureIndex,cellWidth,cellHeight,widthAvailableForTextPerColumn,heightAvailableForTextPerRow){this.numColumns=numColumns;this.numRows=numRows;this.numColumnsUsed=numColumnsUsed;this.numRowsUsed=numRowsUsed;this.firstFailureIndex=firstFailureIndex;this.cellWidth=cellWidth;this.cellHeight=cellHeight;this.widthAvailableForTextPerColumn=widthAvailableForTextPerColumn;this.heightAvailableForTextPerRow=heightAvailableForTextPerRow};com_ibm_rave_ext_legend_swatch_SwatchLegend.TextResult=
  108. function(entriesCount,noTruncation,gridDescr){this.entriesCount=entriesCount;this.noTruncation=noTruncation;this.gridDescr=gridDescr};com_ibm_rave_ext_legend_swatch_SwatchLegend.MIN_DATA_COUNT=1;com_ibm_rave_ext_legend_swatch_SwatchLegend.TOLERANCE_PIXELS=1;com_ibm_rave_ext_legend_swatch_SwatchLegend.MIN_ADJUSTED_NODE_COUNT=2;com_ibm_rave_ext_legend_swatch_SwatchLegend.DEFAULT_SWATCH_SIZE=20*20;com_ibm_rave_ext_legend_swatch_SwatchLegend._NULL_SETVALUE_FN=function(node){};var com_ibm_rave_ext_legend_continuous_ContinuousLegend=
  109. rave["internal"]["Declare"](com_ibm_rave_ext_legend_AbstractLegend,{_tickLen:6,_startAt:0,"constructor":function(){this._method="continuous";this["minDataLen"](2)},method$0:function(method){if("axis"==method||"stagger"==method||"continuous"==method)this._method=method;else this._method="continuous";return this},method$1:function(){return this._method},ticklength$0:function(length){this._tickLen=+length;return this},ticklength$1:function(){return this._tickLen},startAt$0:function(startAt){this._startAt=
  110. +startAt;return this},startAt$1:function(){return this._startAt},shapeRectSize$0:function(){return this._shapeRectSize},shapeRectSize$1:function(size){this._shapeRectSize=size;return this},getOrientationValues:function(isHorizontal,digitBbox,tickPadding,availableWidth,availableHeight){var shapeAvailableHeight;var shapeAvailableWidth;if(isHorizontal){shapeAvailableHeight=availableHeight-(this._tickLen+tickPadding+digitBbox.height);shapeAvailableWidth=availableWidth-digitBbox.width*6}else{shapeAvailableWidth=
  111. availableWidth-(this._tickLen+tickPadding+digitBbox.width*6);shapeAvailableHeight=availableHeight-digitBbox.height}var vals=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.OrientationValues;if(isHorizontal){vals.shape_changing_coord2="x2";vals.shape_const_coord2="y2";vals.tick_len_coord1="y1";vals.tick_len_coord2="y2";vals.tick_place_coord1="x1";vals.tick_place_coord2="x2";vals.label_place_coord="x";vals.label_shift_coord="y";vals.label_anchor="middle";vals.label_adjust_dy_value=".7em";vals.shape_major_dimension=
  112. "width";vals.shape_minor_dimension="height";if(this._shapeRectSize){vals["shapeRectSize"]=[this._shapeRectSize[0],this._shapeRectSize[1]];if(vals["shapeRectSize"][1]<=0)vals["shapeRectSize"][1]=Math.min(shapeAvailableHeight,40);if(vals["shapeRectSize"][0]<=0)vals["shapeRectSize"][0]=shapeAvailableWidth}else vals["shapeRectSize"]=[shapeAvailableWidth,Math.min(shapeAvailableHeight,40)];if("axis"==this._method){vals.shape_major_dimension_len=this["scale"]().range()[this["scale"]().range().length-1];
  113. vals.shape_major_dimension_len+=this._startAt}else vals.shape_major_dimension_len=vals["shapeRectSize"][0];vals.shape_minor_dimension_len=vals["shapeRectSize"][1];vals.tickPlacementScaleRange=[0,vals.shape_major_dimension_len]}else{vals.shape_changing_coord2="y2";vals.shape_const_coord2="x2";vals.tick_len_coord1="x1";vals.tick_len_coord2="x2";vals.tick_place_coord1="y1";vals.tick_place_coord2="y2";vals.label_place_coord="y";vals.label_shift_coord="x";vals.label_anchor="start";vals.label_adjust_dy_value=
  114. ".35em";vals.shape_major_dimension="height";vals.shape_minor_dimension="width";if(this._shapeRectSize){vals["shapeRectSize"]=[this._shapeRectSize[0],this._shapeRectSize[1]];if(vals["shapeRectSize"][1]<=0)vals["shapeRectSize"][1]=shapeAvailableHeight;if(vals["shapeRectSize"][0]<=0)vals["shapeRectSize"][0]=Math.min(shapeAvailableWidth,40)}else vals["shapeRectSize"]=[Math.min(shapeAvailableWidth,40),shapeAvailableHeight];if("axis"==this._method){vals.shape_major_dimension_len=this["scale"]().range()[this["scale"]().range().length-
  115. 1];vals.shape_major_dimension_len+=this._startAt}else vals.shape_major_dimension_len=vals["shapeRectSize"][1];vals.shape_minor_dimension_len=vals["shapeRectSize"][0];vals.tickPlacementScaleRange=[vals.shape_major_dimension_len,0]}vals.tickShift="axis"==this._method?1:vals.shape_minor_dimension_len;return vals},getTickPlacementValues:function(isHorizontal,ticksData,ov){var vals=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickPlacementValues;vals.extent=rave.extent(ticksData);if(this["reverse"]())vals.extent=
  116. [vals.extent[1],vals.extent[0]];var horizontal=this["reverse"]()?!isHorizontal:isHorizontal;var placementScale=rave["scale"].linear().domain(vals.extent).range(ov.tickPlacementScaleRange);if("axis"==this._method){vals.ticksPlacementData=placementScale.ticks();var self=this;if(horizontal)vals.tickPlacementValueFunction=function(data,index,groupIndex){var val=self["scale"]().call(this,data,index,groupIndex);return val+self._startAt};else vals.tickPlacementValueFunction=function(data,index,groupIndex){var val=
  117. self["scale"]().call(this,data,index,groupIndex);return ov.shape_major_dimension_len-val-self._startAt}}else if("stagger"==this._method){var stagger_rect_major_dim_len;var numRects=~~(ov.shape_major_dimension_len/20);if(numRects<2){numRects=1;stagger_rect_major_dim_len=ov.shape_major_dimension_len;vals.ticksPlacementData=vals.extent}else{if(numRects>15)numRects=15;var extentStart=+vals.extent[0];var extentEnd=+vals.extent[1];var diff=extentEnd-extentStart;if(diff==0){stagger_rect_major_dim_len=ov.shape_major_dimension_len;
  118. vals.ticksPlacementData=[]}else{var step=diff/(numRects+1);var ticks=rave.range(extentStart,extentEnd,step);this.fixTicksDecimalPlaces(ticks,4);if(ticks[ticks.length-1]!=extentEnd)ticks[ticks.length-1]=extentEnd;vals.ticksPlacementData=ticks;stagger_rect_major_dim_len=ov.shape_major_dimension_len/(ticks.length-1)}}if(horizontal)vals.tickPlacementValueFunction=function(data,index,groupIndex){return stagger_rect_major_dim_len*index};else vals.tickPlacementValueFunction=function(data,index,groupIndex){return ov.shape_major_dimension_len-
  119. stagger_rect_major_dim_len*index}}else{vals.tickPlacementValueFunction=placementScale;vals.ticksPlacementData=placementScale.ticks()}return vals},fixTicksDecimalPlaces:function(ticks,numPlaces){for(var i=0;i<ticks.length;++i){var tickValue=ticks[i];tickValue=this.fixDecimalPlaces(tickValue,numPlaces);ticks[i]=tickValue}},fixDecimalPlaces:function(val,numPlaces){if(val==0)return 0;for(var f=Math.pow(10,numPlaces);~~(val*f)==0;)f*=10;return~~(val*f)/f},getTickEntrySelectors:function(gSelection,labelFormat,
  120. tickColor,tickPadding,ov,tv){var ts=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickEntrySelectors;ts.tickEntry=gSelection.selectAll(".legendEntry").data(tv.ticksPlacementData).enter().append("g").attr("class","legendEntry");ts.tick=ts.tickEntry.append("line").attr("class","legendTickLine").attr(ov.tick_len_coord1,ov.tickShift).attr(ov.tick_len_coord2,ov.tickShift+this._tickLen).attr(ov.tick_place_coord1,tv.tickPlacementValueFunction).attr(ov.tick_place_coord2,tv.tickPlacementValueFunction).style("stroke",
  121. tickColor);ts.text=ts.tickEntry.append("text").attr("class","legendLabel").attr(ov.label_place_coord,tv.tickPlacementValueFunction).attr(ov.label_shift_coord,ov.tickShift+this._tickLen+tickPadding).attr("dy",ov.label_adjust_dy_value).attr("text-anchor",ov.label_anchor);if(typeof labelFormat==="function")ts.text.text(labelFormat);else ts.text.text(labelFormat);return ts},updateTickEntrySelectors:function(gSelection){var ts=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickEntrySelectors;
  122. ts.tickEntry=gSelection.selectAll(".legendEntry");ts.tick=gSelection.selectAll("."+"legendTickLine");ts.text=gSelection.selectAll("."+"legendLabel");return ts},getTickEntryBBoxes:function(ts){var tb=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickEntryBBoxes;ts.text.each(function(data,index,groupIndex){var labelBbox=this.getBBox();if(labelBbox.width>tb.largestLabelWidth)tb.largestLabelWidth=labelBbox.width;if(labelBbox.height>tb.largestLabelHeight)tb.largestLabelHeight=labelBbox.height;
  123. tb.labelBboxes.push(labelBbox);tb.labelTexts.push(this.rave_getText());tb.labelBboxesPoints.push([+this.getAttribute("x"),+this.getAttribute("y")])});ts.tick.each(function(data,index,groupIndex){tb.tickBboxes.push(this.getBBox())});return tb},getShapeSelectors:function(isHorizontal,gSelection,ov,tv,ticksData,axisColor,borderColor){var ss=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.ShapeSelectors;if("axis"==this._method)ss.shapeSelector=gSelection.append("line").attr("class","legendShape").attr("x1",
  124. 0).attr("y1",0).attr(ov.shape_changing_coord2,ov.shape_major_dimension_len).attr(ov.shape_const_coord2,0).style("stroke",axisColor);else if("stagger"==this._method){var staggerRectData;if(tv.ticksPlacementData.length>1){staggerRectData=[];var tickValue=+tv.ticksPlacementData[0];for(var i=1;i<tv.ticksPlacementData.length;++i){var nextTickValue=+tv.ticksPlacementData[i];staggerRectData[i-1]=(tickValue+nextTickValue)/2;tickValue=nextTickValue}}else staggerRectData=[+tv.ticksPlacementData[0]];var colors=
  125. [];for(i=0;i<ticksData.length;++i){var color=this["scale"]().call(null,ticksData[i],-1,-1);colors.push(color)}var colorScale=this["scale"]().copy();colorScale.domain(ticksData);colorScale.range(colors);var staggerRectColor=[];if(isHorizontal)for(i=0;i<staggerRectData.length;++i)staggerRectColor.push(colorScale.call(null,staggerRectData[i],-1,-1).toString());else for(i=staggerRectData.length-1;i>=0;--i)staggerRectColor.push(colorScale.call(null,staggerRectData[i],-1,-1).toString());if(this["reverse"]())staggerRectColor["reverse"]();
  126. var stagger_rect_major_dim_len=ov.shape_major_dimension_len/staggerRectData.length;ss.shapeSelector=gSelection.selectAll(".legendShape").data(staggerRectData).enter().append("rect").attr("class","legendShape").attr(ov.shape_major_dimension,stagger_rect_major_dim_len).attr(ov.shape_minor_dimension,ov.shape_minor_dimension_len).style("fill",function(data,index,groupIndex){return staggerRectColor[index]}).attr(ov.label_place_coord,function(data,index,groupIndex){return stagger_rect_major_dim_len*index});
  127. if(borderColor!=null)ss.boundsSelector=gSelection.append("rect").attr("class","legendStaggerBorder").attr(ov.shape_minor_dimension,ov.shape_minor_dimension_len).attr(ov.shape_major_dimension,ov.shape_major_dimension_len).style("fill-opacity",0).attr("stroke",borderColor)}else{var gradientIdCount=com_ibm_rave_ext_legend_continuous_ContinuousLegend.getGradientIdCount();var gradientID="legendGradient"+gradientIdCount.idCount++;var gradient=gSelection.append("defs").append("linearGradient").attr("id",
  128. gradientID).attr("x1","0%").attr("y1","0%").attr(ov.shape_const_coord2,"0%").attr(ov.shape_changing_coord2,"100%").attr("spreadMethod","pad");if(isHorizontal){var stopsScale=rave["scale"].linear().domain(tv.extent).range([0,100]);for(i=0;i<ticksData.length;++i){var stop=stopsScale.call(null,ticksData[i],-1,-1);gradient.append("stop").attr("offset",stop+"%").attr("stop-color",this["scale"]().call(null,ticksData[i],-1,-1)).attr("stop-opacity",1)}}else{stopsScale=rave["scale"].linear().domain(tv.extent).range([100,
  129. 0]);for(i=ticksData.length-1;i>=0;--i){stop=stopsScale.call(null,ticksData[i],-1,-1);gradient.append("stop").attr("offset",stop+"%").attr("stop-color",this["scale"]().call(null,ticksData[i],-1,-1)).attr("stop-opacity",1)}}ss.shapeSelector=gSelection.append("rect").attr("class","legendShape").attr(ov.shape_minor_dimension,ov.shape_minor_dimension_len).attr(ov.shape_major_dimension,ov.shape_major_dimension_len);if(borderColor!=null)ss.shapeSelector.attr("stroke",borderColor);ss.shapeSelector.style("fill",
  130. "url(#"+gradientID+")")}return ss},transformShapes:function(isHorizontal,tb,ov,ts,ss,titleSelector,titleVerticalShift){var label_vertical_shift=0;var label_horizontal_shift=0;if(isHorizontal){if(tb.labelBboxes[0].width/2-tb.labelBboxesPoints[0][0]>0)label_horizontal_shift=tb.labelBboxes[0].width/2}else if(tb.labelBboxes[tb.labelBboxes.length-1].height/2-tb.labelBboxesPoints[tb.labelBboxesPoints.length-1][1]>0)label_vertical_shift=tb.labelBboxes[tb.labelBboxes.length-1].height/2;var horizontal_shift=
  131. this["entryInsets"]()["left"]+this["insets"]()["left"]+label_horizontal_shift;var vertical_shift=titleVerticalShift-this["insets"]()["bottom"]+label_vertical_shift+this["entryInsets"]()["top"];var transformStr="translate("+horizontal_shift+","+vertical_shift+")";if(ss.boundsSelector)ss.boundsSelector.attr("transform",transformStr);ss.shapeSelector.attr("transform",transformStr);ts.tickEntry.attr("transform",transformStr);this.alignContinuousLegendTitleHorizontally(isHorizontal,horizontal_shift,ov,
  132. titleSelector)},alignContinuousLegendTitleHorizontally:function(isHorizontal,horizontal_shift,ov,titleSelector){if(titleSelector){var titleBbox=titleSelector.node().getBBox();var legendProperWidth=isHorizontal?ov.shape_major_dimension_len:ov.shape_minor_dimension_len;var title_horizontal_shift=horizontal_shift;if("start"==this["titleAlignment"]())title_horizontal_shift=0;else if("end"==this["titleAlignment"]())title_horizontal_shift+=titleBbox.width>legendProperWidth?this["titleInsets"]()["right"]+
  133. this["insets"]()["right"]:0;else{title_horizontal_shift*=2;title_horizontal_shift-=this["insets"]()["left"]}legendProperWidth+=title_horizontal_shift;var w=Math.max(titleBbox.width,legendProperWidth);this["alignTitleHorizontally"](titleSelector,w)}},cleanUpTextFlowSettings:function(text,ov){text.selectAll("tspan").attr("x",null).attr("dy",null).attr("width",null);text.attr("dy",ov.label_adjust_dy_value).attr("text-anchor",ov.label_anchor)},getLegendProperDim:function(isHorizontal,ov,tb,tickPadding){var legend_shape_width;
  134. var legend_shape_height;if(isHorizontal){legend_shape_width=ov.shape_major_dimension_len;if(tb.labelBboxes[0].width/2+tb.labelBboxesPoints[0][0]>=ov.shape_major_dimension_len)legend_shape_width+=tb.labelBboxes[0].width/2;if(tb.labelBboxes[tb.labelBboxes.length-1].width/2+tb.labelBboxesPoints[tb.labelBboxesPoints.length-1][0]>=ov.shape_major_dimension_len)legend_shape_width+=tb.labelBboxes[tb.labelBboxes.length-1].width/2;legend_shape_height=ov.tickShift+tb.largestLabelHeight+ +this._tickLen+tickPadding}else{legend_shape_height=
  135. ov.shape_major_dimension_len;if(tb.labelBboxes[0].height/2+tb.labelBboxesPoints[0][1]>=ov.shape_major_dimension_len)legend_shape_height+=tb.labelBboxes[0].height/2;if(tb.labelBboxes[tb.labelBboxes.length-1].height/2+tb.labelBboxesPoints[tb.labelBboxesPoints.length-1][1]>=ov.shape_major_dimension_len)legend_shape_height+=tb.labelBboxes[tb.labelBboxes.length-1].height/2;legend_shape_width=ov.tickShift+tb.largestLabelWidth+this._tickLen+tickPadding}return[legend_shape_width,legend_shape_height]},verifyResults:function(gSelection,
  136. titleSelector,titleVerticalShift,isHorizontal,tickPadding,ov,tb,ts,ss,availableWidth,availableHeight,textFlow){var _tb=tb;var _ts=ts;var legendDim=this.getLegendProperDim(isHorizontal,ov,_tb,tickPadding);var entryInsets=this["entryInsets"]();if(isHorizontal)this["_spaceUsed"]+=legendDim[1]+(entryInsets["top"]+entryInsets["bottom"]);else if(legendDim[0]>this["_spaceUsed"])this["_spaceUsed"]=legendDim[0]+(entryInsets["left"]+entryInsets["right"]);if(legendDim[0]>availableWidth||legendDim[1]>availableHeight){if(legendDim[0]>
  137. availableWidth){textFlow.wrap(false);if(isHorizontal){var extraWidth=Math.ceil(legendDim[0]-availableWidth)*2;if(_tb.labelBboxes[0].width/2+_tb.labelBboxesPoints[0][0]>=ov.shape_major_dimension_len){var halfFirstlabel=_tb.labelBboxes[0].width/2;var halfLastLabel=0;if(_tb.labelBboxes[_tb.labelBboxes.length-1].width/2+_tb.labelBboxesPoints[_tb.labelBboxesPoints.length-1][0]>ov.shape_major_dimension_len)halfLastLabel=_tb.labelBboxes[_tb.labelBboxes.length-1].width/2;var firstLabelRatio=halfFirstlabel/
  138. (halfFirstlabel+halfLastLabel);var firstLabelReduction=Math.ceil(firstLabelRatio*extraWidth);var firstLabelSelection=rave.select(_ts.text.node());textFlow.extent(~~(_tb.labelBboxes[0].width-firstLabelReduction),~~_tb.largestLabelHeight);textFlow.flow(firstLabelSelection);this.cleanUpTextFlowSettings(firstLabelSelection,ov);if(extraWidth-firstLabelReduction>0){var lastLabelReduction=Math.ceil(extraWidth-firstLabelReduction);var lastLabelSelection=rave.select(_ts.text[0][_ts.text["size"]()-1]);textFlow.extent(~~(_tb.labelBboxes[_tb.labelBboxes.length-
  139. 1].width-lastLabelReduction),~~_tb.largestLabelHeight);textFlow.flow(lastLabelSelection);this.cleanUpTextFlowSettings(lastLabelSelection,ov)}}}else{var truncationWidth=_tb.largestLabelWidth-(legendDim[0]-availableWidth);textFlow.extent(~~truncationWidth,~~_tb.largestLabelHeight);textFlow.flow(_ts.text);this.cleanUpTextFlowSettings(_ts.text,ov)}this.transformShapes(isHorizontal,_tb,ov,_ts,ss,titleSelector,titleVerticalShift);_tb=this.getTickEntryBBoxes(_ts);legendDim=this.getLegendProperDim(isHorizontal,
  140. ov,_tb,tickPadding)}if(legendDim[0]>availableWidth||legendDim[1]>availableHeight){this["alignTitleHorizontally"](titleSelector);_ts.tickEntry.remove();ss.shapeSelector.remove();if(ss.boundsSelector)ss.boundsSelector.remove();this["addTruncationIndicator"](gSelection,titleVerticalShift,availableWidth,availableHeight,textFlow);return false}else{_ts=this.updateTickEntrySelectors(gSelection);_tb=this.getTickEntryBBoxes(_ts);this.transformShapes(isHorizontal,_tb,ov,_ts,ss,titleSelector,titleVerticalShift)}}return true},
  141. "getDataFromScale":function(){if(!this["scale"]())return null;return this["scale"]().domain()},"legend":function(g){var self=this;g.each(function(data,index,groupIndex){self["_spaceUsed"]=0;var gSelection=self["prepareLegendGroup"](this);self["prepareLegendBounds"](gSelection);var labelFormat=self["getLabelFormat"]();var textFlow=self["createTextFlowComponent"]();var titleSelector=self["prepareLegendTitle"](gSelection,textFlow);if(titleSelector&&!titleSelector.node().rave_getParentNode())return;var titleVerticalShift=
  142. self["calculateTitleVerticalShift"](titleSelector);var tickPadding=+self["labelPadding"]();var isHorizontal="horizontal"==self["orient"]();var availableWidth=self["size"]()[0]-self["insets"]()["left"]-self["insets"]()["right"]-self["entryInsets"]()["left"]-self["entryInsets"]()["right"];var availableHeight=self["size"]()[1]-titleVerticalShift-self["entryInsets"]()["top"]-self["entryInsets"]()["bottom"];if(availableHeight<=0||availableWidth<=0){self["alignTitleHorizontally"](titleSelector);return}if(!self["scale"]()){self["alignTitleHorizontally"](titleSelector);
  143. return}var ticksData=self["getData"]();if(!ticksData){self["alignTitleHorizontally"](titleSelector);return}ticksData=self.sanitizeData(ticksData);var digitBbox=self.getSingleDigitBbox(gSelection);var ov=self.getOrientationValues(isHorizontal,digitBbox,tickPadding,availableWidth,availableHeight);var tickColor="black";var axisColor="black";var borderColor=null;if(self["shapeBorderColor"]()){borderColor=rave.rgb(self["shapeBorderColor"]()).toString();tickColor=borderColor;axisColor=borderColor}var tv=
  144. self.getTickPlacementValues(isHorizontal,ticksData,ov);if(!tv.ticksPlacementData||tv.ticksPlacementData.length==0){self["alignTitleHorizontally"](titleSelector);return}var ts=self.getTickEntrySelectors(gSelection,labelFormat,tickColor,tickPadding,ov,tv);var tb=self.getTickEntryBBoxes(ts);if(tb.labelBboxes.length==0){self["alignTitleHorizontally"](titleSelector);return}var ss=self.getShapeSelectors(isHorizontal,gSelection,ov,tv,ticksData,axisColor,borderColor);self.transformShapes(isHorizontal,tb,
  145. ov,ts,ss,titleSelector,titleVerticalShift);self.handleCollidingLabels(ts);ts=self.updateTickEntrySelectors(gSelection);tb=self.getTickEntryBBoxes(ts);self.verifyResults(gSelection,titleSelector,titleVerticalShift,isHorizontal,tickPadding,ov,tb,ts,ss,availableWidth,availableHeight,textFlow);self.createSwatchExtraEntries(gSelection,self["size"]()[0],self["size"]()[1],self.getLegendProperDim(isHorizontal,ov,tb,tickPadding)[0],self.getLegendProperDim(isHorizontal,ov,tb,tickPadding)[1],availableWidth,
  146. availableHeight,self["insets"](),titleVerticalShift)})},getSingleDigitBbox:function(gSelection){var selector=gSelection.append("text").text("0");var digitBbox=selector.node().getBBox();selector.remove();return digitBbox},sanitizeData:function(ticksData){if(this["dataValues"]()){var hasInvalidValues=false;var domainExtent=rave.extent(this["scale"]().domain());var minVal=+domainExtent[0];var maxVal=+domainExtent[1];var newData=[];for(var i=0;i<ticksData.length;++i){var val=+ticksData[i];if(val>maxVal||
  147. val<minVal){hasInvalidValues=true;continue}newData.push(val)}if(newData.length>0)return newData;else if(hasInvalidValues)return this["scale"]().domain()}return ticksData},handleCollidingLabels:function(ts){var ravePosition=rave.capabilities.extension("position");var dropOverlap=ravePosition.drop();dropOverlap.remove(true).dropOverlap(ts.text)},createSwatchExtraEntries:function(gSelection,overallWidth,overallHeight,legendWidth,legendHeight,availableWidth,availableHeight,insets,verticalTitleShift){var self=
  148. this;var extraLegendRect;if(self["orient"]()=="vertical")extraLegendRect=new rave["internal"]["RectStruct"](insets["left"]*2+legendWidth,overallHeight-availableHeight,availableWidth-legendWidth,legendHeight);else extraLegendRect=new rave["internal"]["RectStruct"](overallWidth-availableWidth,insets["top"]*2+legendHeight+verticalTitleShift,legendWidth,availableHeight-legendHeight);if(!self["_extraLegendEntries"].empty()){var swatchData=[];var __i_enFor0=0;var __exp_enFor0=self["_extraLegendEntries"].keys();
  149. for(var __len_enFor0=__exp_enFor0.length;__i_enFor0<__len_enFor0;++__i_enFor0){var key=__exp_enFor0[__i_enFor0];swatchData.push(key)}var rl=rave.capabilities.extension("legend");var swatchLegend=rl["swatch"]()["size"]([extraLegendRect.width,extraLegendRect.height])["orient"](self["orient"]())["scale"](rave["scale"].category20b().domain(swatchData));for(var i=0;i<self["_extraLegendEntries"]["size"]();++i){var ele=swatchLegend["extraEntry"](self["_extraLegendEntries"].keys()[i]);if(self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["colorSet"]())ele["color"](self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["color"]());
  150. if(self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["sizeSet"]())ele["size"](self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["size"]());if(self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["shapeSet"]())ele["shape"](self["_extraLegendEntries"].get(self["_extraLegendEntries"].keys()[i])["shape"]())}var swatchLegendSelector=gSelection.append("g").attr("class","extraLegend").attr("transform","translate("+extraLegendRect.x+","+extraLegendRect.y+
  151. ")").attr("width",extraLegendRect.width).attr("height",extraLegendRect.height).call(swatchLegend);if(swatchLegendSelector.selectAll(".legendEntry")["size"]()==0)gSelection.selectAll(".extraLegend").remove()}},"method":function(a0){var args=arguments;if(args.length==0)return this.method$1();return this.method$0(a0)},"ticklength":function(a0){var args=arguments;if(args.length==0)return this.ticklength$1();return this.ticklength$0(a0)},"startAt":function(a0){var args=arguments;if(args.length==0)return this.startAt$1();
  152. return this.startAt$0(a0)},"shapeRectSize":function(a0){var args=arguments;if(args.length==0)return this.shapeRectSize$0();return this.shapeRectSize$1(a0)}});com_ibm_rave_ext_legend_continuous_ContinuousLegend.getGradientIdCount=function(){var gradientIdCount=rave["internal"]["RaveContextManager"].INSTANCE.getRaveContext()["getData"]("GRADIENT_ID_COUNT_KEY");if(!gradientIdCount){gradientIdCount=new com_ibm_rave_ext_legend_continuous_ContinuousLegend.GradientIdCount;rave["internal"]["RaveContextManager"].INSTANCE.getRaveContext().putData("GRADIENT_ID_COUNT_KEY",
  153. gradientIdCount)}return gradientIdCount};com_ibm_rave_ext_legend_continuous_ContinuousLegend.OrientationValues=function(){};com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickPlacementValues=function(){};com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickEntrySelectors=function(){};com_ibm_rave_ext_legend_continuous_ContinuousLegend.TickEntryBBoxes=function(){this.largestLabelWidth=0;this.largestLabelHeight=0;this.tickBboxes=[];this.labelBboxes=[];this.labelTexts=[];this.labelBboxesPoints=
  154. []};com_ibm_rave_ext_legend_continuous_ContinuousLegend.ShapeSelectors=function(){};com_ibm_rave_ext_legend_continuous_ContinuousLegend.GradientIdCount=rave["internal"]["Declare"]({idCount:0});com_ibm_rave_ext_legend_continuous_ContinuousLegend.AXIS_DEFAULT_MINOR_DIMENSION_LEN=1;com_ibm_rave_ext_legend_continuous_ContinuousLegend.MAX_TICK_LABEL_DIGITS=6;com_ibm_rave_ext_legend_continuous_ContinuousLegend.MINOR_SHAPE_MAX_LENGTH=40;com_ibm_rave_ext_legend_continuous_ContinuousLegend.MIN_DATA_COUNT=
  155. 2;com_ibm_rave_ext_legend_continuous_ContinuousLegend.DEFAULT_STAGGER_RECT_SIDE_LEN=20;com_ibm_rave_ext_legend_continuous_ContinuousLegend.MAX_STAGGER_SQUARE_COUNT=15;com_ibm_rave_ext_legend_continuous_ContinuousLegend.PREFERRED_DECIMAL_PLACES_COUNT=4;var com_ibm_rave_ext_legend_size_NestedSizeLegend=rave["internal"]["Declare"](com_ibm_rave_ext_legend_AbstractLegend,{_tickPadding:20,"constructor":function(){this._shapeDisplay="full";this["scaleArguments"](3)},"legend":function(g){var self=this;g.each(function(data$$0,
  156. index$$0,groupIndex$$0){var gSelection=self["prepareLegendGroup"](this);self["prepareLegendBounds"](gSelection);var labelFormat=self["getLabelFormat"]();var textFlow=self["createTextFlowComponent"]();var titleSelector=self["prepareLegendTitle"](gSelection,textFlow);if(titleSelector&&!titleSelector.node().rave_getParentNode())return;var titleVerticalShift=self["calculateTitleVerticalShift"](titleSelector);var availableWidth=self["size"]()[0]-self["insets"]()["left"]-self["insets"]()["right"];var availableHeight=
  157. self["size"]()[1]-self["insets"]()["top"]-self["insets"]()["bottom"]-titleVerticalShift;self["alignTitleHorizontally"](titleSelector);if(availableHeight<=0||availableWidth<=0||!self["scale"]())return;var scaleData=self["getData"]();if(!scaleData)return;var ticks=scaleData["reverse"]();var maxArea=+self["scale"]().call(null,ticks[0],0,0);var minArea=+self["scale"]().call(null,ticks[ticks.length-1],0,0);var maxSymbolHeight=2*com_ibm_rave_ext_legend_size_NestedSizeLegend.areaToCircleRadius(Math.max(maxArea,
  158. minArea));var symbol=rave.svg.symbol().type("circle")["size"](function(data,index,groupIndex){return+self["scale"]().call(null,data,0,0)});var container=new rave["internal"]["RectStruct"](self["insets"]()["left"],self["insets"]()["top"]+titleVerticalShift,availableWidth,availableHeight);var entryBounds=new rave["internal"]["RectStruct"](container.x+self["entryInsets"]()["left"],container.y+self["entryInsets"]()["top"],container.width-self["entryInsets"]()["left"]-self["entryInsets"]()["right"],container.height-
  159. self["entryInsets"]()["top"]-self["entryInsets"]()["bottom"]);var entryShiftX=0;if("full"==self._shapeDisplay)entryShiftX=entryShiftX+maxSymbolHeight/2;var legendContainer=gSelection.append("g").classed("legendContainer",true).attr("clip-path",self._clipId!=null?"url(#"+self._clipId+")":null);if(self._defs&&self._clipId!=null){var clipPath=self._defs.selectAll("#"+self._clipId).data([0]);clipPath.enter().append("clipPath").attr("id",self._clipId).append("rect");clipPath.select("rect").attr("x",entryBounds.x).attr("width",
  160. entryBounds.width).attr("y",titleVerticalShift).attr("height",availableHeight)}var transformEntry=function(data,index,groupIndex){var x=com_ibm_rave_ext_legend_size_NestedSizeLegend.areaToCircleRadius(+self["scale"]().call(null,data,0,0));return"translate(0, "+(maxSymbolHeight-x)+")"};var transformCenterEntry=function(data,index,groupIndex){var x=2*com_ibm_rave_ext_legend_size_NestedSizeLegend.areaToCircleRadius(+self["scale"]().call(null,data,0,0));return"translate(0, "+(maxSymbolHeight-x)+")"};
  161. var legendEntries=legendContainer.selectAll(".legendEntry").data(ticks);var legendEntriesEnter=legendEntries.enter().append("g").classed("legendEntry",true);legendEntriesEnter.append("path").classed("legendShape",true);legendEntriesEnter.append("line").classed("legendTickLine",true);legendEntriesEnter.append("text").classed("legendLabel",true);legendEntries.attr("transform","translate("+(entryBounds.x+entryShiftX)+","+entryBounds.y+")");legendEntries.select(".legendShape").attr("d",symbol).attr("transform",
  162. transformEntry).style("stroke",self["shapeBorderColor"]()?rave.rgb(self["shapeBorderColor"]()).toString():null);legendEntries.select(".legendTickLine").attr("x1",0).attr("x2",maxSymbolHeight/2+self._tickPadding).attr("transform",transformCenterEntry);var labelX=maxSymbolHeight/2+ +self["labelPadding"]()+self._tickPadding;var label=legendEntries.select(".legendLabel");label.attr("x",labelX).attr("transform",transformCenterEntry).attr("dy",function(data,index,groupIndex){return self["getTextDyPlacement"](this)}).text(labelFormat);
  163. textFlow.extent(~~Math.max(0,entryBounds.width-labelX-entryShiftX),~~label.node().getBBox().height).flow(label)})},tickPadding$0:function(padding){this._tickPadding=Math.max(0,padding);return this},tickPadding$1:function(){return this._tickPadding},shapeDisplay$0:function(display){this._shapeDisplay="half"==display?display:"full";return this},shapeDisplay$1:function(){return this._shapeDisplay},"clip":function(defs,id){this._defs=defs;this._clipId=id;return this},"tickPadding":function(a0){var args=
  164. arguments;if(args.length==0)return this.tickPadding$1();return this.tickPadding$0(a0)},"shapeDisplay":function(a0){var args=arguments;if(args.length==0)return this.shapeDisplay$1();return this.shapeDisplay$0(a0)}});com_ibm_rave_ext_legend_size_NestedSizeLegend.areaToCircleRadius=function(area){return Math.sqrt(area/Math.PI)};com_ibm_rave_ext_legend_size_NestedSizeLegend.SHAPE_SYMBOL_TYPE="circle";com_ibm_rave_ext_legend_size_NestedSizeLegend.SHAPE_DISPLAY_FULL="full";com_ibm_rave_ext_legend_size_NestedSizeLegend.SHAPE_DISPLAY_HALF=
  165. "half";com_ibm_rave_ext_legend_size_NestedSizeLegend.TICK_PADDING_DEFAULT=20})();return rave});