hqchart 1.1.14240 → 1.1.14245
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 +14 -14
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +8 -1
- package/src/jscommon/umychart.js +64 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +73 -3
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +73 -3
package/lib/umychart.vue.js
CHANGED
|
@@ -2170,7 +2170,7 @@ this.OnChangeCorssCursorStatus=function(data,obj){if(data.Type==1){if(!data.IsSh
|
|
|
2170
2170
|
{var periodData=bindData.GetPeriodData(bindData.Period);bindData.Data=periodData;}}}else if(this.IsMinuteContainer())//分时图
|
|
2171
2171
|
{var bindData=this.SourceData;}else{return;}for(var i=0;i<aryID.length;++i){this.BindIndexData(aryID[i],bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
2172
2172
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2173
|
-
this.Draw();};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2173
|
+
this.Draw();};this.GetKData=function(){return null;};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2174
2174
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
|
|
2175
2175
|
{if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}Number.prototype.toFixed2=Number.prototype.toFixed;//备份下老的
|
|
2176
2176
|
Number.prototype.toFixed=function(precision){return ToFixed(this,precision);};function Guid(){function S4(){return((1+Math.random())*0x10000|0).toString(16).substring(1);}return"guid"+(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}function GetScrollPosition(){var scrollPos={};var scrollTop=0;var scrollLeft=0;if(document.documentElement&&(document.documentElement.scrollTop||document.documentElement.scrollLeft)){scrollTop=document.documentElement.scrollTop;scrollLeft=document.documentElement.scrollLeft;}else if(document.body){scrollTop=document.body.scrollTop;scrollLeft=document.body.scrollLeft;}scrollPos.Top=scrollTop;scrollPos.Left=scrollLeft;return scrollPos;}//修正线段有毛刺
|
|
@@ -3874,15 +3874,15 @@ this.LineWidth;//线段宽度
|
|
|
3874
3874
|
this.DrawType=0;//画图方式 0=无效数平滑 1=无效数不画断开
|
|
3875
3875
|
this.IsDotLine=false;//虚线
|
|
3876
3876
|
this.LineDash=g_JSChartResource.DOTLINE.LineDash;this.BreakPoint;//断开的点索引 Set();
|
|
3877
|
-
this.DrawSelectedStatus=this.DrawLinePoint;this.PtInChart=this.PtInLine;this.ExportData=this.ExportArrayData;this.GetItemData=this.GetArrayItemData;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;}if(!this.Data||!this.Data.Data)return;switch(this.DrawType){case 0:return this.DrawLine();case 1:return this.DrawStraightLine();case 2:return this.DrawSectionLine();//分段线
|
|
3877
|
+
this.AryBreakPoint;this.DrawSelectedStatus=this.DrawLinePoint;this.PtInChart=this.PtInLine;this.ExportData=this.ExportArrayData;this.GetItemData=this.GetArrayItemData;this.BuildBreakPoint=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryBreakPoint))return null;var mapBreakPoint=new _map2.default();for(var i=0;i<this.AryBreakPoint.length;++i){var item=this.AryBreakPoint[i];var key=this.BuildDateTimeKey(item);if(key)mapBreakPoint.set(key,item);}return mapBreakPoint;};this.BuildDateTimeKey=function(item){if(!item)return null;if(!IFrameSplitOperator.IsNumber(item.Time))return''+item.Date;return item.Date+'-'+item.Time;};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;}if(!this.Data||!this.Data.Data)return;switch(this.DrawType){case 0:return this.DrawLine();case 1:return this.DrawStraightLine();case 2:return this.DrawSectionLine();//分段线
|
|
3878
3878
|
}};this.DrawLine=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var chartright=this.ChartBorder.GetRight();if(bHScreen)chartright=this.ChartBorder.GetBottom();var xPointCount=this.ChartFrame.XPointCount;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();if(this.IsDotLine)this.Canvas.setLineDash(this.LineDash);//画虚线
|
|
3879
3879
|
var bFirstPoint=true;var drawCount=0;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(value==null)continue;var x=this.ChartFrame.GetXFromIndex(j);var y=this.GetYFromData(value);if(x>chartright)break;if(bFirstPoint){this.Canvas.strokeStyle=this.Color;this.Canvas.beginPath();if(bHScreen)this.Canvas.moveTo(y,x);//横屏坐标轴对调
|
|
3880
3880
|
else this.Canvas.moveTo(x,y);bFirstPoint=false;}else{if(bHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0)this.Canvas.stroke();this.Canvas.restore();};//无效数不画
|
|
3881
|
-
this.DrawStraightLine=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}this.Canvas.save();this.ClipClient(bHScreen);if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;if(this.IsDotLine)this.Canvas.setLineDash(this.LineDash);//画虚线
|
|
3881
|
+
this.DrawStraightLine=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var mapBreakPoint=this.BuildBreakPoint();if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}this.Canvas.save();this.ClipClient(bHScreen);if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;if(this.IsDotLine)this.Canvas.setLineDash(this.LineDash);//画虚线
|
|
3882
3882
|
var bFirstPoint=true;var ptFirst=null;;//第1个点
|
|
3883
|
-
var drawCount=0;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth)
|
|
3884
|
-
|
|
3885
|
-
|
|
3883
|
+
var drawCount=0;var kData=null;if(this.HQChart)kData=this.HQChart.GetKData();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null){if(drawCount>0)this.Canvas.stroke();bFirstPoint=true;drawCount=0;ptFirst=null;continue;}if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}var y=this.GetYFromData(value,false);if(x>chartright)break;if(bFirstPoint){this.Canvas.beginPath();if(bHScreen)this.Canvas.moveTo(y,x);//横屏坐标轴对调
|
|
3884
|
+
else this.Canvas.moveTo(x,y);bFirstPoint=false;ptFirst={X:x,Y:y};}else{if(bHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);}++drawCount;//断开点
|
|
3885
|
+
if(mapBreakPoint&&kData&&kData.Data){var kItem=kData.Data[i];var key=this.BuildDateTimeKey(kItem);if(key&&mapBreakPoint.has(key)){if(drawCount>0)this.Canvas.stroke();bFirstPoint=true;drawCount=0;}}}if(drawCount>0){if(drawCount==1&&ptFirst)//如果只有1个点, 画一个像素的横线
|
|
3886
3886
|
{if(bHScreen)this.Canvas.lineTo(ptFirst.Y,ptFirst.X+1*GetDevicePixelRatio());else this.Canvas.lineTo(ptFirst.X+1*GetDevicePixelRatio(),ptFirst.Y);}this.Canvas.stroke();}this.Canvas.restore();};//分段线
|
|
3887
3887
|
this.DrawSectionLine=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}this.Canvas.save();this.ClipClient(bHScreen);if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;if(this.IsDotLine)this.Canvas.setLineDash(this.LineDash);//画虚线
|
|
3888
3888
|
var bFirstPoint=true;var ptFirst=null;;//第1个点
|
|
@@ -7752,7 +7752,7 @@ if(!IFrameSplitOperator.IsNonEmptyArray(hisData.Data))return false;var kItem=his
|
|
|
7752
7752
|
ClientPos:this.ChartCorssCursor.ClientPos,//位置
|
|
7753
7753
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss,//是否显示十字线
|
|
7754
7754
|
KItem:kItem,Symbol:this.Symbol,Name:this.Name,LastValue:this.ChartCorssCursor.LastValue};this.DialogTooltip.Update(sendData);return true;};this.DrawSelectRectDialog=function(e){if(!this.DialogSelectRect)return;this.UpdateSelectRectDialog(e);};this.UpdateSelectRectDialog=function(e){if(!this.DialogSelectRect)return false;var data=e.data;//区间统计数据
|
|
7755
|
-
var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};this.UpdateHQFloatTooltip=function(kData){if(!this.FloatTooltip)return;if(!this.FloatTooltip.IsShow())return;if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return;var lastItem=kData.Data[kData.Data.length-1];if(!lastItem)return;var dataID={Symbol:kData.Symbol,Date:lastItem.Date,Time:lastItem.Time};if(!this.FloatTooltip.IsEqualHQID(dataID))return;var sendData={Data:lastItem,Symbol:this.Symbol,Name:this.Name,DataType:2};this.FloatTooltip.Update(sendData);};}//API 返回数据 转化为array[]
|
|
7755
|
+
var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};this.UpdateHQFloatTooltip=function(kData){if(!this.FloatTooltip)return;if(!this.FloatTooltip.IsShow())return;if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return;var lastItem=kData.Data[kData.Data.length-1];if(!lastItem)return;var dataID={Symbol:kData.Symbol,Date:lastItem.Date,Time:lastItem.Time};if(!this.FloatTooltip.IsEqualHQID(dataID))return;var sendData={Data:lastItem,Symbol:this.Symbol,Name:this.Name,DataType:2};this.FloatTooltip.Update(sendData);};this.GetKData=function(){if(!this.ChartPaint[0])return null;var data=this.ChartPaint[0].Data;if(!data)return null;return data;};}//API 返回数据 转化为array[]
|
|
7756
7756
|
KLineChartContainer.JsonDataToHistoryData=function(data){var aryDayData=[];if(!data.data)return aryDayData;var upperSymbol=null;if(data.symbol)upperSymbol=data.symbol.toUpperCase();var isFutures=false;//是否是期货
|
|
7757
7757
|
if(upperSymbol)isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);var list=data.data;var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,position=8;var fclose=9,yfclose=10;//结算价, 前结算价
|
|
7758
7758
|
var bfactor=11,afactor=12;//前, 后复权因子
|
|
@@ -8345,7 +8345,7 @@ if(this.ChartCorssCursor.ClientPos>=0){var titlePaint=this.TitlePaint[0];if(titl
|
|
|
8345
8345
|
{if(!this.SourceData||!IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))return false;var minuteData=this.SourceData.Data[this.SourceData.Data.length-1];var dataID={Symbol:this.Symbol,Date:minuteData.Date,Time:minuteData.Time};if(!this.DialogTooltip.IsEqualDataID(dataID))return false;minuteItem={Type:0,Data:minuteData};dataType=2;}var sendData={DataType:dataType,ClientPos:this.ChartCorssCursor.ClientPos,//位置
|
|
8346
8346
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss,//是否显示十字线
|
|
8347
8347
|
MinItem:minuteItem,Symbol:this.Symbol,Name:this.Name,LastValue:this.ChartCorssCursor.LastValue};this.DialogTooltip.Update(sendData);return true;};this.DrawSelectRectDialog=function(e){if(!this.DialogSelectRect)return;this.UpdateSelectRectDialog(e);};this.UpdateSelectRectDialog=function(e){if(!this.DialogSelectRect)return false;var data=e.data;//区间统计数据
|
|
8348
|
-
var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};}//盘前数据
|
|
8348
|
+
var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};this.GetKData=function(){if(!this.SourceData)return null;var data=this.SourceData;if(!data)return null;return data;};}//盘前数据
|
|
8349
8349
|
MinuteChartContainer.JsonDataToBeforeOpenData=function(data){var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var yClose=data.stock[0].yclose;var preClose=data.stock[0].yclose;//前一个数据价格
|
|
8350
8350
|
var stockData=data.stock[0];var date=stockData.date;//日期
|
|
8351
8351
|
var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:date};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA;//扩展数据序号
|
|
@@ -11442,9 +11442,9 @@ this.SetChartIndexName=function(chart){if(this.Name)chart.IndexName=this.Name;el
|
|
|
11442
11442
|
};//设置标题数据
|
|
11443
11443
|
this.SetTitleData=function(titleData,chart){titleData.ChartClassName=chart.ClassName;titleData.IsVisible=chart.IsVisible;};//自定义图形配色
|
|
11444
11444
|
this.ReloadChartResource=function(hqChart,windowIndex,chart){var event=hqChart.GetEventCallback(JSCHART_EVENT_ID.ON_RELOAD_INDEX_CHART_RESOURCE);//指标计算完成回调
|
|
11445
|
-
if(!event||!event.Callback)return;var sendData={Chart:chart,IndexName:this.Name,IndexID:this.ID,HQChart:hqChart,WindowIndex:windowIndex};event.Callback(event,sendData,this);};this.CreateLine=function(hqChart,windowIndex,varItem,id,lineType){if(lineType==7)var line=new ChartStepLine();else var line=new ChartLine();line.Canvas=hqChart.Canvas;line.DrawType=1;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;line.Identify=this.Guid;if(varItem.Color)line.Color=this.GetColor(varItem.Color);else line.Color=this.GetDefaultColor(id);if(lineType==8){line.DrawType=2;line.BreakPoint=varItem.BreakPoint;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)line.LineWidth=width;}if(varItem.IsDotLine){line.IsDotLine=true;//虚线
|
|
11445
|
+
if(!event||!event.Callback)return;var sendData={Chart:chart,IndexName:this.Name,IndexID:this.ID,HQChart:hqChart,WindowIndex:windowIndex};event.Callback(event,sendData,this);};this.CreateLine=function(hqChart,windowIndex,varItem,id,lineType){if(lineType==7)var line=new ChartStepLine();else var line=new ChartLine();line.Canvas=hqChart.Canvas;line.DrawType=1;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;line.Identify=this.Guid;line.HQChart=hqChart;if(varItem.Color)line.Color=this.GetColor(varItem.Color);else line.Color=this.GetDefaultColor(id);if(lineType==8){line.DrawType=2;line.BreakPoint=varItem.BreakPoint;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)line.LineWidth=width;}if(varItem.IsDotLine){line.IsDotLine=true;//虚线
|
|
11446
11446
|
line.LineDash=g_JSChartResource.DOTLINE.LineDash.slice();}//虚线设置
|
|
11447
|
-
if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))line.LineDash=varItem.LineDash;if(varItem.IsShow
|
|
11447
|
+
if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))line.LineDash=varItem.LineDash;if(IFrameSplitOperator.IsBool(varItem.IsShow))line.IsShow=varItem.IsShow;if(IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint))line.AryBreakPoint=varItem.AryBreakPoint;var titleIndex=windowIndex+1;line.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,line);if(varItem.IsShowTitle===false)//NOTEXT 不绘制标题
|
|
11448
11448
|
{}else if(IFrameSplitOperator.IsString(varItem.Name)&&varItem.Name.indexOf("NOTEXT")==0)//标题中包含NOTEXT不绘制标题
|
|
11449
11449
|
{}else{if(varItem.NoneName)hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,null,line.Color);else hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);this.SetTitleData(hqChart.TitlePaint[titleIndex].Data[id],line);}this.SetChartIndexName(line);hqChart.ChartPaint.push(line);};this.CreateArea=function(hqChart,windowIndex,varItem,id){var line=new ChartArea();line.Canvas=hqChart.Canvas;line.DrawType=1;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;line.Identify=this.Guid;if(varItem.Color)line.Color=this.GetColor(varItem.Color);else line.Color=this.GetDefaultColor(id);if(varItem.DownColor){line.AreaColor=varItem.DownColor;}else if(varItem.UpColor){line.AreaColor=varItem.UpColor;line.AreaDirection=1;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))line.LineWidth=width;}if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))line.LineDash=varItem.LineDash;//虚线
|
|
11450
11450
|
if(varItem.IsShow==false)line.IsShow=false;var titleIndex=windowIndex+1;line.Data.Data=varItem.Data;if(varItem.IsShowTitle===false)//NOTEXT 不绘制标题
|
|
@@ -11591,7 +11591,7 @@ this.ReloadChartResource=function(hqChart,windowIndex,chart){var event=hqChart.G
|
|
|
11591
11591
|
if(!event||!event.Callback)return;var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var script=frame.Script;var sendData={Chart:chart,IndexName:script.Name,IndexID:script.ID,HQChart:hqChart,WindowIndex:windowIndex,Guid:overlayIndex.Identify};event.Callback(event,sendData,this);};//////////////////////////////////////////////////////////////////////////////////////
|
|
11592
11592
|
// 图形创建
|
|
11593
11593
|
/////////////////////////////////////////////////////////////////////////////////////
|
|
11594
|
-
this.CreateLine=function(hqChart,windowIndex,varItem,id,lineType){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;if(lineType==7)var chart=new ChartStepLine();else var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(lineType==8){chart.DrawType=2;chart.BreakPoint=varItem.BreakPoint;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(varItem.IsShow==false)chart.IsShow=false;chart.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);this.SetTitleData(titleData,chart);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建柱子
|
|
11594
|
+
this.CreateLine=function(hqChart,windowIndex,varItem,id,lineType){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;if(lineType==7)var chart=new ChartStepLine();else var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(lineType==8){chart.DrawType=2;chart.BreakPoint=varItem.BreakPoint;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint))chart.AryBreakPoint=varItem.AryBreakPoint;if(varItem.IsShow==false)chart.IsShow=false;chart.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);this.SetTitleData(titleData,chart);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建柱子
|
|
11595
11595
|
this.CreateBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStickLine();chart.Canvas=hqChart.Canvas;if(varItem.Draw.Width>0)chart.Width=varItem.Draw.Width;else chart.Width=1;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
|
|
11596
11596
|
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateDrawText=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSingleText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.ReloadResource();if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.IsDrawAbove)chart.Direction=1;else chart.Direction=0;chart.DrawData=varItem.Draw.DrawData;if(varItem.DrawFontSize>0)chart.TextFont=varItem.DrawFontSize*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1';//临时用下吧
|
|
11597
11597
|
frame.ChartPaint.push(chart);};//DRAWTEXT
|
|
@@ -11680,7 +11680,7 @@ sourceData.sort(function(a,b){return a.Date-b.Date;});kdata.GetDateIndex(sourceD
|
|
|
11680
11680
|
sourceData.sort(function(a,b){if(a.Date==b.Date)return a.Time-b.Time;return a.Date-b.Date;});kdata.GetDateTimeIndex(sourceData);return sourceData;}else if(this.HQDataType==HQ_DATA_TYPE.MINUTE_ID||this.HQDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID){var minuteData=hqChart.SourceData;sourceData.sort(function(a,b){if(a.Date==b.Date)return a.Time-b.Time;return a.Date-b.Date;});minuteData.GetDateTimeIndex(sourceData);return sourceData;}return null;};this.FittingData=function(jsonData,hqChart){var outVar=jsonData.outvar;var date=jsonData.date;var time=jsonData.time;var kdata=hqChart.ChartPaint[0].Data;//把数据拟合到kdata上
|
|
11681
11681
|
var result=[];if(!outVar)return result;for(var i=0;i<outVar.length;++i){var item=outVar[i];var indexData=[];var outVarItem={Name:item.name,Type:item.type};if(item.color)outVarItem.Color=item.color;if(IFrameSplitOperator.IsBool(item.IsShowTitle))outVarItem.IsShowTitle=item.IsShowTitle;//是否显示指标标题
|
|
11682
11682
|
if(IFrameSplitOperator.IsNumber(item.DrawVAlign))outVarItem.DrawVAlign=item.DrawVAlign;if(IFrameSplitOperator.IsNumber(item.DrawAlign))outVarItem.DrawAlign=item.DrawAlign;if(item.data){outVarItem.Data=this.FittingArray(item.data,date,time,hqChart);if(item.color)outVarItem.Color=item.color;if(item.linewidth)outVarItem.LineWidth=item.linewidth;if(IFrameSplitOperator.IsBool(item.isshow))outVarItem.IsShow=item.isshow;//是否绘制线段
|
|
11683
|
-
if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;if(item.UpColor)outVarItem.UpColor=item.UpColor;if(item.DownColor)outVarItem.DownColor=item.DownColor;if(IFrameSplitOperator.IsBool(item.isDotLine))outVarItem.IsDotLine=item.isDotLine;if(IFrameSplitOperator.IsNonEmptyArray(item.lineDash))outVarItem.LineDash=item.lineDash;if(IFrameSplitOperator.IsBool(item.isSingleLine))outVarItem.IsSingleLine=item.isSingleLine;if(IFrameSplitOperator.IsNumber(item.StickType))outVarItem.StickType=item.StickType;if(IFrameSplitOperator.IsNumber(item.BarColorType))outVarItem.BarColorType=item.BarColorType;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11683
|
+
if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;if(item.UpColor)outVarItem.UpColor=item.UpColor;if(item.DownColor)outVarItem.DownColor=item.DownColor;if(IFrameSplitOperator.IsBool(item.isDotLine))outVarItem.IsDotLine=item.isDotLine;if(IFrameSplitOperator.IsNonEmptyArray(item.lineDash))outVarItem.LineDash=item.lineDash;if(IFrameSplitOperator.IsBool(item.isSingleLine))outVarItem.IsSingleLine=item.isSingleLine;if(IFrameSplitOperator.IsNumber(item.StickType))outVarItem.StickType=item.StickType;if(IFrameSplitOperator.IsNumber(item.BarColorType))outVarItem.BarColorType=item.BarColorType;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint))outVarItem.AryBreakPoint=item.AryBreakPoint;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11684
11684
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11685
11685
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11686
11686
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
@@ -11699,7 +11699,7 @@ var result=[];if(ChartData.IsDayPeriod(hqChart.Period,true))//日线
|
|
|
11699
11699
|
var result=[];if(ChartData.IsDayPeriod(hqChart.Period,true))//日线
|
|
11700
11700
|
{var bFill=false;for(var i=0,j=0;i<kData.Data.length;++i){result[i]=0;var kItem=kData.Data[i];var date=kItem.Date;for(j=0;j<data.length;++j){var rangeItem=data[j];if(date>=rangeItem.Start.Date&&date<=rangeItem.End.Date){result[i]=1;bFill=true;break;}}}if(bFill)return result;}else if(ChartData.IsMinutePeriod(hqChart.Period,true))//分钟线
|
|
11701
11701
|
{var aryRange=[];for(var i=0;i<data.length;++i){var item=data[i];var startDatetime=item.Start.Date*10000;if(IFrameSplitOperator.IsNumber(item.Start.Time))startDatetime+=item.Start.Time;var endDatetime=item.End.Date*10000;if(IFrameSplitOperator.IsNumber(item.End.Time))endDatetime+=item.End.Time;aryRange.push({Start:startDatetime,End:endDatetime});}var bFill=false;for(var i=0,j=0;i<kData.Data.length;++i){result[i]=0;var kItem=kData.Data[i];var date=kItem.Date*10000+kItem.Time;for(j=0;j<aryRange.length;++j){var rangeItem=aryRange[j];if(date>=rangeItem.Start&&date<=rangeItem.End){result[i]=1;bFill=true;break;}}}if(bFill)return result;}return null;};this.FittingMinuteData=function(jsonData,hqChart){var outVar=jsonData.outvar;var date=jsonData.date;var time=jsonData.time;var result=[];for(var i=0;i<outVar.length;++i){var item=outVar[i];var outVarItem={Name:item.name,Type:item.type};if(IFrameSplitOperator.IsBool(item.IsShowTitle))outVarItem.IsShowTitle=item.IsShowTitle;//是否显示指标标题
|
|
11702
|
-
if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChart);if(item.color)outVarItem.Color=item.color;if(item.linewidth>=1)outVarItem.LineWidth=item.linewidth;if(item.isshow==false)outVarItem.IsShow=false;if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;if(item.UpColor)outVarItem.UpColor=item.UpColor;if(item.DownColor)outVarItem.DownColor=item.DownColor;if(IFrameSplitOperator.IsBool(item.isDotLine))outVarItem.IsDotLine=item.isDotLine;if(IFrameSplitOperator.IsNonEmptyArray(item.lineDash))outVarItem.LineDash=item.lineDash;if(IFrameSplitOperator.IsBool(item.isSingleLine))outVarItem.IsSingleLine=item.isSingleLine;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11702
|
+
if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChart);if(item.color)outVarItem.Color=item.color;if(item.linewidth>=1)outVarItem.LineWidth=item.linewidth;if(item.isshow==false)outVarItem.IsShow=false;if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;if(item.UpColor)outVarItem.UpColor=item.UpColor;if(item.DownColor)outVarItem.DownColor=item.DownColor;if(IFrameSplitOperator.IsBool(item.isDotLine))outVarItem.IsDotLine=item.isDotLine;if(IFrameSplitOperator.IsNonEmptyArray(item.lineDash))outVarItem.LineDash=item.lineDash;if(IFrameSplitOperator.IsBool(item.isSingleLine))outVarItem.IsSingleLine=item.isSingleLine;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint))outVarItem.AryBreakPoint=item.AryBreakPoint;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11703
11703
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11704
11704
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11705
11705
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.Option)outVarItem.Option=draw.Option;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
@@ -13825,7 +13825,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13825
13825
|
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);};}/********************************************************************************
|
|
13826
13826
|
* 版本信息输出
|
|
13827
13827
|
*
|
|
13828
|
-
*/var HQCHART_VERSION="1.1.
|
|
13828
|
+
*/var HQCHART_VERSION="1.1.14244";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();//把给外界调用的方法暴露出来
|
|
13829
13829
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13830
13830
|
// BaseIndex:BaseIndex,
|
|
13831
13831
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -20508,6 +20508,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
20508
20508
|
line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
20509
20509
|
line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
20510
20510
|
line.Identify=this.Guid;
|
|
20511
|
+
line.HQChart=hqChart;
|
|
20511
20512
|
if (varItem.Color) line.Color=this.GetColor(varItem.Color);
|
|
20512
20513
|
else line.Color=this.GetDefaultColor(id);
|
|
20513
20514
|
|
|
@@ -20531,8 +20532,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
20531
20532
|
|
|
20532
20533
|
//虚线设置
|
|
20533
20534
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash)) line.LineDash=varItem.LineDash;
|
|
20535
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShow)) line.IsShow=varItem.IsShow;
|
|
20534
20536
|
|
|
20535
|
-
if (varItem.
|
|
20537
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) line.AryBreakPoint=varItem.AryBreakPoint;
|
|
20536
20538
|
|
|
20537
20539
|
let titleIndex=windowIndex+1;
|
|
20538
20540
|
line.Data.Data=varItem.Data;
|
|
@@ -22729,6 +22731,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22729
22731
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
22730
22732
|
chart.ChartFrame=frame.Frame;
|
|
22731
22733
|
chart.Identify=overlayIndex.Identify;
|
|
22734
|
+
chart.HQChart=hqChart;
|
|
22732
22735
|
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
22733
22736
|
else chart.Color=this.GetDefaultColor(id);
|
|
22734
22737
|
|
|
@@ -22744,6 +22747,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
22744
22747
|
if (!isNaN(width) && width>0) chart.LineWidth=width;
|
|
22745
22748
|
}
|
|
22746
22749
|
|
|
22750
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) chart.AryBreakPoint=varItem.AryBreakPoint;
|
|
22751
|
+
|
|
22747
22752
|
if (varItem.IsShow==false) chart.IsShow=false;
|
|
22748
22753
|
chart.Data.Data=varItem.Data;
|
|
22749
22754
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
@@ -24489,6 +24494,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
24489
24494
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
24490
24495
|
if (IFrameSplitOperator.IsNumber(item.StickType)) outVarItem.StickType=item.StickType;
|
|
24491
24496
|
if (IFrameSplitOperator.IsNumber(item.BarColorType)) outVarItem.BarColorType=item.BarColorType;
|
|
24497
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
24492
24498
|
|
|
24493
24499
|
result.push(outVarItem);
|
|
24494
24500
|
}
|
|
@@ -24989,6 +24995,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
24989
24995
|
if (IFrameSplitOperator.IsBool(item.isDotLine)) outVarItem.IsDotLine = item.isDotLine;
|
|
24990
24996
|
if (IFrameSplitOperator.IsNonEmptyArray(item.lineDash)) outVarItem.LineDash=item.lineDash;
|
|
24991
24997
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
24998
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
24992
24999
|
|
|
24993
25000
|
result.push(outVarItem);
|
|
24994
25001
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -10513,6 +10513,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10513
10513
|
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
10514
10514
|
this.Draw();
|
|
10515
10515
|
}
|
|
10516
|
+
|
|
10517
|
+
this.GetKData=function()
|
|
10518
|
+
{
|
|
10519
|
+
return null;
|
|
10520
|
+
}
|
|
10516
10521
|
}
|
|
10517
10522
|
|
|
10518
10523
|
function GetDevicePixelRatio()
|
|
@@ -31877,6 +31882,7 @@ function ChartLine()
|
|
|
31877
31882
|
this.IsDotLine=false; //虚线
|
|
31878
31883
|
this.LineDash=g_JSChartResource.DOTLINE.LineDash;
|
|
31879
31884
|
this.BreakPoint; //断开的点索引 Set();
|
|
31885
|
+
this.AryBreakPoint;
|
|
31880
31886
|
|
|
31881
31887
|
|
|
31882
31888
|
this.DrawSelectedStatus=this.DrawLinePoint;
|
|
@@ -31885,6 +31891,29 @@ function ChartLine()
|
|
|
31885
31891
|
this.ExportData=this.ExportArrayData;
|
|
31886
31892
|
this.GetItemData=this.GetArrayItemData;
|
|
31887
31893
|
|
|
31894
|
+
this.BuildBreakPoint=function()
|
|
31895
|
+
{
|
|
31896
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryBreakPoint)) return null;
|
|
31897
|
+
|
|
31898
|
+
var mapBreakPoint=new Map();
|
|
31899
|
+
for(var i=0;i<this.AryBreakPoint.length;++i)
|
|
31900
|
+
{
|
|
31901
|
+
var item=this.AryBreakPoint[i];
|
|
31902
|
+
var key=this.BuildDateTimeKey(item);
|
|
31903
|
+
if (key) mapBreakPoint.set(key, item);
|
|
31904
|
+
}
|
|
31905
|
+
|
|
31906
|
+
return mapBreakPoint;
|
|
31907
|
+
}
|
|
31908
|
+
|
|
31909
|
+
this.BuildDateTimeKey=function(item)
|
|
31910
|
+
{
|
|
31911
|
+
if (!item) return null;
|
|
31912
|
+
|
|
31913
|
+
if (!IFrameSplitOperator.IsNumber(item.Time)) return `${item.Date}`;
|
|
31914
|
+
return `${item.Date}-${item.Time}`;
|
|
31915
|
+
}
|
|
31916
|
+
|
|
31888
31917
|
this.Draw=function()
|
|
31889
31918
|
{
|
|
31890
31919
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
@@ -31963,6 +31992,7 @@ function ChartLine()
|
|
|
31963
31992
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
31964
31993
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
31965
31994
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
31995
|
+
var mapBreakPoint=this.BuildBreakPoint();
|
|
31966
31996
|
|
|
31967
31997
|
if (bHScreen)
|
|
31968
31998
|
{
|
|
@@ -31993,8 +32023,9 @@ function ChartLine()
|
|
|
31993
32023
|
var bFirstPoint=true;
|
|
31994
32024
|
var ptFirst=null;; //第1个点
|
|
31995
32025
|
var drawCount=0;
|
|
32026
|
+
var kData=null;
|
|
32027
|
+
if (this.HQChart) kData=this.HQChart.GetKData();
|
|
31996
32028
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
31997
|
-
//for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
31998
32029
|
{
|
|
31999
32030
|
var value=this.Data.Data[i];
|
|
32000
32031
|
if (value==null)
|
|
@@ -32037,6 +32068,20 @@ function ChartLine()
|
|
|
32037
32068
|
}
|
|
32038
32069
|
|
|
32039
32070
|
++drawCount;
|
|
32071
|
+
|
|
32072
|
+
//断开点
|
|
32073
|
+
if (mapBreakPoint && kData && kData.Data)
|
|
32074
|
+
{
|
|
32075
|
+
var kItem=kData.Data[i];
|
|
32076
|
+
var key=this.BuildDateTimeKey(kItem);
|
|
32077
|
+
if (key && mapBreakPoint.has(key))
|
|
32078
|
+
{
|
|
32079
|
+
if (drawCount>0) this.Canvas.stroke();
|
|
32080
|
+
|
|
32081
|
+
bFirstPoint=true;
|
|
32082
|
+
drawCount=0;
|
|
32083
|
+
}
|
|
32084
|
+
}
|
|
32040
32085
|
}
|
|
32041
32086
|
|
|
32042
32087
|
if (drawCount>0)
|
|
@@ -80684,6 +80729,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80684
80729
|
|
|
80685
80730
|
this.FloatTooltip.Update(sendData);
|
|
80686
80731
|
}
|
|
80732
|
+
|
|
80733
|
+
this.GetKData=function()
|
|
80734
|
+
{
|
|
80735
|
+
if (!this.ChartPaint[0]) return null;
|
|
80736
|
+
var data=this.ChartPaint[0].Data;
|
|
80737
|
+
if (!data) return null;
|
|
80738
|
+
|
|
80739
|
+
return data;
|
|
80740
|
+
}
|
|
80687
80741
|
}
|
|
80688
80742
|
|
|
80689
80743
|
//API 返回数据 转化为array[]
|
|
@@ -86609,6 +86663,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86609
86663
|
|
|
86610
86664
|
this.DialogSelectRect.Update(sendData);
|
|
86611
86665
|
}
|
|
86666
|
+
|
|
86667
|
+
this.GetKData=function()
|
|
86668
|
+
{
|
|
86669
|
+
if (!this.SourceData) return null;
|
|
86670
|
+
var data=this.SourceData;
|
|
86671
|
+
if (!data) return null;
|
|
86672
|
+
|
|
86673
|
+
return data;
|
|
86674
|
+
}
|
|
86612
86675
|
}
|
|
86613
86676
|
|
|
86614
86677
|
//盘前数据
|
|
@@ -14438,6 +14438,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14438
14438
|
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
14439
14439
|
this.Draw();
|
|
14440
14440
|
}
|
|
14441
|
+
|
|
14442
|
+
this.GetKData=function()
|
|
14443
|
+
{
|
|
14444
|
+
return null;
|
|
14445
|
+
}
|
|
14441
14446
|
}
|
|
14442
14447
|
|
|
14443
14448
|
function GetDevicePixelRatio()
|
|
@@ -35802,6 +35807,7 @@ function ChartLine()
|
|
|
35802
35807
|
this.IsDotLine=false; //虚线
|
|
35803
35808
|
this.LineDash=g_JSChartResource.DOTLINE.LineDash;
|
|
35804
35809
|
this.BreakPoint; //断开的点索引 Set();
|
|
35810
|
+
this.AryBreakPoint;
|
|
35805
35811
|
|
|
35806
35812
|
|
|
35807
35813
|
this.DrawSelectedStatus=this.DrawLinePoint;
|
|
@@ -35810,6 +35816,29 @@ function ChartLine()
|
|
|
35810
35816
|
this.ExportData=this.ExportArrayData;
|
|
35811
35817
|
this.GetItemData=this.GetArrayItemData;
|
|
35812
35818
|
|
|
35819
|
+
this.BuildBreakPoint=function()
|
|
35820
|
+
{
|
|
35821
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryBreakPoint)) return null;
|
|
35822
|
+
|
|
35823
|
+
var mapBreakPoint=new Map();
|
|
35824
|
+
for(var i=0;i<this.AryBreakPoint.length;++i)
|
|
35825
|
+
{
|
|
35826
|
+
var item=this.AryBreakPoint[i];
|
|
35827
|
+
var key=this.BuildDateTimeKey(item);
|
|
35828
|
+
if (key) mapBreakPoint.set(key, item);
|
|
35829
|
+
}
|
|
35830
|
+
|
|
35831
|
+
return mapBreakPoint;
|
|
35832
|
+
}
|
|
35833
|
+
|
|
35834
|
+
this.BuildDateTimeKey=function(item)
|
|
35835
|
+
{
|
|
35836
|
+
if (!item) return null;
|
|
35837
|
+
|
|
35838
|
+
if (!IFrameSplitOperator.IsNumber(item.Time)) return `${item.Date}`;
|
|
35839
|
+
return `${item.Date}-${item.Time}`;
|
|
35840
|
+
}
|
|
35841
|
+
|
|
35813
35842
|
this.Draw=function()
|
|
35814
35843
|
{
|
|
35815
35844
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
@@ -35888,6 +35917,7 @@ function ChartLine()
|
|
|
35888
35917
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
35889
35918
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
35890
35919
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
35920
|
+
var mapBreakPoint=this.BuildBreakPoint();
|
|
35891
35921
|
|
|
35892
35922
|
if (bHScreen)
|
|
35893
35923
|
{
|
|
@@ -35918,8 +35948,9 @@ function ChartLine()
|
|
|
35918
35948
|
var bFirstPoint=true;
|
|
35919
35949
|
var ptFirst=null;; //第1个点
|
|
35920
35950
|
var drawCount=0;
|
|
35951
|
+
var kData=null;
|
|
35952
|
+
if (this.HQChart) kData=this.HQChart.GetKData();
|
|
35921
35953
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
35922
|
-
//for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
35923
35954
|
{
|
|
35924
35955
|
var value=this.Data.Data[i];
|
|
35925
35956
|
if (value==null)
|
|
@@ -35962,6 +35993,20 @@ function ChartLine()
|
|
|
35962
35993
|
}
|
|
35963
35994
|
|
|
35964
35995
|
++drawCount;
|
|
35996
|
+
|
|
35997
|
+
//断开点
|
|
35998
|
+
if (mapBreakPoint && kData && kData.Data)
|
|
35999
|
+
{
|
|
36000
|
+
var kItem=kData.Data[i];
|
|
36001
|
+
var key=this.BuildDateTimeKey(kItem);
|
|
36002
|
+
if (key && mapBreakPoint.has(key))
|
|
36003
|
+
{
|
|
36004
|
+
if (drawCount>0) this.Canvas.stroke();
|
|
36005
|
+
|
|
36006
|
+
bFirstPoint=true;
|
|
36007
|
+
drawCount=0;
|
|
36008
|
+
}
|
|
36009
|
+
}
|
|
35965
36010
|
}
|
|
35966
36011
|
|
|
35967
36012
|
if (drawCount>0)
|
|
@@ -84609,6 +84654,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84609
84654
|
|
|
84610
84655
|
this.FloatTooltip.Update(sendData);
|
|
84611
84656
|
}
|
|
84657
|
+
|
|
84658
|
+
this.GetKData=function()
|
|
84659
|
+
{
|
|
84660
|
+
if (!this.ChartPaint[0]) return null;
|
|
84661
|
+
var data=this.ChartPaint[0].Data;
|
|
84662
|
+
if (!data) return null;
|
|
84663
|
+
|
|
84664
|
+
return data;
|
|
84665
|
+
}
|
|
84612
84666
|
}
|
|
84613
84667
|
|
|
84614
84668
|
//API 返回数据 转化为array[]
|
|
@@ -90534,6 +90588,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90534
90588
|
|
|
90535
90589
|
this.DialogSelectRect.Update(sendData);
|
|
90536
90590
|
}
|
|
90591
|
+
|
|
90592
|
+
this.GetKData=function()
|
|
90593
|
+
{
|
|
90594
|
+
if (!this.SourceData) return null;
|
|
90595
|
+
var data=this.SourceData;
|
|
90596
|
+
if (!data) return null;
|
|
90597
|
+
|
|
90598
|
+
return data;
|
|
90599
|
+
}
|
|
90537
90600
|
}
|
|
90538
90601
|
|
|
90539
90602
|
//盘前数据
|
|
@@ -120072,6 +120135,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
120072
120135
|
line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
120073
120136
|
line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
120074
120137
|
line.Identify=this.Guid;
|
|
120138
|
+
line.HQChart=hqChart;
|
|
120075
120139
|
if (varItem.Color) line.Color=this.GetColor(varItem.Color);
|
|
120076
120140
|
else line.Color=this.GetDefaultColor(id);
|
|
120077
120141
|
|
|
@@ -120095,8 +120159,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
120095
120159
|
|
|
120096
120160
|
//虚线设置
|
|
120097
120161
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash)) line.LineDash=varItem.LineDash;
|
|
120162
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShow)) line.IsShow=varItem.IsShow;
|
|
120098
120163
|
|
|
120099
|
-
if (varItem.
|
|
120164
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) line.AryBreakPoint=varItem.AryBreakPoint;
|
|
120100
120165
|
|
|
120101
120166
|
let titleIndex=windowIndex+1;
|
|
120102
120167
|
line.Data.Data=varItem.Data;
|
|
@@ -122293,6 +122358,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
122293
122358
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
122294
122359
|
chart.ChartFrame=frame.Frame;
|
|
122295
122360
|
chart.Identify=overlayIndex.Identify;
|
|
122361
|
+
chart.HQChart=hqChart;
|
|
122296
122362
|
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
122297
122363
|
else chart.Color=this.GetDefaultColor(id);
|
|
122298
122364
|
|
|
@@ -122308,6 +122374,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
122308
122374
|
if (!isNaN(width) && width>0) chart.LineWidth=width;
|
|
122309
122375
|
}
|
|
122310
122376
|
|
|
122377
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) chart.AryBreakPoint=varItem.AryBreakPoint;
|
|
122378
|
+
|
|
122311
122379
|
if (varItem.IsShow==false) chart.IsShow=false;
|
|
122312
122380
|
chart.Data.Data=varItem.Data;
|
|
122313
122381
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
@@ -124053,6 +124121,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
124053
124121
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
124054
124122
|
if (IFrameSplitOperator.IsNumber(item.StickType)) outVarItem.StickType=item.StickType;
|
|
124055
124123
|
if (IFrameSplitOperator.IsNumber(item.BarColorType)) outVarItem.BarColorType=item.BarColorType;
|
|
124124
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
124056
124125
|
|
|
124057
124126
|
result.push(outVarItem);
|
|
124058
124127
|
}
|
|
@@ -124553,6 +124622,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
124553
124622
|
if (IFrameSplitOperator.IsBool(item.isDotLine)) outVarItem.IsDotLine = item.isDotLine;
|
|
124554
124623
|
if (IFrameSplitOperator.IsNonEmptyArray(item.lineDash)) outVarItem.LineDash=item.lineDash;
|
|
124555
124624
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
124625
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
124556
124626
|
|
|
124557
124627
|
result.push(outVarItem);
|
|
124558
124628
|
}
|
|
@@ -140312,7 +140382,7 @@ function ScrollBarBGChart()
|
|
|
140312
140382
|
|
|
140313
140383
|
|
|
140314
140384
|
|
|
140315
|
-
var HQCHART_VERSION="1.1.
|
|
140385
|
+
var HQCHART_VERSION="1.1.14244";
|
|
140316
140386
|
|
|
140317
140387
|
function PrintHQChartVersion()
|
|
140318
140388
|
{
|
|
@@ -14482,6 +14482,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14482
14482
|
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
14483
14483
|
this.Draw();
|
|
14484
14484
|
}
|
|
14485
|
+
|
|
14486
|
+
this.GetKData=function()
|
|
14487
|
+
{
|
|
14488
|
+
return null;
|
|
14489
|
+
}
|
|
14485
14490
|
}
|
|
14486
14491
|
|
|
14487
14492
|
function GetDevicePixelRatio()
|
|
@@ -35846,6 +35851,7 @@ function ChartLine()
|
|
|
35846
35851
|
this.IsDotLine=false; //虚线
|
|
35847
35852
|
this.LineDash=g_JSChartResource.DOTLINE.LineDash;
|
|
35848
35853
|
this.BreakPoint; //断开的点索引 Set();
|
|
35854
|
+
this.AryBreakPoint;
|
|
35849
35855
|
|
|
35850
35856
|
|
|
35851
35857
|
this.DrawSelectedStatus=this.DrawLinePoint;
|
|
@@ -35854,6 +35860,29 @@ function ChartLine()
|
|
|
35854
35860
|
this.ExportData=this.ExportArrayData;
|
|
35855
35861
|
this.GetItemData=this.GetArrayItemData;
|
|
35856
35862
|
|
|
35863
|
+
this.BuildBreakPoint=function()
|
|
35864
|
+
{
|
|
35865
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryBreakPoint)) return null;
|
|
35866
|
+
|
|
35867
|
+
var mapBreakPoint=new Map();
|
|
35868
|
+
for(var i=0;i<this.AryBreakPoint.length;++i)
|
|
35869
|
+
{
|
|
35870
|
+
var item=this.AryBreakPoint[i];
|
|
35871
|
+
var key=this.BuildDateTimeKey(item);
|
|
35872
|
+
if (key) mapBreakPoint.set(key, item);
|
|
35873
|
+
}
|
|
35874
|
+
|
|
35875
|
+
return mapBreakPoint;
|
|
35876
|
+
}
|
|
35877
|
+
|
|
35878
|
+
this.BuildDateTimeKey=function(item)
|
|
35879
|
+
{
|
|
35880
|
+
if (!item) return null;
|
|
35881
|
+
|
|
35882
|
+
if (!IFrameSplitOperator.IsNumber(item.Time)) return `${item.Date}`;
|
|
35883
|
+
return `${item.Date}-${item.Time}`;
|
|
35884
|
+
}
|
|
35885
|
+
|
|
35857
35886
|
this.Draw=function()
|
|
35858
35887
|
{
|
|
35859
35888
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
@@ -35932,6 +35961,7 @@ function ChartLine()
|
|
|
35932
35961
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
35933
35962
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
35934
35963
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
35964
|
+
var mapBreakPoint=this.BuildBreakPoint();
|
|
35935
35965
|
|
|
35936
35966
|
if (bHScreen)
|
|
35937
35967
|
{
|
|
@@ -35962,8 +35992,9 @@ function ChartLine()
|
|
|
35962
35992
|
var bFirstPoint=true;
|
|
35963
35993
|
var ptFirst=null;; //第1个点
|
|
35964
35994
|
var drawCount=0;
|
|
35995
|
+
var kData=null;
|
|
35996
|
+
if (this.HQChart) kData=this.HQChart.GetKData();
|
|
35965
35997
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
35966
|
-
//for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
35967
35998
|
{
|
|
35968
35999
|
var value=this.Data.Data[i];
|
|
35969
36000
|
if (value==null)
|
|
@@ -36006,6 +36037,20 @@ function ChartLine()
|
|
|
36006
36037
|
}
|
|
36007
36038
|
|
|
36008
36039
|
++drawCount;
|
|
36040
|
+
|
|
36041
|
+
//断开点
|
|
36042
|
+
if (mapBreakPoint && kData && kData.Data)
|
|
36043
|
+
{
|
|
36044
|
+
var kItem=kData.Data[i];
|
|
36045
|
+
var key=this.BuildDateTimeKey(kItem);
|
|
36046
|
+
if (key && mapBreakPoint.has(key))
|
|
36047
|
+
{
|
|
36048
|
+
if (drawCount>0) this.Canvas.stroke();
|
|
36049
|
+
|
|
36050
|
+
bFirstPoint=true;
|
|
36051
|
+
drawCount=0;
|
|
36052
|
+
}
|
|
36053
|
+
}
|
|
36009
36054
|
}
|
|
36010
36055
|
|
|
36011
36056
|
if (drawCount>0)
|
|
@@ -84653,6 +84698,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84653
84698
|
|
|
84654
84699
|
this.FloatTooltip.Update(sendData);
|
|
84655
84700
|
}
|
|
84701
|
+
|
|
84702
|
+
this.GetKData=function()
|
|
84703
|
+
{
|
|
84704
|
+
if (!this.ChartPaint[0]) return null;
|
|
84705
|
+
var data=this.ChartPaint[0].Data;
|
|
84706
|
+
if (!data) return null;
|
|
84707
|
+
|
|
84708
|
+
return data;
|
|
84709
|
+
}
|
|
84656
84710
|
}
|
|
84657
84711
|
|
|
84658
84712
|
//API 返回数据 转化为array[]
|
|
@@ -90578,6 +90632,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90578
90632
|
|
|
90579
90633
|
this.DialogSelectRect.Update(sendData);
|
|
90580
90634
|
}
|
|
90635
|
+
|
|
90636
|
+
this.GetKData=function()
|
|
90637
|
+
{
|
|
90638
|
+
if (!this.SourceData) return null;
|
|
90639
|
+
var data=this.SourceData;
|
|
90640
|
+
if (!data) return null;
|
|
90641
|
+
|
|
90642
|
+
return data;
|
|
90643
|
+
}
|
|
90581
90644
|
}
|
|
90582
90645
|
|
|
90583
90646
|
//盘前数据
|
|
@@ -120116,6 +120179,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
120116
120179
|
line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
120117
120180
|
line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
120118
120181
|
line.Identify=this.Guid;
|
|
120182
|
+
line.HQChart=hqChart;
|
|
120119
120183
|
if (varItem.Color) line.Color=this.GetColor(varItem.Color);
|
|
120120
120184
|
else line.Color=this.GetDefaultColor(id);
|
|
120121
120185
|
|
|
@@ -120139,8 +120203,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
120139
120203
|
|
|
120140
120204
|
//虚线设置
|
|
120141
120205
|
if (IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash)) line.LineDash=varItem.LineDash;
|
|
120206
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShow)) line.IsShow=varItem.IsShow;
|
|
120142
120207
|
|
|
120143
|
-
if (varItem.
|
|
120208
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) line.AryBreakPoint=varItem.AryBreakPoint;
|
|
120144
120209
|
|
|
120145
120210
|
let titleIndex=windowIndex+1;
|
|
120146
120211
|
line.Data.Data=varItem.Data;
|
|
@@ -122337,6 +122402,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
122337
122402
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
122338
122403
|
chart.ChartFrame=frame.Frame;
|
|
122339
122404
|
chart.Identify=overlayIndex.Identify;
|
|
122405
|
+
chart.HQChart=hqChart;
|
|
122340
122406
|
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
122341
122407
|
else chart.Color=this.GetDefaultColor(id);
|
|
122342
122408
|
|
|
@@ -122352,6 +122418,8 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
122352
122418
|
if (!isNaN(width) && width>0) chart.LineWidth=width;
|
|
122353
122419
|
}
|
|
122354
122420
|
|
|
122421
|
+
if (IFrameSplitOperator.IsNonEmptyArray(varItem.AryBreakPoint)) chart.AryBreakPoint=varItem.AryBreakPoint;
|
|
122422
|
+
|
|
122355
122423
|
if (varItem.IsShow==false) chart.IsShow=false;
|
|
122356
122424
|
chart.Data.Data=varItem.Data;
|
|
122357
122425
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
@@ -124097,6 +124165,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
124097
124165
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
124098
124166
|
if (IFrameSplitOperator.IsNumber(item.StickType)) outVarItem.StickType=item.StickType;
|
|
124099
124167
|
if (IFrameSplitOperator.IsNumber(item.BarColorType)) outVarItem.BarColorType=item.BarColorType;
|
|
124168
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
124100
124169
|
|
|
124101
124170
|
result.push(outVarItem);
|
|
124102
124171
|
}
|
|
@@ -124597,6 +124666,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
124597
124666
|
if (IFrameSplitOperator.IsBool(item.isDotLine)) outVarItem.IsDotLine = item.isDotLine;
|
|
124598
124667
|
if (IFrameSplitOperator.IsNonEmptyArray(item.lineDash)) outVarItem.LineDash=item.lineDash;
|
|
124599
124668
|
if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
|
|
124669
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBreakPoint)) outVarItem.AryBreakPoint=item.AryBreakPoint;
|
|
124600
124670
|
|
|
124601
124671
|
result.push(outVarItem);
|
|
124602
124672
|
}
|
|
@@ -149917,7 +149987,7 @@ function HQChartScriptWorker()
|
|
|
149917
149987
|
|
|
149918
149988
|
|
|
149919
149989
|
|
|
149920
|
-
var HQCHART_VERSION="1.1.
|
|
149990
|
+
var HQCHART_VERSION="1.1.14244";
|
|
149921
149991
|
|
|
149922
149992
|
function PrintHQChartVersion()
|
|
149923
149993
|
{
|