hqchart 1.1.14910 → 1.1.14915

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4606,14 +4606,14 @@ return this.PtInBar(x,y,{BarWidth:barWidth});};this.DrawBars=function(lineWidth,
4606
4606
  if(isHSCreen){this.Canvas.moveTo(yBottom,ToFixedPoint(x));this.Canvas.lineTo(y,ToFixedPoint(x));}else{this.Canvas.moveTo(xFix,yBottom);this.Canvas.lineTo(xFix,y);}++drawCount;}if(drawCount>0)this.Canvas.stroke();};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}var dataWidth=this.ChartFrame.DataWidth;var lineWidth=this.LineWidth*GetDevicePixelRatio();if(this.LineWidth==50)lineWidth=dataWidth;else if(lineWidth>dataWidth)lineWidth=dataWidth;var backupLineWidth=this.Canvas.lineWidth;this.Canvas.lineWidth=lineWidth;//上下分开画
4607
4607
  this.DrawBars(lineWidth,true);this.DrawBars(lineWidth,false);this.Canvas.lineWidth=backupLineWidth;};this.GetItemData=function(indexData){if(!indexData)return null;if(!IFrameSplitOperator.IsNumber(indexData.Index))return null;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=indexData.Index;if(index<0||index>=this.Data.Data.length)return null;var item=this.Data.Data[index];return[{Value:item,Color:item>0?this.UpColor:this.DownColor,Name:this.Name}];};}//基准线上下柱子
4608
4608
  function ChartBaseLineBar(){this.newMethod=IChartPainting;//派生
4609
- this.newMethod();delete this.newMethod;this.ClassName="ChartBaseLineBar";this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;this.LineWidth=1;this.Style=0;//0=坐标使用主图坐标 1=独立坐标
4609
+ this.newMethod();delete this.newMethod;this.ClassName="ChartBaseLineBar";this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;this.UpName;this.DownName;this.LineWidth=1;this.Style=0;//0=坐标使用主图坐标 1=独立坐标
4610
4610
  this.IsDrawFirst=true;this.AryData=[];//{ Date, Time, Up, Down }
4611
4611
  this.DefaultMax;//默认最大值
4612
4612
  this.MaxValue;this.YBaseLine;this.BarMaxHeight;//{ Up:, Down: }
4613
4613
  this.DrawStyle2=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}this.Canvas.save();this.ClipClient(bHScreen);this.YBaseLine=this.ChartFrame.GetYFromData(0,false);var aryUpBar=[],aryDownBar=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up);var y=this.ChartFrame.GetYFromData(value,false);aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var value=Math.abs(item.Down)*-1;var y=this.ChartFrame.GetYFromData(value,false);aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);this.Canvas.restore();};this.Draw=function(){this.YBaseLine=null;this.BarMaxHeight=null;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.HQChart)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNumber(this.MaxValue))return;if(this.Style==1){this.DrawStyle2();return;}this.CalculateBaseLine();if(!IFrameSplitOperator.IsNumber(this.YBaseLine))return;if(!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight))return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var yCenter=this.YBaseLine;var aryUpBar=[],aryDownBar=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;//太短了 就直接画2个像素高度
4614
4614
  var y=yCenter-value;aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;var y=yCenter+value;aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);};this.CalculateBaseLine=function(){if(!this.HQChart)return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var border=this.ChartFrame.GetBorder();if(bMinute){var chart=this.HQChart.ChartPaint[0];if(!chart||!IFrameSplitOperator.IsNumber(chart.YClose))return;this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);if(bHScreen){this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;}else{this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;}}else{//TODO:K线
4615
4615
  }};this.DrawBars=function(aryBar,barColor){var bHScreen=this.ChartFrame.IsHScreen===true;var yCenter=this.YBaseLine;this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();var barCount=0;for(var i=0;i<aryBar.length;++i){var item=aryBar[i];var x=ToFixedPoint(item.X);if(bHScreen){this.Canvas.moveTo(yCenter,x);this.Canvas.lineTo(item.Y,x);}else{this.Canvas.moveTo(x,yCenter);this.Canvas.lineTo(x,item.Y);}++barCount;}if(barCount>0)this.Canvas.stroke();};this.BuildCacheData=function(){this.MaxValue=null;var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryData))return;var max=null,min=null;for(var i=0;i<this.AryData.length;++i){var item=this.AryData[i];if(!item)continue;var key=this.BuildKey(item);mapData.set(key,item);if(IFrameSplitOperator.IsNumber(item.Up)){if(!max)max={Value:item.Up};else if(max.Value<item.Up)max.Value=item.Up;if(!min)min={Value:item.Up};else if(min.Value>item.Up)min.Value=item.Up;}if(IFrameSplitOperator.IsNumber(item.Down)){if(!max)max={Value:item.Down};else if(max.Value<item.Down)max.Value=item.Down;if(!min)min={Value:item.Down};else if(min.Value>item.Down)min.Value=item.Down;}}if(max&&min){this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));if(IFrameSplitOperator.IsNumber(this.DefaultMax))this.MaxValue=Math.max(this.DefaultMax,this.MaxValue);}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(this.Style==1)//独立坐标
4616
- {if(IFrameSplitOperator.IsNumber(this.DefaultMax))range.Max=this.DefaultMax;range.Min=0;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);var value=Math.abs(item.Up);if(range.Max==null||range.Max<value)range.Max=value;var value=Math.abs(item.Down)*-1;if(range.Min>value)range.Min=value;}}return range;};}function ChartClipColorStick(){this.newMethod=IChartPainting;//派生
4616
+ {if(IFrameSplitOperator.IsNumber(this.DefaultMax))range.Max=this.DefaultMax;range.Min=0;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);var value=Math.abs(item.Up);if(range.Max==null||range.Max<value)range.Max=value;var value=Math.abs(item.Down)*-1;if(range.Min>value)range.Min=value;}}return range;};this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};}function ChartClipColorStick(){this.newMethod=IChartPainting;//派生
4617
4617
  this.newMethod();delete this.newMethod;this.ClassName="ChartClipColorStick";this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.LineWidth=1;this.Style=0;//1=同方向 0=上下两个方向
4618
4618
  //差值线
4619
4619
  this.DownDiffColor=g_JSChartResource.DownBarColor;this.UpDiffColor=g_JSChartResource.UpBarColor;//文字
@@ -6308,8 +6308,8 @@ this.IsShowMainIndexTitle=true;//是否显示主图指标标题
6308
6308
  this.MainTitlePaint=null;//主标题
6309
6309
  this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;this.BGColor=g_JSChartResource.IndexTitleBGColor;this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
6310
6310
  };this.SetDynamicTitleData=function(outName,args,data){if(!data.OutName)data.OutName=new _map2.default();else data.OutName.clear();if(!data.OutValue)data.OutValue=new _map2.default();else data.OutValue.clear();var mapArgs=new _map2.default();for(var i in args){var item=args[i];mapArgs.set('{'+item.Name+'}',item);}for(var i in outName){var item=outName[i];if(item.DynamicName){var aryFond=item.DynamicName.match(/{\w*}/i);if(!aryFond||aryFond.length<=0){data.OutName.set(item.Name,item.DynamicName);}else{var dyName=item.DynamicName;var bFind=true;for(var j=0;j<aryFond.length;++j){var findItem=aryFond[j];if(mapArgs.has(findItem)){var value=mapArgs.get(findItem).Value;dyName=dyName.replace(findItem,value.toString());}else{bFind=false;break;}}if(bFind)data.OutName.set(item.Name,dyName);}}if(item.DynamicValue){data.OutValue.set(item.Name,item.DynamicValue);}}};this.SetDynamicTitle=function(outName,args,overlayID){if(IFrameSplitOperator.IsString(overlayID)){var dynamicTitle=null;if(this.OverlayDynamicTitle.has(overlayID)){dynamicTitle=this.OverlayDynamicTitle.get(overlayID);}else{dynamicTitle={OutName:null,OutValue:null};this.OverlayDynamicTitle.set(overlayID,dynamicTitle);}this.SetDynamicTitleData(outName,args,dynamicTitle);}else{this.SetDynamicTitleData(outName,args,this.DynamicTitle);}};this.GetDynamicOutName=function(key,overlayID){if(IFrameSplitOperator.IsString(overlayID)){if(!this.OverlayDynamicTitle.has(overlayID))return null;var dynamicTitle=this.OverlayDynamicTitle.get(overlayID);var outName=dynamicTitle.OutName;}else{var outName=this.DynamicTitle.OutName;}if(!outName||outName.size<=0)return null;if(!outName.has(key))return null;return outName.get(key);};this.GetDynamicOutValue=function(key,value){var outValue=this.DynamicTitle.OutValue;if(!outValue||outValue.size<=0)return null;if(!outValue.has(key))return null;var strFormat=outValue.get(key);strFormat=strFormat.replace('{Value}',value);return strFormat;};this.IsClickTitle=function(x,y)//是否点击了指标标题
6311
- {if(!this.TitleRect)return false;if(x>this.TitleRect.Left&&x<this.TitleRect.Left+this.TitleRect.Width&&y>this.TitleRect.Top&&y<this.TitleRect.Top+this.TitleRect.Height){return true;}return false;};this.FormatValue=function(value,item){if(item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)return IFrameSplitOperator.FormatValueString(value,item.FloatPrecision,this.LanguageID);else if(item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);else if(item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)return value.toFixed(item.FloatPrecision).toString();else if(item.StringFormat==STRING_FORMAT_TYPE.INTEGER)return IFrameSplitOperator.FromatIntegerString(value,item.FloatPrecision,this.LanguageID);};this.FormatMultiReport=function(data,format){if(!IFrameSplitOperator.IsNonEmptyArray(data))return null;var text="";for(var i=0;i<data.length;++i){var item=data[i];var quarter=item.Quarter;var year=item.Year;var _value2=item.Value;if(text.length>0)text+=',';text+=year.toString();switch(quarter){case 1:text+='一季报 ';break;case 2:text+='半年报 ';break;case 3:text+='三季报 ';break;case 4:text+='年报 ';break;}text+=this.FormatValue(_value2,format);}return text;};this.FormatMultiDataLine=function(value,dataInfo){if(!value)return null;var text="";if(Array.isArray(value)){for(var i=0;i<value.length;++i){var item=value[i];if(item.Type==0)continue;if(!IFrameSplitOperator.IsNumber(item.Value))continue;var strValue=this.FormatValue(item.Value,dataInfo);if(text.length>0)text+=',';text+=strValue;}}else{if(value.Type!=0&&IFrameSplitOperator.IsNumber(value.Value)){text=this.FormatValue(value.Value,dataInfo);}}if(text.length<=0)return null;return text;};//多变量输出
6312
- this.FormatStackedBarTitle=function(aryBar,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))return null;if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Color))return null;var aryText=[];for(var i=0;i<aryBar.length;++i){var value=aryBar[i];if(!IFrameSplitOperator.IsNumber(value))continue;var item={Text:value.toFixed(2)};if(dataInfo.Name&&dataInfo.Name[i])item.Name=dataInfo.Name[i];item.Color=dataInfo.Color[i];aryText.push(item);}if(aryText.length<=0)return null;return aryText;};this.FormatKLineTitle=function(item,dataInfo){if(!item)return null;var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
6311
+ {if(!this.TitleRect)return false;if(x>this.TitleRect.Left&&x<this.TitleRect.Left+this.TitleRect.Width&&y>this.TitleRect.Top&&y<this.TitleRect.Top+this.TitleRect.Height){return true;}return false;};this.FormatValue=function(value,item){if(item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)return IFrameSplitOperator.FormatValueStringV2(value,item.FloatPrecision,2,this.LanguageID);else if(item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);else if(item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)return value.toFixed(item.FloatPrecision).toString();else if(item.StringFormat==STRING_FORMAT_TYPE.INTEGER)return IFrameSplitOperator.FromatIntegerString(value,item.FloatPrecision,this.LanguageID);};this.FormatMultiReport=function(data,format){if(!IFrameSplitOperator.IsNonEmptyArray(data))return null;var text="";for(var i=0;i<data.length;++i){var item=data[i];var quarter=item.Quarter;var year=item.Year;var _value2=item.Value;if(text.length>0)text+=',';text+=year.toString();switch(quarter){case 1:text+='一季报 ';break;case 2:text+='半年报 ';break;case 3:text+='三季报 ';break;case 4:text+='年报 ';break;}text+=this.FormatValue(_value2,format);}return text;};this.FormatMultiDataLine=function(value,dataInfo){if(!value)return null;var text="";if(Array.isArray(value)){for(var i=0;i<value.length;++i){var item=value[i];if(item.Type==0)continue;if(!IFrameSplitOperator.IsNumber(item.Value))continue;var strValue=this.FormatValue(item.Value,dataInfo);if(text.length>0)text+=',';text+=strValue;}}else{if(value.Type!=0&&IFrameSplitOperator.IsNumber(value.Value)){text=this.FormatValue(value.Value,dataInfo);}}if(text.length<=0)return null;return text;};//多变量输出
6312
+ this.FormatStackedBarTitle=function(aryBar,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))return null;if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Color))return null;var aryText=[];for(var i=0;i<aryBar.length;++i){var value=aryBar[i];if(!IFrameSplitOperator.IsNumber(value))continue;var item={Text:value.toFixed(2)};if(dataInfo.Name&&dataInfo.Name[i])item.Name=dataInfo.Name[i];item.Color=dataInfo.Color[i];aryText.push(item);}if(aryText.length<=0)return null;return aryText;};this.FormatBaseLineBarTitle=function(kItem,dataInfo){var result=null;var aryText=[];if(!kItem)return result;if(!dataInfo.Chart)return result;var chart=dataInfo.Chart;var item=chart.GetItem(kItem);if(!item)return result;if(!IFrameSplitOperator.IsNumber(item.Up)&&!IFrameSplitOperator.IsNumber(item.Down))return result;result={Text:null,ArrayText:aryText};if(IFrameSplitOperator.IsNumber(item.Up)){var textItem={Name:null,Text:null};textItem.Text=this.FormatValue(item.Up,dataInfo);if(chart.UpName)textItem.Name=chart.UpName;if(chart.UpColor)textItem.Color=chart.UpColor;aryText.push(textItem);}if(IFrameSplitOperator.IsNumber(item.Down)){var textItem={Name:null,Text:null};textItem.Text=this.FormatValue(item.Down,dataInfo);if(chart.DownName)textItem.Name=chart.DownName;if(chart.DownColor)textItem.Color=chart.DownColor;if(aryText.length>0)textItem.LeftSpace=3;aryText.push(textItem);}return result;};this.FormatKLineTitle=function(item,dataInfo){if(!item)return null;var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
6313
6313
  var upperSymbol="";if(dataInfo.Symbol)upperSymbol=dataInfo.Symbol.toUpperCase();var pixelRatio=GetDevicePixelRatio();var leftSpace=3*pixelRatio;var aryText=[];if(IFrameSplitOperator.IsNumber(item.Date)){var text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Open)){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.High)){var color=this.GetColor(item.High,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Low)){var color=this.GetColor(item.Low,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Close)){var color=this.GetColor(item.Close,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}//涨幅
6314
6314
  if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}else if(item.YClose>0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Vol))//成交量
6315
6315
  {var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var vol=item.Vol/unit;var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Amount))//成交金额
@@ -6337,7 +6337,7 @@ var value=null;var preVaildItem=null;if(item.DataType=="StraightLine")//直线
6337
6337
  {value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else if(item.ChartClassName=="ChartVolProfileVisibleRange"){aryText=this.FormatVPVRTitle(this.LastPoint,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else{if(isShowLastData){var dataIndex=item.Data.Data.length-1;//显示最后一个数据
6338
6338
  }else{var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)return null;}var value=null;if(dataIndex>=0&&item.Data&&IFrameSplitOperator.IsNonEmptyArray(item.Data.Data))value=item.Data.Data[dataIndex];if(this.GetEventCallback)//外部处理
6339
6339
  {var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_OUT_TEXT);if(event){var sendData={Item:item,Index:titleIndex,Data:this.Data,FrameID:this.Frame.Identify,DataIndex:dataIndex,Value:value,PreventDefault:false,Out:null};event.Callback(event,sendData,this);if(sendData.Out)return sendData.Out;if(sendData.PreventDefault)return sendData.Out;}}if(item.DataType=="ChartMultiLine")//多线段数据
6340
- {aryText=this.ForamtMultiLineTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);if(!valueText)return null;}else if(item.DataType=="MULTI_POINT_LINE"){valueText=this.FormatMultiDataLine(value,item);if(!valueText)return null;}else if(item.DataType=="ChartStackedBar"){aryText=this.FormatStackedBarTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="DRAWKLINE"){aryText=this.FormatKLineTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartIndexTitle"){var outTitle=this.FormatIndexTitle(value,item);return outTitle;}else if(item.DataType=="ChartBand"){return null;}else if(g_ScriptIndexChartFactory.Has(item.DataType))//外部挂接
6340
+ {aryText=this.ForamtMultiLineTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);if(!valueText)return null;}else if(item.DataType=="MULTI_POINT_LINE"){valueText=this.FormatMultiDataLine(value,item);if(!valueText)return null;}else if(item.DataType=="ChartStackedBar"){aryText=this.FormatStackedBarTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="DRAWKLINE"){aryText=this.FormatKLineTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartIndexTitle"){var outTitle=this.FormatIndexTitle(value,item);return outTitle;}else if(item.DataType=="ChartBand"){return null;}else if(item.DataType=="ChartBaseLineBar"){var outTitle=this.FormatBaseLineBarTitle(value,item);return outTitle;}else if(g_ScriptIndexChartFactory.Has(item.DataType))//外部挂接
6341
6341
  {var find=g_ScriptIndexChartFactory.Get(item.DataType);if(find&&find.FormatTitleCallback)return find.FormatTitleCallback(value,item,dataIndex);}else if(value==null&&item.ChartClassName=="ChartStepLine")//当前值无效,上一个值延续
6342
6342
  {preVaildItem=this.GetPreVaildItem(item.Data.Data,dataIndex);if(!preVaildItem)return null;preText=this.FormatValue(preVaildItem.Item,item);if(item.Name){var dyValue=this.GetDynamicOutValue(item.Name,preText);if(dyValue)preText=dyValue;}valueText='--('+preText+')';return{Text:valueText,ArrayText:aryText};}else{if(value==null)return null;var arrowSuper=null;//独立颜色
6343
6343
  if(this.IsShowUpDownArrow){var preValue=null;if(dataIndex-1>=0)preValue=item.Data.Data[dataIndex-1];if(IFrameSplitOperator.IsNumber(preValue)){if(preValue>value)arrowSuper={Text:'↓',TextColor:this.UpDownArrowConfig.DownColor};else if(preValue<value)arrowSuper={Text:'↑',TextColor:this.UpDownArrowConfig.UpColor};else arrowSuper={Text:'→',TextColor:this.UpDownArrowConfig.UnchangeColor};if(this.TitleArrowType==1)arrowSuper.TextColor=item.Color;}}valueText=this.FormatValue(value,item);if(item.Name){var dyValue=this.GetDynamicOutValue(item.Name,valueText);if(dyValue)valueText=dyValue;}if(arrowSuper){var outItem={Name:null,Text:valueText,Color:item.Color,TextEx:[arrowSuper]};if(item.Name){var text=item.Name;var dyTitle=this.GetDynamicOutName(item.Name);//动态标题
@@ -12458,8 +12458,9 @@ chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(
12458
12458
  chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
12459
12459
  chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;hqChart.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateKLineTable=function(hqChart,windowIndex,varItem,i){var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
12460
12460
  chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;if(config){if(config.BGColor)chart.BGColor=config.BGColor;if(config.TextColor)chart.TextColor=config.TextColor;if(config.BorderColor)chart.BorderColor=config.BorderColor;if(IFrameSplitOperator.IsNumber(config.RowNamePosition))chart.RowNamePosition=config.RowNamePosition;if(IFrameSplitOperator.IsNumber(config.RowHeightType))chart.RowHeightType=config.RowHeightType;if(config.ItemMergin){var subItem=config.ItemMergin;if(IFrameSplitOperator.IsNumber(subItem.Left))chart.ItemMergin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))chart.ItemMergin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))chart.ItemMergin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))chart.ItemMergin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))chart.ItemMergin.YOffset=subItem.YOffset;}if(config.TextFont){var subItem=config.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)chart.TextFontConfig.Family=subItem.Family;}}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateScatterPlot=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;chart.Color=varItem.Draw.Color;chart.Radius=varItem.Draw.Radius;hqChart.ChartPaint.push(chart);};this.CreateScatterPlotV2=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlotV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
12461
- chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
12462
- chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
12461
+ chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
12462
+ chart.AryData=varItem.Draw.DrawData;chart.Style=1;//主图使用独立坐标模式
12463
+ var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;if(config.UpName)chart.UpName=config.UpName;if(config.DownName)chart.DownName=config.DownName;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,null,chart.Color);titleData.DataType="ChartBaseLineBar";titleData.Chart=chart;hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
12463
12464
  chart.KLineColor=varItem.Draw.DrawData.KLine;if(varItem.Color)chart.Color=varItem.Color;hqChart.ChartPaint.push(chart);};this.CreateRectangle=function(hqChart,windowIndex,varItem,i){var chart=new ChartRectangle();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Color=[varItem.Draw.DrawData.Color];chart.Rect=varItem.Draw.DrawData.Rect;if(varItem.Color)chart.BorderColor=this.GetColor(varItem.Color);hqChart.ChartPaint.push(chart);};this.CreateScriptOverlayLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartOverlayLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(i);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(varItem.IsDotLine)chart.IsDotLine=true;//虚线
12464
12465
  if(varItem.IsShow==false)chart.IsShow=false;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Data;chart.MainData.Data=varItem.Draw.DrawData.MainData;if(varItem.Draw.DrawData.Title)hqChart.TitlePaint[titleIndex].Data[i]=new DynamicTitleData(chart.Data,varItem.Draw.DrawData.Title,chart.Color);hqChart.ChartPaint.push(chart);};//创建K线
12465
12466
  this.CreateSelfKLine=function(hqChart,windowIndex,hisData){var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name="Self Kline";chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hisData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;chart.DrawType=this.KLineType;hqChart.ChartPaint.push(chart);};this.BindInstructionData=function(hqChart,windowIndex,hisData)//绑定指示指标
@@ -13304,7 +13305,8 @@ this.TooltipMinuteChart;//分时图
13304
13305
  this.TooltipKLineChart;//分时图
13305
13306
  this.FloatTooltip;//提示浮框
13306
13307
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
13307
- this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.ChartDestroy=function()//销毁
13308
+ this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.RequestStatus={IsFinishStockList:false,IsFinishMemberList:false};//下载状态
13309
+ this.ChartDestroy=function()//销毁
13308
13310
  {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
13309
13311
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
13310
13312
  this.JSPopMenu.Inital();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
@@ -13329,7 +13331,7 @@ this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段
13329
13331
  this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
13330
13332
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this60=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this60.Draw();},frequency);};this.ResetReportStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetReportSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;chart.MultiSelectedRow=[];}};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Virtual.Count=0;this.BlockData=new _map2.default();};this.ClearMapStockData=function(){this.MapStockData=new _map2.default();};this.ResetSortStatus=function(){this.SortInfo.Field=-1;this.SortInfo.Sort=0;};this.SetSelectedRow=function(option){var reportChart=this.GetReportChart();if(!reportChart)return false;if(!reportChart.SetSelectedRow(option))return false;this.Draw();};//设置股票列表
13331
13333
  this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this61=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsNonEmptyArray(option.Column))//字段重新设置
13332
- {this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this61.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据
13334
+ {this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this61.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStatus.IsFinishStockList=false;this.RequestStatus.IsFinishMemberList=false;this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据
13333
13335
  this.UpdateFullData=function(data){var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
13334
13336
  for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);arySymbol.push(symbol);}}//设置显示数据
13335
13337
  this.Data.Data=[];this.SourceData.Data=[];if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);this.SourceData.Data.push(arySymbol[i]);}}this.Draw();};//设置全部的数据
@@ -13377,26 +13379,27 @@ this.SetFullData=function(data){this.ClearMapStockData();this.ClearData();this.R
13377
13379
  */};this.RequestMemberListData=function(){//this.ChartSplashPaint.SetTitle(this.SplashTitle.MemberList);
13378
13380
  //this.ChartSplashPaint.EnableSplash(true);
13379
13381
  //this.Draw();
13380
- var self=this;if(this.NetworkFilter){var obj={Name:'JSReportChartContainer::RequestMemberListData',//类名::
13382
+ this.RequestStatus.IsFinishMemberList=false;var self=this;if(this.NetworkFilter){var obj={Name:'JSReportChartContainer::RequestMemberListData',//类名::
13381
13383
  Explain:'板块成分数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};if(this.SortInfo.Field>=0&&this.SortInfo.Sort>0){var reportChart=this.GetReportChart();if(reportChart){var column=reportChart.Column[this.SortInfo.Field];obj.Sort={Column:column,Field:this.SortInfo.Field,Sort:this.SortInfo.Sort};}}this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMemberListData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
13382
13384
  }//throw { Name:'JSReportChartContainer::RequestMemberListData', Error:'(板块成分数据)不提供内置测试数据' };
13383
13385
  };this.RecvMemberListData=function(recvData){this.ClearData();if(IFrameSplitOperator.IsNonEmptyArray(recvData.data)){for(var i=0;i<recvData.data.length;++i){this.Data.Data.push(recvData.data[i]);this.SourceData.Data.push(recvData.data[i]);}}if(recvData.Virtual)//虚拟表设置
13384
- {var item=recvData.Virtual;if(IFrameSplitOperator.IsNumber(item.Count))this.Data.Virtual.Count=item.Count;}this.Draw();this.UpdateStockData();};//删除股票
13386
+ {var item=recvData.Virtual;if(IFrameSplitOperator.IsNumber(item.Count))this.Data.Virtual.Count=item.Count;}this.RequestStatus.IsFinishMemberList=true;this.Draw();this.UpdateStockData();};//删除股票
13385
13387
  this.DeleteSymbol=function(arySymbol,option){if(!IFrameSplitOperator.IsNonEmptyArray(arySymbol))return false;var setSymbol=new _set2.default(arySymbol);var bFinder=false;if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)){var aryData=[];for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(setSymbol.has(item)){bFinder=true;continue;}aryData.push(item);}if(bFinder)this.SourceData.Data=aryData;}if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var aryData=[];for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(setSymbol.has(item)){bFinder=true;continue;}aryData.push(item);}if(bFinder)this.Data.Data=aryData;}if(!bFinder)return false;this.Draw();this.UpdateStockData();return true;};//添加股票
13386
13388
  this.AddSymbol=function(arySymbol,option){if(!IFrameSplitOperator.IsNonEmptyArray(arySymbol))return false;var bDuplicate=true;if(option&&IFrameSplitOperator.IsBool(option.Duplicate))bDuplicate=option.Duplicate;//是否去重
13387
13389
  var mapSymbol=new _map2.default();for(var i=0;i<arySymbol.length;++i){var item={Symbol:arySymbol[i],IsExist:false,IsExist2:false};mapSymbol.set(item.Symbol,item);}if(bDuplicate){if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)){for(var i=0;i<this.SourceData.Data.length;++i){var item=this.Data.Data[i];if(mapSymbol.has(item)){mapSymbol.get(item).IsExist=true;}}}if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(mapSymbol.has(item)){mapSymbol.get(item).IsExist2=true;}}}}var _iteratorNormalCompletion24=true;var _didIteratorError24=false;var _iteratorError24=undefined;try{for(var _iterator24=(0,_getIterator3.default)(mapSymbol),_step24;!(_iteratorNormalCompletion24=(_step24=_iterator24.next()).done);_iteratorNormalCompletion24=true){var mapItem=_step24.value;var item=mapItem[1];if(!item.IsExist)this.SourceData.Data.push(item.Symbol);if(!item.IsExist2)this.Data.Data.push(item.Symbol);}}catch(err){_didIteratorError24=true;_iteratorError24=err;}finally{try{if(!_iteratorNormalCompletion24&&_iterator24.return){_iterator24.return();}}finally{if(_didIteratorError24){throw _iteratorError24;}}}this.Draw();this.UpdateStockData();return true;};//下载码表
13388
- this.RequestStockListData=function(option){this.ChartSplashPaint.SetTitle(this.SplashTitle.StockList);this.ChartSplashPaint.EnableSplash(true);this.Draw();var self=this;if(this.NetworkFilter){var obj={Name:'JSReportChartContainer::RequestStockListData',//类名::
13390
+ this.RequestStockListData=function(option){this.RequestStatus.IsFinishStockList=false;this.ChartSplashPaint.SetTitle(this.SplashTitle.StockList);this.ChartSplashPaint.EnableSplash(true);this.Draw();var self=this;if(this.NetworkFilter){var obj={Name:'JSReportChartContainer::RequestStockListData',//类名::
13389
13391
  Explain:'码表数据',Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvStockListData(data,option);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
13390
13392
  }//throw { Name:'JSReportChartContainer::RequestStockListData', Error:'(码表数据)不提供内置测试数据' };
13391
13393
  };this.RecvStockListData=function(data,option){if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
13392
- for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[88]))stock.PriceColorType=item[88];this.ReadStockJsonData(stock,item);}}if(option&&option.Callback){option.Callback();return;}this.Draw();this.UpdateStockData();};//更新股票数据
13394
+ for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[88]))stock.PriceColorType=item[88];this.ReadStockJsonData(stock,item);}}this.RequestStatus.IsFinishStockList=true;if(option&&option.Callback){option.Callback();return;}this.Draw();this.UpdateStockData();};//更新股票数据
13393
13395
  this.UpdateMapStockData=function(data){if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.data))return;//0=证券代码 1=股票名称
13394
13396
  for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);}};//获取个股数据
13395
13397
  this.GetStockData=function(symbol){if(!this.MapStockData)return null;if(!this.MapStockData.has(symbol))return null;return this.MapStockData.get(symbol);};this.GetBlockData=function(symbol){if(!this.BlockData)return null;if(!this.BlockData.has(symbol))return null;return this.BlockData.get(symbol);};//obj={ ID:, Color: , Time:, Count: }
13396
13398
  this.SetFlashBGItem=function(symbol,obj){var item={ID:obj.ID,Color:obj.Color,Count:1};if(IFrameSplitOperator.IsNumber(obj.Count))item.Count=obj.Count;if(IFrameSplitOperator.IsNumber(obj.Time))item.Time=obj.Time;else item.Time=Date.now();if(this.FlashBG.has(symbol)){var stockItem=this.FlashBG.get(symbol);stockItem.LastTime=item.Time;stockItem.Data.set(item.ID,item);}else{var stockItem={LastTime:item.Time,Data:new _map2.default([[item.ID,item]])};this.FlashBG.set(symbol,stockItem);}};this.GetFlashBGData=function(symbol,time){if(!this.FlashBG)return null;if(!this.FlashBG.has(symbol))return null;var timeDiff=3*1000;var stockItem=this.FlashBG.get(symbol);if(time-stockItem.LastTime>=timeDiff)//超时的删除
13397
13399
  {this.FlashBG.delete(symbol);return null;}if(!stockItem.Data||stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}var aryDelID=[];//超时需要参数的
13398
13400
  var _iteratorNormalCompletion25=true;var _didIteratorError25=false;var _iteratorError25=undefined;try{for(var _iterator25=(0,_getIterator3.default)(stockItem.Data),_step25;!(_iteratorNormalCompletion25=(_step25=_iterator25.next()).done);_iteratorNormalCompletion25=true){var mapItem=_step25.value;var item=mapItem[1];if(time-item.Time>=timeDiff||item.Count<=0)aryDelID.push(item.ID);}}catch(err){_didIteratorError25=true;_iteratorError25=err;}finally{try{if(!_iteratorNormalCompletion25&&_iterator25.return){_iterator25.return();}}finally{if(_didIteratorError25){throw _iteratorError25;}}}if(IFrameSplitOperator.IsNonEmptyArray(aryDelID)){for(var i=0;i<aryDelID.length;++i){stockItem.Data.delete(aryDelID[i]);}if(stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}}return stockItem;};//delay=是否延迟
13399
- this.DelayUpdateStockData=function(){var _this62=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this62.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;if(this.Data.Virtual&&this.Data.Virtual.Enable){this.RequestVirtualStockData();//虚拟表格 全部取后台
13401
+ this.DelayUpdateStockData=function(){var _this62=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this62.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
13402
+ if(this.RequestStatus.IsFinishMemberList==false||this.RequestStatus.IsFinishMemberList==false)return;if(this.Data.Virtual&&this.Data.Virtual.Enable){this.RequestVirtualStockData();//虚拟表格 全部取后台
13400
13403
  return;}//if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
13401
13404
  if(this.SortInfo&&this.SortInfo.Field>=0&&this.SortInfo.Sort>0){var column=chart.Column[this.SortInfo.Field];if(column.Sort==2){this.RequestStockSortData(column,this.SortInfo.Field,this.SortInfo.Sort);//远程排序
13402
13405
  return;}}var arySymbol=chart.ShowSymbol;//if (!IFrameSplitOperator.IsNonEmptyArray(arySymbol)) return;
@@ -15187,7 +15190,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15187
15190
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
15188
15191
  * 版本信息输出
15189
15192
  *
15190
- */var HQCHART_VERSION="1.1.14909";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
15193
+ */var HQCHART_VERSION="1.1.14914";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
15191
15194
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15192
15195
  // BaseIndex:BaseIndex,
15193
15196
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14910",
3
+ "version": "1.1.14915",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -22324,7 +22324,7 @@ function ScriptIndex(name,script,args,option)
22324
22324
  hqChart.ChartPaint.push(chart);
22325
22325
  }
22326
22326
 
22327
- this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
22327
+ this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i)
22328
22328
  {
22329
22329
  var chart=new ChartBaseLineBar();
22330
22330
  chart.Canvas=hqChart.Canvas;
@@ -22336,6 +22336,7 @@ function ScriptIndex(name,script,args,option)
22336
22336
 
22337
22337
  chart.Data=hqChart.GetKData(); //绑定K线
22338
22338
  chart.AryData=varItem.Draw.DrawData;
22339
+ chart.Style=1; //主图使用独立坐标模式
22339
22340
 
22340
22341
  var config=varItem.Draw.Config;
22341
22342
  if (config)
@@ -22344,11 +22345,19 @@ function ScriptIndex(name,script,args,option)
22344
22345
  if (config.DownColor) chart.DownColor=config.DownColor;
22345
22346
  if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
22346
22347
  if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
22348
+ if (config.UpName) chart.UpName=config.UpName;
22349
+ if (config.DownName) chart.DownName=config.DownName;
22347
22350
  }
22348
22351
 
22349
22352
  chart.BuildCacheData();
22350
22353
  this.SetChartIndexName(chart);
22351
22354
  hqChart.ChartPaint.push(chart);
22355
+
22356
+ var titleIndex=windowIndex+1;
22357
+ var titleData=new DynamicTitleData(chart.Data,null,chart.Color);
22358
+ titleData.DataType="ChartBaseLineBar";
22359
+ titleData.Chart=chart;
22360
+ hqChart.TitlePaint[titleIndex].Data[i]=titleData;
22352
22361
  }
22353
22362
 
22354
22363
 
@@ -41727,6 +41727,8 @@ function ChartBaseLineBar()
41727
41727
  this.ClassName="ChartBaseLineBar";
41728
41728
  this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
41729
41729
  this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
41730
+ this.UpName;
41731
+ this.DownName;
41730
41732
  this.LineWidth=1;
41731
41733
  this.Style=0; //0=坐标使用主图坐标 1=独立坐标
41732
41734
  this.IsDrawFirst=true;
@@ -42015,6 +42017,15 @@ function ChartBaseLineBar()
42015
42017
 
42016
42018
  return range;
42017
42019
  }
42020
+
42021
+ this.GetItem=function(kItem)
42022
+ {
42023
+ if (!this.MapCache || this.MapCache.size<=0) return null;
42024
+ var key=this.BuildKey(kItem);
42025
+ if (!this.MapCache.has(key)) return null;
42026
+
42027
+ return this.MapCache.get(key);
42028
+ }
42018
42029
  }
42019
42030
 
42020
42031
  function ChartClipColorStick()
@@ -61856,7 +61867,7 @@ function DynamicChartTitlePainting()
61856
61867
  this.FormatValue=function(value,item)
61857
61868
  {
61858
61869
  if (item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)
61859
- return IFrameSplitOperator.FormatValueString(value,item.FloatPrecision,this.LanguageID);
61870
+ return IFrameSplitOperator.FormatValueStringV2(value,item.FloatPrecision,2,this.LanguageID);
61860
61871
  else if (item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)
61861
61872
  return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);
61862
61873
  else if (item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)
@@ -61956,6 +61967,45 @@ function DynamicChartTitlePainting()
61956
61967
  return aryText;
61957
61968
  }
61958
61969
 
61970
+ this.FormatBaseLineBarTitle=function(kItem, dataInfo)
61971
+ {
61972
+ var result=null;
61973
+ var aryText=[];
61974
+
61975
+ if (!kItem) return result;
61976
+ if (!dataInfo.Chart) return result;
61977
+
61978
+ var chart=dataInfo.Chart;
61979
+ var item=chart.GetItem(kItem);
61980
+ if (!item) return result;
61981
+ if (!IFrameSplitOperator.IsNumber(item.Up) && !IFrameSplitOperator.IsNumber(item.Down)) return result;
61982
+
61983
+ result={ Text:null, ArrayText:aryText };
61984
+ if (IFrameSplitOperator.IsNumber(item.Up))
61985
+ {
61986
+ var textItem={ Name:null, Text:null };
61987
+ textItem.Text=this.FormatValue(item.Up, dataInfo);
61988
+
61989
+ if (chart.UpName) textItem.Name=chart.UpName;
61990
+ if (chart.UpColor) textItem.Color=chart.UpColor;
61991
+ aryText.push(textItem);
61992
+ }
61993
+
61994
+ if (IFrameSplitOperator.IsNumber(item.Down))
61995
+ {
61996
+ var textItem={ Name:null, Text:null };
61997
+ textItem.Text=this.FormatValue(item.Down,dataInfo);
61998
+ if (chart.DownName) textItem.Name=chart.DownName;
61999
+ if (chart.DownColor) textItem.Color=chart.DownColor;
62000
+
62001
+ if (aryText.length>0) textItem.LeftSpace=3;
62002
+
62003
+ aryText.push(textItem);
62004
+ }
62005
+
62006
+ return result;
62007
+ }
62008
+
61959
62009
  this.FormatKLineTitle=function(item, dataInfo)
61960
62010
  {
61961
62011
  if (!item) return null;
@@ -62601,6 +62651,11 @@ function DynamicChartTitlePainting()
62601
62651
  {
62602
62652
  return null;
62603
62653
  }
62654
+ else if (item.DataType=="ChartBaseLineBar")
62655
+ {
62656
+ var outTitle=this.FormatBaseLineBarTitle(value, item);
62657
+ return outTitle;
62658
+ }
62604
62659
  else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
62605
62660
  {
62606
62661
  var find=g_ScriptIndexChartFactory.Get(item.DataType);
@@ -494,6 +494,7 @@ function JSReportChartContainer(uielement)
494
494
 
495
495
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
496
496
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
497
+ this.RequestStatus={ IsFinishStockList:false, IsFinishMemberList:false }; //下载状态
497
498
 
498
499
  this.ChartDestroy=function() //销毁
499
500
  {
@@ -1032,6 +1033,8 @@ function JSReportChartContainer(uielement)
1032
1033
  var requestOption={ Callback:null };
1033
1034
  if (this.Symbol) requestOption.Callback=()=>{ this.RequestMemberListData(); };
1034
1035
  this.MapStockData=new Map();
1036
+ this.RequestStatus.IsFinishStockList=false;
1037
+ this.RequestStatus.IsFinishMemberList=false;
1035
1038
  this.RequestStockListData(requestOption);
1036
1039
  return;
1037
1040
  }
@@ -1146,7 +1149,7 @@ function JSReportChartContainer(uielement)
1146
1149
  //this.ChartSplashPaint.SetTitle(this.SplashTitle.MemberList);
1147
1150
  //this.ChartSplashPaint.EnableSplash(true);
1148
1151
  //this.Draw();
1149
-
1152
+ this.RequestStatus.IsFinishMemberList=false;
1150
1153
  var self=this;
1151
1154
  if (this.NetworkFilter)
1152
1155
  {
@@ -1200,6 +1203,8 @@ function JSReportChartContainer(uielement)
1200
1203
  if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
1201
1204
  }
1202
1205
 
1206
+ this.RequestStatus.IsFinishMemberList=true;
1207
+
1203
1208
  this.Draw();
1204
1209
  this.UpdateStockData();
1205
1210
  }
@@ -1311,6 +1316,7 @@ function JSReportChartContainer(uielement)
1311
1316
  //下载码表
1312
1317
  this.RequestStockListData=function(option)
1313
1318
  {
1319
+ this.RequestStatus.IsFinishStockList=false;
1314
1320
  this.ChartSplashPaint.SetTitle(this.SplashTitle.StockList);
1315
1321
  this.ChartSplashPaint.EnableSplash(true);
1316
1322
  this.Draw();
@@ -1366,6 +1372,8 @@ function JSReportChartContainer(uielement)
1366
1372
  }
1367
1373
  }
1368
1374
 
1375
+ this.RequestStatus.IsFinishStockList=true;
1376
+
1369
1377
  if (option && option.Callback)
1370
1378
  {
1371
1379
  option.Callback();
@@ -1509,6 +1517,9 @@ function JSReportChartContainer(uielement)
1509
1517
  var chart=this.ChartPaint[0];
1510
1518
  if (!chart) return;
1511
1519
 
1520
+ //列表还没有加载完成
1521
+ if (this.RequestStatus.IsFinishMemberList==false || this.RequestStatus.IsFinishMemberList==false) return;
1522
+
1512
1523
  if (this.Data.Virtual && this.Data.Virtual.Enable)
1513
1524
  {
1514
1525
  this.RequestVirtualStockData(); //虚拟表格 全部取后台
@@ -45823,6 +45823,8 @@ function ChartBaseLineBar()
45823
45823
  this.ClassName="ChartBaseLineBar";
45824
45824
  this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
45825
45825
  this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
45826
+ this.UpName;
45827
+ this.DownName;
45826
45828
  this.LineWidth=1;
45827
45829
  this.Style=0; //0=坐标使用主图坐标 1=独立坐标
45828
45830
  this.IsDrawFirst=true;
@@ -46111,6 +46113,15 @@ function ChartBaseLineBar()
46111
46113
 
46112
46114
  return range;
46113
46115
  }
46116
+
46117
+ this.GetItem=function(kItem)
46118
+ {
46119
+ if (!this.MapCache || this.MapCache.size<=0) return null;
46120
+ var key=this.BuildKey(kItem);
46121
+ if (!this.MapCache.has(key)) return null;
46122
+
46123
+ return this.MapCache.get(key);
46124
+ }
46114
46125
  }
46115
46126
 
46116
46127
  function ChartClipColorStick()
@@ -65952,7 +65963,7 @@ function DynamicChartTitlePainting()
65952
65963
  this.FormatValue=function(value,item)
65953
65964
  {
65954
65965
  if (item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)
65955
- return IFrameSplitOperator.FormatValueString(value,item.FloatPrecision,this.LanguageID);
65966
+ return IFrameSplitOperator.FormatValueStringV2(value,item.FloatPrecision,2,this.LanguageID);
65956
65967
  else if (item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)
65957
65968
  return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);
65958
65969
  else if (item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)
@@ -66052,6 +66063,45 @@ function DynamicChartTitlePainting()
66052
66063
  return aryText;
66053
66064
  }
66054
66065
 
66066
+ this.FormatBaseLineBarTitle=function(kItem, dataInfo)
66067
+ {
66068
+ var result=null;
66069
+ var aryText=[];
66070
+
66071
+ if (!kItem) return result;
66072
+ if (!dataInfo.Chart) return result;
66073
+
66074
+ var chart=dataInfo.Chart;
66075
+ var item=chart.GetItem(kItem);
66076
+ if (!item) return result;
66077
+ if (!IFrameSplitOperator.IsNumber(item.Up) && !IFrameSplitOperator.IsNumber(item.Down)) return result;
66078
+
66079
+ result={ Text:null, ArrayText:aryText };
66080
+ if (IFrameSplitOperator.IsNumber(item.Up))
66081
+ {
66082
+ var textItem={ Name:null, Text:null };
66083
+ textItem.Text=this.FormatValue(item.Up, dataInfo);
66084
+
66085
+ if (chart.UpName) textItem.Name=chart.UpName;
66086
+ if (chart.UpColor) textItem.Color=chart.UpColor;
66087
+ aryText.push(textItem);
66088
+ }
66089
+
66090
+ if (IFrameSplitOperator.IsNumber(item.Down))
66091
+ {
66092
+ var textItem={ Name:null, Text:null };
66093
+ textItem.Text=this.FormatValue(item.Down,dataInfo);
66094
+ if (chart.DownName) textItem.Name=chart.DownName;
66095
+ if (chart.DownColor) textItem.Color=chart.DownColor;
66096
+
66097
+ if (aryText.length>0) textItem.LeftSpace=3;
66098
+
66099
+ aryText.push(textItem);
66100
+ }
66101
+
66102
+ return result;
66103
+ }
66104
+
66055
66105
  this.FormatKLineTitle=function(item, dataInfo)
66056
66106
  {
66057
66107
  if (!item) return null;
@@ -66697,6 +66747,11 @@ function DynamicChartTitlePainting()
66697
66747
  {
66698
66748
  return null;
66699
66749
  }
66750
+ else if (item.DataType=="ChartBaseLineBar")
66751
+ {
66752
+ var outTitle=this.FormatBaseLineBarTitle(value, item);
66753
+ return outTitle;
66754
+ }
66700
66755
  else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
66701
66756
  {
66702
66757
  var find=g_ScriptIndexChartFactory.Get(item.DataType);
@@ -129907,7 +129962,7 @@ function ScriptIndex(name,script,args,option)
129907
129962
  hqChart.ChartPaint.push(chart);
129908
129963
  }
129909
129964
 
129910
- this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
129965
+ this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i)
129911
129966
  {
129912
129967
  var chart=new ChartBaseLineBar();
129913
129968
  chart.Canvas=hqChart.Canvas;
@@ -129919,6 +129974,7 @@ function ScriptIndex(name,script,args,option)
129919
129974
 
129920
129975
  chart.Data=hqChart.GetKData(); //绑定K线
129921
129976
  chart.AryData=varItem.Draw.DrawData;
129977
+ chart.Style=1; //主图使用独立坐标模式
129922
129978
 
129923
129979
  var config=varItem.Draw.Config;
129924
129980
  if (config)
@@ -129927,11 +129983,19 @@ function ScriptIndex(name,script,args,option)
129927
129983
  if (config.DownColor) chart.DownColor=config.DownColor;
129928
129984
  if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
129929
129985
  if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
129986
+ if (config.UpName) chart.UpName=config.UpName;
129987
+ if (config.DownName) chart.DownName=config.DownName;
129930
129988
  }
129931
129989
 
129932
129990
  chart.BuildCacheData();
129933
129991
  this.SetChartIndexName(chart);
129934
129992
  hqChart.ChartPaint.push(chart);
129993
+
129994
+ var titleIndex=windowIndex+1;
129995
+ var titleData=new DynamicTitleData(chart.Data,null,chart.Color);
129996
+ titleData.DataType="ChartBaseLineBar";
129997
+ titleData.Chart=chart;
129998
+ hqChart.TitlePaint[titleIndex].Data[i]=titleData;
129935
129999
  }
129936
130000
 
129937
130001
 
@@ -138129,6 +138193,7 @@ function JSReportChartContainer(uielement)
138129
138193
 
138130
138194
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
138131
138195
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
138196
+ this.RequestStatus={ IsFinishStockList:false, IsFinishMemberList:false }; //下载状态
138132
138197
 
138133
138198
  this.ChartDestroy=function() //销毁
138134
138199
  {
@@ -138667,6 +138732,8 @@ function JSReportChartContainer(uielement)
138667
138732
  var requestOption={ Callback:null };
138668
138733
  if (this.Symbol) requestOption.Callback=()=>{ this.RequestMemberListData(); };
138669
138734
  this.MapStockData=new Map();
138735
+ this.RequestStatus.IsFinishStockList=false;
138736
+ this.RequestStatus.IsFinishMemberList=false;
138670
138737
  this.RequestStockListData(requestOption);
138671
138738
  return;
138672
138739
  }
@@ -138781,7 +138848,7 @@ function JSReportChartContainer(uielement)
138781
138848
  //this.ChartSplashPaint.SetTitle(this.SplashTitle.MemberList);
138782
138849
  //this.ChartSplashPaint.EnableSplash(true);
138783
138850
  //this.Draw();
138784
-
138851
+ this.RequestStatus.IsFinishMemberList=false;
138785
138852
  var self=this;
138786
138853
  if (this.NetworkFilter)
138787
138854
  {
@@ -138835,6 +138902,8 @@ function JSReportChartContainer(uielement)
138835
138902
  if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
138836
138903
  }
138837
138904
 
138905
+ this.RequestStatus.IsFinishMemberList=true;
138906
+
138838
138907
  this.Draw();
138839
138908
  this.UpdateStockData();
138840
138909
  }
@@ -138946,6 +139015,7 @@ function JSReportChartContainer(uielement)
138946
139015
  //下载码表
138947
139016
  this.RequestStockListData=function(option)
138948
139017
  {
139018
+ this.RequestStatus.IsFinishStockList=false;
138949
139019
  this.ChartSplashPaint.SetTitle(this.SplashTitle.StockList);
138950
139020
  this.ChartSplashPaint.EnableSplash(true);
138951
139021
  this.Draw();
@@ -139001,6 +139071,8 @@ function JSReportChartContainer(uielement)
139001
139071
  }
139002
139072
  }
139003
139073
 
139074
+ this.RequestStatus.IsFinishStockList=true;
139075
+
139004
139076
  if (option && option.Callback)
139005
139077
  {
139006
139078
  option.Callback();
@@ -139144,6 +139216,9 @@ function JSReportChartContainer(uielement)
139144
139216
  var chart=this.ChartPaint[0];
139145
139217
  if (!chart) return;
139146
139218
 
139219
+ //列表还没有加载完成
139220
+ if (this.RequestStatus.IsFinishMemberList==false || this.RequestStatus.IsFinishMemberList==false) return;
139221
+
139147
139222
  if (this.Data.Virtual && this.Data.Virtual.Enable)
139148
139223
  {
139149
139224
  this.RequestVirtualStockData(); //虚拟表格 全部取后台
@@ -151029,7 +151104,7 @@ function ScrollBarBGChart()
151029
151104
 
151030
151105
 
151031
151106
 
151032
- var HQCHART_VERSION="1.1.14909";
151107
+ var HQCHART_VERSION="1.1.14914";
151033
151108
 
151034
151109
  function PrintHQChartVersion()
151035
151110
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14909";
8
+ var HQCHART_VERSION="1.1.14914";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -45867,6 +45867,8 @@ function ChartBaseLineBar()
45867
45867
  this.ClassName="ChartBaseLineBar";
45868
45868
  this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
45869
45869
  this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
45870
+ this.UpName;
45871
+ this.DownName;
45870
45872
  this.LineWidth=1;
45871
45873
  this.Style=0; //0=坐标使用主图坐标 1=独立坐标
45872
45874
  this.IsDrawFirst=true;
@@ -46155,6 +46157,15 @@ function ChartBaseLineBar()
46155
46157
 
46156
46158
  return range;
46157
46159
  }
46160
+
46161
+ this.GetItem=function(kItem)
46162
+ {
46163
+ if (!this.MapCache || this.MapCache.size<=0) return null;
46164
+ var key=this.BuildKey(kItem);
46165
+ if (!this.MapCache.has(key)) return null;
46166
+
46167
+ return this.MapCache.get(key);
46168
+ }
46158
46169
  }
46159
46170
 
46160
46171
  function ChartClipColorStick()
@@ -65996,7 +66007,7 @@ function DynamicChartTitlePainting()
65996
66007
  this.FormatValue=function(value,item)
65997
66008
  {
65998
66009
  if (item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)
65999
- return IFrameSplitOperator.FormatValueString(value,item.FloatPrecision,this.LanguageID);
66010
+ return IFrameSplitOperator.FormatValueStringV2(value,item.FloatPrecision,2,this.LanguageID);
66000
66011
  else if (item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)
66001
66012
  return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);
66002
66013
  else if (item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)
@@ -66096,6 +66107,45 @@ function DynamicChartTitlePainting()
66096
66107
  return aryText;
66097
66108
  }
66098
66109
 
66110
+ this.FormatBaseLineBarTitle=function(kItem, dataInfo)
66111
+ {
66112
+ var result=null;
66113
+ var aryText=[];
66114
+
66115
+ if (!kItem) return result;
66116
+ if (!dataInfo.Chart) return result;
66117
+
66118
+ var chart=dataInfo.Chart;
66119
+ var item=chart.GetItem(kItem);
66120
+ if (!item) return result;
66121
+ if (!IFrameSplitOperator.IsNumber(item.Up) && !IFrameSplitOperator.IsNumber(item.Down)) return result;
66122
+
66123
+ result={ Text:null, ArrayText:aryText };
66124
+ if (IFrameSplitOperator.IsNumber(item.Up))
66125
+ {
66126
+ var textItem={ Name:null, Text:null };
66127
+ textItem.Text=this.FormatValue(item.Up, dataInfo);
66128
+
66129
+ if (chart.UpName) textItem.Name=chart.UpName;
66130
+ if (chart.UpColor) textItem.Color=chart.UpColor;
66131
+ aryText.push(textItem);
66132
+ }
66133
+
66134
+ if (IFrameSplitOperator.IsNumber(item.Down))
66135
+ {
66136
+ var textItem={ Name:null, Text:null };
66137
+ textItem.Text=this.FormatValue(item.Down,dataInfo);
66138
+ if (chart.DownName) textItem.Name=chart.DownName;
66139
+ if (chart.DownColor) textItem.Color=chart.DownColor;
66140
+
66141
+ if (aryText.length>0) textItem.LeftSpace=3;
66142
+
66143
+ aryText.push(textItem);
66144
+ }
66145
+
66146
+ return result;
66147
+ }
66148
+
66099
66149
  this.FormatKLineTitle=function(item, dataInfo)
66100
66150
  {
66101
66151
  if (!item) return null;
@@ -66741,6 +66791,11 @@ function DynamicChartTitlePainting()
66741
66791
  {
66742
66792
  return null;
66743
66793
  }
66794
+ else if (item.DataType=="ChartBaseLineBar")
66795
+ {
66796
+ var outTitle=this.FormatBaseLineBarTitle(value, item);
66797
+ return outTitle;
66798
+ }
66744
66799
  else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
66745
66800
  {
66746
66801
  var find=g_ScriptIndexChartFactory.Get(item.DataType);
@@ -129951,7 +130006,7 @@ function ScriptIndex(name,script,args,option)
129951
130006
  hqChart.ChartPaint.push(chart);
129952
130007
  }
129953
130008
 
129954
- this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
130009
+ this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i)
129955
130010
  {
129956
130011
  var chart=new ChartBaseLineBar();
129957
130012
  chart.Canvas=hqChart.Canvas;
@@ -129963,6 +130018,7 @@ function ScriptIndex(name,script,args,option)
129963
130018
 
129964
130019
  chart.Data=hqChart.GetKData(); //绑定K线
129965
130020
  chart.AryData=varItem.Draw.DrawData;
130021
+ chart.Style=1; //主图使用独立坐标模式
129966
130022
 
129967
130023
  var config=varItem.Draw.Config;
129968
130024
  if (config)
@@ -129971,11 +130027,19 @@ function ScriptIndex(name,script,args,option)
129971
130027
  if (config.DownColor) chart.DownColor=config.DownColor;
129972
130028
  if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
129973
130029
  if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
130030
+ if (config.UpName) chart.UpName=config.UpName;
130031
+ if (config.DownName) chart.DownName=config.DownName;
129974
130032
  }
129975
130033
 
129976
130034
  chart.BuildCacheData();
129977
130035
  this.SetChartIndexName(chart);
129978
130036
  hqChart.ChartPaint.push(chart);
130037
+
130038
+ var titleIndex=windowIndex+1;
130039
+ var titleData=new DynamicTitleData(chart.Data,null,chart.Color);
130040
+ titleData.DataType="ChartBaseLineBar";
130041
+ titleData.Chart=chart;
130042
+ hqChart.TitlePaint[titleIndex].Data[i]=titleData;
129979
130043
  }
129980
130044
 
129981
130045
 
@@ -138173,6 +138237,7 @@ function JSReportChartContainer(uielement)
138173
138237
 
138174
138238
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
138175
138239
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
138240
+ this.RequestStatus={ IsFinishStockList:false, IsFinishMemberList:false }; //下载状态
138176
138241
 
138177
138242
  this.ChartDestroy=function() //销毁
138178
138243
  {
@@ -138711,6 +138776,8 @@ function JSReportChartContainer(uielement)
138711
138776
  var requestOption={ Callback:null };
138712
138777
  if (this.Symbol) requestOption.Callback=()=>{ this.RequestMemberListData(); };
138713
138778
  this.MapStockData=new Map();
138779
+ this.RequestStatus.IsFinishStockList=false;
138780
+ this.RequestStatus.IsFinishMemberList=false;
138714
138781
  this.RequestStockListData(requestOption);
138715
138782
  return;
138716
138783
  }
@@ -138825,7 +138892,7 @@ function JSReportChartContainer(uielement)
138825
138892
  //this.ChartSplashPaint.SetTitle(this.SplashTitle.MemberList);
138826
138893
  //this.ChartSplashPaint.EnableSplash(true);
138827
138894
  //this.Draw();
138828
-
138895
+ this.RequestStatus.IsFinishMemberList=false;
138829
138896
  var self=this;
138830
138897
  if (this.NetworkFilter)
138831
138898
  {
@@ -138879,6 +138946,8 @@ function JSReportChartContainer(uielement)
138879
138946
  if (IFrameSplitOperator.IsNumber(item.Count)) this.Data.Virtual.Count=item.Count;
138880
138947
  }
138881
138948
 
138949
+ this.RequestStatus.IsFinishMemberList=true;
138950
+
138882
138951
  this.Draw();
138883
138952
  this.UpdateStockData();
138884
138953
  }
@@ -138990,6 +139059,7 @@ function JSReportChartContainer(uielement)
138990
139059
  //下载码表
138991
139060
  this.RequestStockListData=function(option)
138992
139061
  {
139062
+ this.RequestStatus.IsFinishStockList=false;
138993
139063
  this.ChartSplashPaint.SetTitle(this.SplashTitle.StockList);
138994
139064
  this.ChartSplashPaint.EnableSplash(true);
138995
139065
  this.Draw();
@@ -139045,6 +139115,8 @@ function JSReportChartContainer(uielement)
139045
139115
  }
139046
139116
  }
139047
139117
 
139118
+ this.RequestStatus.IsFinishStockList=true;
139119
+
139048
139120
  if (option && option.Callback)
139049
139121
  {
139050
139122
  option.Callback();
@@ -139188,6 +139260,9 @@ function JSReportChartContainer(uielement)
139188
139260
  var chart=this.ChartPaint[0];
139189
139261
  if (!chart) return;
139190
139262
 
139263
+ //列表还没有加载完成
139264
+ if (this.RequestStatus.IsFinishMemberList==false || this.RequestStatus.IsFinishMemberList==false) return;
139265
+
139191
139266
  if (this.Data.Virtual && this.Data.Virtual.Enable)
139192
139267
  {
139193
139268
  this.RequestVirtualStockData(); //虚拟表格 全部取后台
@@ -162362,7 +162437,7 @@ function HQChartScriptWorker()
162362
162437
 
162363
162438
 
162364
162439
 
162365
- var HQCHART_VERSION="1.1.14909";
162440
+ var HQCHART_VERSION="1.1.14914";
162366
162441
 
162367
162442
  function PrintHQChartVersion()
162368
162443
  {