hqchart 1.1.14910 → 1.1.14912
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.
- package/lib/umychart.vue.js +8 -7
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +10 -1
- package/src/jscommon/umychart.js +55 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +66 -2
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +66 -2
package/lib/umychart.vue.js
CHANGED
|
@@ -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;//文字
|
|
@@ -6309,7 +6309,7 @@ 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
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);//价格小数位数
|
|
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,
|
|
12462
|
-
chart.AryData=varItem.Draw.DrawData;
|
|
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)//绑定指示指标
|
|
@@ -15187,7 +15188,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15187
15188
|
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
15189
|
* 版本信息输出
|
|
15189
15190
|
*
|
|
15190
|
-
*/var HQCHART_VERSION="1.1.
|
|
15191
|
+
*/var HQCHART_VERSION="1.1.14911";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
15192
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15192
15193
|
// BaseIndex:BaseIndex,
|
|
15193
15194
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -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,
|
|
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
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -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()
|
|
@@ -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);
|
|
@@ -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()
|
|
@@ -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,
|
|
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
|
|
|
@@ -151029,7 +151093,7 @@ function ScrollBarBGChart()
|
|
|
151029
151093
|
|
|
151030
151094
|
|
|
151031
151095
|
|
|
151032
|
-
var HQCHART_VERSION="1.1.
|
|
151096
|
+
var HQCHART_VERSION="1.1.14911";
|
|
151033
151097
|
|
|
151034
151098
|
function PrintHQChartVersion()
|
|
151035
151099
|
{
|
|
@@ -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()
|
|
@@ -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,
|
|
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
|
|
|
@@ -162362,7 +162426,7 @@ function HQChartScriptWorker()
|
|
|
162362
162426
|
|
|
162363
162427
|
|
|
162364
162428
|
|
|
162365
|
-
var HQCHART_VERSION="1.1.
|
|
162429
|
+
var HQCHART_VERSION="1.1.14911";
|
|
162366
162430
|
|
|
162367
162431
|
function PrintHQChartVersion()
|
|
162368
162432
|
{
|