hqchart 1.1.14473 → 1.1.14478
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 +30 -16
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +44 -25
- package/src/jscommon/umychart.deal.js +64 -1
- package/src/jscommon/umychart.js +2 -2
- package/src/jscommon/umychart.report.js +1 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +112 -30
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +112 -30
package/lib/umychart.vue.js
CHANGED
|
@@ -1925,7 +1925,7 @@ if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if
|
|
|
1925
1925
|
this.CurrentChartDrawPicture=null;}break;default:return;}if(draw)this.DrawDynamicInfo();//不让滚动条滚动
|
|
1926
1926
|
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnDoubleClick=function(x,y,e){//JSConsole.Chart.Log(e);
|
|
1927
1927
|
};this.ZoomIndexWindow=function(frameID,option)//最大化/最小化指标窗口
|
|
1928
|
-
{if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;return this.Frame.ZoomIndexWindow(frameID,option);};this.ShowIndexTitleOnly=function(frameID,option)//只显示指标的标题
|
|
1928
|
+
{if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;return this.Frame.ZoomIndexWindow(frameID,option);};this.ShowIndexTitleOnly=function(frameID,option)//只显示指标的标题 option={ Enable:true/false }
|
|
1929
1929
|
{if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;return this.Frame.ShowIndexTitleOnly(frameID,option);};this.RemoveMinSizeWindows=function()//清空最小化窗口
|
|
1930
1930
|
{if(!this.Frame.ZoomWindowsInfo)return;var aryDeleteIndex=[],aryIndex=[];//删除的索引, 保留的索引
|
|
1931
1931
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];item.Frame.ClearToolbar();if(item.Frame.IsMinSize)aryDeleteIndex.push(i);else aryIndex.push(i);}this.Frame.ZoomWindowsInfo=null;if(aryDeleteIndex.length<=0)return;for(var i=0;i<aryDeleteIndex.length;++i){this.DeleteIndexPaint(aryDeleteIndex[i]);}var newSubFrame=[];var newWindowIndex=[];var newTitlePaint=[this.TitlePaint[0]];for(var i=0;i<aryIndex.length;++i){var id=aryIndex[i];newSubFrame[i]=this.Frame.SubFrame[id];newWindowIndex[i]=this.WindowIndex[id];newTitlePaint[i+1]=this.TitlePaint[id+1];}this.Frame.SubFrame=newSubFrame;this.WindowIndex=newWindowIndex;this.TitlePaint=newTitlePaint;for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}if(IFrameSplitOperator.IsNonEmptyArray(this.ChartDrawPicture)){var aryDrawPicture=[];for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];for(var j=0;j<this.Frame.SubFrame.length;++j){if(item.Frame==this.Frame.SubFrame[j].Frame){aryDrawPicture.push(item);break;}}}this.ChartDrawPicture=aryDrawPicture;}};this.PtInClient=function(x,y){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){var border=this.Frame.ChartBorder.GetHScreenBorder();if(border.DayBorder)//多日分时+多日集合竞价
|
|
@@ -7052,7 +7052,7 @@ SortColor:"rgb(255,0,0)",//排序箭头颜色
|
|
|
7052
7052
|
Mergin:{Left:5,Right:5,Top:4,Bottom:4},//表头四周间距
|
|
7053
7053
|
Font:{Size:12,Name:"微软雅黑"}//表头字体
|
|
7054
7054
|
},//排序图标
|
|
7055
|
-
SortIcon:{Size:12,Family:"iconfont",Arrow:['\uE704','\
|
|
7055
|
+
SortIcon:{Size:12,Family:"iconfont",Arrow:['\uE704','\uF0C9','\uE81B'],//[0]=默认排序的图标背景色
|
|
7056
7056
|
Color:['rgb(169,169,169)',"rgb(51,51,51)","rgb(51,51,51)"],Margin:{Left:1*GetDevicePixelRatio(),Bottom:2,Right:0}},Item:{Mergin:{Top:2,Bottom:4,Left:5,Right:5},//单元格四周间距
|
|
7057
7057
|
Font:{Size:15,Name:"微软雅黑"},BarMergin:{Top:2,Left:3,Right:3,Bottom:2},//单元格字体
|
|
7058
7058
|
NameFont:{Size:14,Name:"微软雅黑"},SymbolFont:{Size:12,Name:"微软雅黑"}},//固定行
|
|
@@ -11830,9 +11830,9 @@ var lastItem=varItem.Draw.DrawData;if(lastItem){if(lastItem.Color)lastItem.Color
|
|
|
11830
11830
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
11831
11831
|
chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}if(IFrameSplitOperator.IsBool(varItem.IsDotLine))chart.IsDotLine=varItem.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))chart.LineDash=varItem.LineDash;chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiLine();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线
|
|
11832
11832
|
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin))chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;if(varItem.Draw.Arrow)//箭头配置
|
|
11833
|
-
{var item=varItem.Draw.Arrow;if(item.Start==true)chart.Arrow.Start=true;if(item.End==true)chart.Arrow.End=true;if(IFrameSplitOperator.IsNumber(item.Angle))chart.ArrawAngle=item.Angle;if(IFrameSplitOperator.IsNumber(item.Length))chart.ArrawLength=item.Length;if(IFrameSplitOperator.IsNumber(item.LineWidth))chart.ArrawLineWidth=item.LineWidth;}this.ReloadChartResource(hqChart,windowIndex,chart);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){
|
|
11834
|
-
chart.PointGroup=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartMultiBar();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();//绑定K线
|
|
11835
|
-
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[id]=titleData;};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiText();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();//绑定K线
|
|
11833
|
+
{var item=varItem.Draw.Arrow;if(item.Start==true)chart.Arrow.Start=true;if(item.End==true)chart.Arrow.End=true;if(IFrameSplitOperator.IsNumber(item.Angle))chart.ArrawAngle=item.Angle;if(IFrameSplitOperator.IsNumber(item.Length))chart.ArrawLength=item.Length;if(IFrameSplitOperator.IsNumber(item.LineWidth))chart.ArrawLineWidth=item.LineWidth;}this.ReloadChartResource(hqChart,windowIndex,chart);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiLine";titleData.Lines=chart.Lines;hqChart.TitlePaint[titleIndex].Data[i]=titleData;}};this.CreateMultiPoint=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiPoint();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();//绑定K线
|
|
11834
|
+
chart.PointGroup=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[i]=titleData;}};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartMultiBar();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();//绑定K线
|
|
11835
|
+
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[id]=titleData;}};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiText();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();//绑定K线
|
|
11836
11836
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiSVGIconV2();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();//绑定K线
|
|
11837
11837
|
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(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线
|
|
11838
11838
|
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.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsBool(varItem.Draw.IsShowRowName))chart.IsShowRowName=varItem.Draw.IsShowRowName;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;if(varItem.Draw.BGColor)chart.BGColor=varItem.Draw.BGColor;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.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线
|
|
@@ -11953,8 +11953,8 @@ chart.Data.Data=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};//
|
|
|
11953
11953
|
this.CreatePartLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartPartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.LineWidth=width;}if(IFrameSplitOperator.IsBool(varItem.IsDotLine))chart.IsDotLine=varItem.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(varItem.LineDash))chart.LineDash=varItem.LineDash;chart.Data.Data=varItem.Draw.DrawData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiLine=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11954
11954
|
chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.LineDash)chart.LineDash=varItem.Draw.LineDash;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsBool(varItem.Draw.IsFullRangeMaxMin))chart.IsFullRangeMaxMin=varItem.Draw.IsFullRangeMaxMin;if(varItem.Draw.Arrow)//箭头配置
|
|
11955
11955
|
{var item=varItem.Draw.Arrow;if(item.Start==true)chart.Arrow.Start=true;if(item.End==true)chart.Arrow.End=true;if(IFrameSplitOperator.IsNumber(item.Angle))chart.ArrawAngle=item.Angle;if(IFrameSplitOperator.IsNumber(item.Length))chart.ArrawLength=item.Length;if(IFrameSplitOperator.IsNumber(item.LineWidth))chart.ArrawLineWidth=item.LineWidth;}this.ReloadChartResource(hqChart,windowIndex,chart);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiPoint=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiPoint();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11956
|
-
chart.PointGroup=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBackgroud=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBackground();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Color=drawData.Color;chart.ColorAngle=drawData.Angle;if(drawData.Data)chart.Data.Data=drawData.Data;}frame.ChartPaint.push(chart);};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11957
|
-
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11956
|
+
chart.PointGroup=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBackgroud=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBackground();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Color=drawData.Color;chart.ColorAngle=drawData.Angle;if(drawData.Data)chart.Data.Data=drawData.Data;}frame.ChartPaint.push(chart);};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11957
|
+
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11958
11958
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiSVGIconV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
11959
11959
|
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;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(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;if(varItem.Draw.AutoPosition)chart.AutoPosition=varItem.Draw.AutoPosition;this.ReloadChartResource(hqChart,windowIndex,chart);chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11960
11960
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;frame.ChartPaint.push(chart);};this.CreateSimpleTable=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.TableData)chart.Data.Data=drawData.TableData;if(drawData.BGColor)chart.BGColor=drawData.BGColor;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;}frame.ChartPaint.push(chart);};this.CreateSimplePie=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimplePie();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;}frame.ChartPaint.push(chart);};this.CreateSimpleDoughnut=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleDoughnut();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;if(IFrameSplitOperator.IsPlusNumber(drawData.InnerRadius))chart.InnerRadius=drawData.InnerRadius;}frame.ChartPaint.push(chart);};this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleRadar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.AryIndex)chart.AryIndex=drawData.AryIndex;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea))chart.AryAreaConfig=drawData.AryArea;chart.BuildCacheData();}frame.ChartPaint.push(chart);};this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVericaltLine();chart.Canvas=hqChart.Canvas;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(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};this.CreateChartHorizontalLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartHorizontalLine();chart.Canvas=hqChart.Canvas;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(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.ExtendType=varItem.Draw.DrawData.Extend;chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};//创建K线
|
|
@@ -12405,7 +12405,7 @@ if(IFrameSplitOperator.IsBool(option.IsShowLastPage))this.IsShowLastPage=option.
|
|
|
12405
12405
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
12406
12406
|
}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this49.OnKeyDown(e);},true);//键盘消息
|
|
12407
12407
|
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this49.OnWheel(e);},true);//上下滚动消息
|
|
12408
|
-
};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12408
|
+
this.UIElement.onmousedown=function(e){_this49.UIOnMouseDown(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12409
12409
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
12410
12410
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
12411
12411
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.Data=null;this.SourceData=null;var chart=this.ChartPaint[0];if(chart)chart.Data=null;if(option&&IFrameSplitOperator.IsNumber(option.TradeDate))this.TradeDate=option.TradeDate;if(!this.Symbol){this.Draw();return;}this.RequestDealData();};this.CancelAutoUpdate=function()//关闭停止更新
|
|
@@ -12435,10 +12435,22 @@ this.GotoLastPage();}this.Draw();};this.SetSizeChange=function(bChanged){var cha
|
|
|
12435
12435
|
{if(this.GotoPreviousPage())this.Draw();}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var keyID=e.keyCode?e.keyCode:e.which;switch(keyID){case 38://up
|
|
12436
12436
|
if(this.GotoPreviousPage())this.Draw();break;case 40://down
|
|
12437
12437
|
if(this.GotoNextPage())this.Draw();break;}//不让滚动条滚动
|
|
12438
|
-
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.
|
|
12438
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;/*
|
|
12439
|
+
var clickData=chart.OnMouseDown(x,y,e);
|
|
12440
|
+
if (!clickData) return;
|
|
12441
|
+
|
|
12442
|
+
if ((clickData.Type==2) && (e.button==0 || e.button==2)) //点击行
|
|
12443
|
+
{
|
|
12444
|
+
if (clickData.Redraw==true) this.Draw();
|
|
12445
|
+
}
|
|
12446
|
+
else if (clickData.Type==3 && e.button==0) //表头
|
|
12447
|
+
{
|
|
12448
|
+
this.OnClickHeader(clickData, e);
|
|
12449
|
+
}
|
|
12450
|
+
*/};this.GotoNextPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var pageSize=chart.GetPageSize();if(pageSize>this.Data.Data.length)return false;var offset=this.Data.DataOffset+pageSize;if(offset+pageSize==this.Data.Data.length-1)return false;if(offset+pageSize>this.Data.Data.length)//最后一页不够一屏调整到满屏
|
|
12439
12451
|
{this.Data.DataOffset=this.Data.Data.length-pageSize;}else{this.Data.DataOffset=offset;}return true;};this.GotoPreviousPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;if(this.Data.DataOffset<=0)return false;var pageSize=chart.GetPageSize();var offset=this.Data.DataOffset;offset-=pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;return true;};this.GotoLastPage=function(){var chart=this.ChartPaint[0];if(!chart)return;//显示最后一屏
|
|
12440
12452
|
var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(chart){chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();}};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&option.Redraw){this.SetSizeChange(true);this.Draw();}};}JSDealChartContainer.JsonDataToDealData=function(data){var symbol=data.symbol;var result=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.detail))return result;//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
|
|
12441
|
-
for(var i=0;i<data.detail.length;++i){var item=data.detail[i];var dealItem={Time:item[0],Price:item[1],Vol:item[2],BS:item[4],Amount:item[3]};dealItem.Source=item;if(item[5])dealItem.StrTime=item[5];if(item[6])dealItem.ID=item[6];result.push(dealItem);}return result;};function JSDealFrame(){this.ChartBorder;this.Canvas;//画布
|
|
12453
|
+
for(var i=0;i<data.detail.length;++i){var item=data.detail[i];var dealItem={Time:item[0],Price:item[1],Vol:item[2],BS:item[4],Amount:item[3],Guid:Guid()};dealItem.Source=item;if(item[5])dealItem.StrTime=item[5];if(item[6])dealItem.ID=item[6];result.push(dealItem);}return result;};function JSDealFrame(){this.ChartBorder;this.Canvas;//画布
|
|
12442
12454
|
this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
12443
12455
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.ReloadResource=function(resource){this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
12444
12456
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;};this.Draw=function(option){var left=ToFixedPoint(this.ChartBorder.GetLeft());var top=ToFixedPoint(this.ChartBorder.GetTop());var right=ToFixedPoint(this.ChartBorder.GetRight());var bottom=ToFixedPoint(this.ChartBorder.GetBottom());var width=right-left;var height=bottom-top;if(!IFrameSplitOperator.IsNumber(this.BorderLine)){this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(left,top,width,height);}else{this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();if((this.BorderLine&1)>0)//上
|
|
@@ -12468,9 +12480,10 @@ this.Decimal=2;//小数位数
|
|
|
12468
12480
|
this.IsSingleTable=false;//单表模式
|
|
12469
12481
|
this.IsShowHeader=true;//是否显示表头
|
|
12470
12482
|
this.ShowOrder=1;//0=顺序 1=倒序
|
|
12483
|
+
this.SelectedData={Index:10};//{ Index:序号 }
|
|
12471
12484
|
this.SizeChange=true;//涨跌颜色
|
|
12472
12485
|
this.UpColor=g_JSChartResource.DealList.UpTextColor;this.DownColor=g_JSChartResource.DealList.DownTextColor;this.UnchagneColor=g_JSChartResource.DealList.UnchagneTextColor;this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
12473
|
-
|
|
12486
|
+
this.SelectedConfig={BGColor:"rgb(100,0,100)"};//表头配置
|
|
12474
12487
|
this.HeaderFontConfig={Size:g_JSChartResource.DealList.Header.Font.Size,Name:g_JSChartResource.DealList.Header.Font.Name};this.HeaderColor=g_JSChartResource.DealList.Header.Color;this.HeaderMergin={Left:g_JSChartResource.DealList.Header.Mergin.Left,Right:g_JSChartResource.DealList.Header.Mergin.Right,Top:g_JSChartResource.DealList.Header.Mergin.Top,Bottom:g_JSChartResource.DealList.Header.Mergin.Bottom};//表格内容配置
|
|
12475
12488
|
this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};this.BarMergin={Top:g_JSChartResource.DealList.Row.BarMergin.Top,Left:g_JSChartResource.DealList.Row.BarMergin.Left,Right:g_JSChartResource.DealList.Row.BarMergin.Right,Bottom:g_JSChartResource.DealList.Row.BarMergin.Bottom};//缓存
|
|
12476
12489
|
this.HeaderFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.ItemFont=15*GetDevicePixelRatio()+"px 微软雅黑";this.RowCount=0;this.TableWidth=0;this.TableCount=0;this.HeaderHeight=0;this.Column=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"}];this.RectClient={};this.ReloadResource=function(resource){this.UpColor=g_JSChartResource.DealList.UpTextColor;this.DownColor=g_JSChartResource.DealList.DownTextColor;this.UnchagneColor=g_JSChartResource.DealList.UnchagneTextColor;this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
@@ -12481,12 +12494,13 @@ this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChar
|
|
|
12481
12494
|
}this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"},{Type:DEAL_COLUMN_ID.DEAL_ID,Title:"笔数",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Deal,MaxText:"8888"},{Type:DEAL_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-8888.88"},{Type:DEAL_COLUMN_ID.STRING_TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88"},{Type:DEAL_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Index,MaxText:"88888"},{Type:DEAL_COLUMN_ID.MULTI_BAR_ID,Title:"柱子",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CENTER_BAR_ID,Title:"柱子2",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Text,MaxText:"擎擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.DrawBorder();this.DrawHeader();this.DrawBody();this.SizeChange=false;};//更新缓存变量
|
|
12482
12495
|
this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom();this.Decimal=GetfloatPrecision(this.Symbol);};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
|
|
12483
12496
|
{if(recalculate)this.CalculateSize();var size=this.TableCount*this.RowCount;return size;};this.CalculateSize=function()//计算大小
|
|
12484
|
-
{this.UpdateCacheData();var pixelRatio=GetDevicePixelRatio();this.HeaderFont=this.HeaderFontConfig.Size*pixelRatio+'px '+this.HeaderFontConfig.Name;this.ItemFont=this.ItemFontConfig.Size*pixelRatio+'px '+this.ItemFontConfig.Name;this.Canvas.font=this.ItemFont;var sumWidth=0,itemWidth=0;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];itemWidth=this.Canvas.measureText(item.MaxText).width;item.Width=itemWidth+4;sumWidth+=item.Width;}var clientWidth=this.RectClient.Right-this.RectClient.Left;this.TableCount=parseInt(clientWidth/sumWidth);if(this.IsSingleTable)this.TableCount=1;this.TableWidth=clientWidth/this.TableCount;this.HeaderHeight=this.GetFontHeight(this.HeaderFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;if(!this.IsShowHeader)this.HeaderHeight=0;this.RowHeight=this.GetFontHeight(this.ItemFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;this.RowCount=parseInt((this.RectClient.Bottom-this.RectClient.Top-this.HeaderHeight)/this.RowHeight);};this.DrawHeader=function(){if(!this.IsShowHeader)return;var left=this.RectClient.Left+this.HeaderMergin.Left;var top=this.RectClient.Top;var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;this.Canvas.font=this.HeaderFont;this.Canvas.fillStyle=this.HeaderColor;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;for(j=0;j<this.Column.length;++j){var item=this.Column[j];var itemWidth=item.Width;if(j==this.Column.length-1)itemWidth=this.TableWidth-(textLeft-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var x=textLeft;if(item.TextAlign=='center'){x=textLeft+itemWidth/2;this.Canvas.textAlign="center";}else if(item.TextAlign=='right'){x=textLeft+itemWidth;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Title,x,y);textLeft+=item.Width;}}};this.DrawBorder=function(){var left=ToFixedPoint(this.RectClient.Left);var right=ToFixedPoint(this.RectClient.Right);var top=ToFixedPoint(this.RectClient.Top);var bottom=ToFixedPoint(this.RectClient.Bottom);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();if(this.IsShowHeader){this.Canvas.moveTo(left,top+this.HeaderHeight);this.Canvas.lineTo(right,top+this.HeaderHeight);}var tableLeft=ToFixedPoint(left+this.TableWidth);for(var i=1;i<this.TableCount;++i){this.Canvas.moveTo(tableLeft,top);this.Canvas.lineTo(tableLeft,bottom);tableLeft=ToFixedPoint(tableLeft+this.TableWidth);}this.Canvas.stroke();};this.DrawBody=function(){if(!this.Data)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.font=this.ItemFont;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left+this.HeaderMergin.Left;var dataCount=this.Data.Data.length;var index=this.Data.DataOffset;if(this.ShowOrder==1){var index=this.Data.DataOffset+this.TableCount*this.RowCount;if(index>=dataCount)index=dataCount-1;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index>=0;++j,--index){var dataItem=this.Data.Data[index];this.DrawRow(dataItem,textLeft,textTop,index);textTop+=this.RowHeight;}}}else{for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];this.DrawRow(dataItem,textLeft,textTop,index);textTop+=this.RowHeight;}}}};this.DrawRow=function(data,left,top,dataIndex,colIndex){var tableLeft=left;var tableRight=left+this.TableWidth;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;var itemWidth=item.Width;var textAlign=item.TextAlign;if(left+itemWidth>tableRight)break;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){if(data.Price>this.YClose)textColor=this.UpColor;else if(data.Price<this.YClose)textColor=this.DownColor;else textColor=this.UnchagneColor;text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchagneColor;}}else if(item.Type==DEAL_COLUMN_ID.INDEX_ID){text=(dataIndex+1).toString();}else if(item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawMultiBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawCenterBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CUSTOM_TEXT_ID){var out={Text:null,TextColor:null,TextAlign:null};//输出
|
|
12485
|
-
var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};if(this.DrawCustomText(item,data,rtItem,dataIndex,i,out)){if(out.Text)text=out.Text;if(out.TextColor)textColor=out.TextColor;if(out.TextAlign)textAlign=out.TextAlign;}}this.DrawItemText(text,textColor,textAlign,left,top,itemWidth);left+=item.Width;}};this.DrawItemText=function(text,textColor,textAlign,left,top,width){var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=textColor;if(text)this.Canvas.fillText(text,x,top+this.RowHeight/2);};this.DrawMultiBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
|
|
12497
|
+
{this.UpdateCacheData();var pixelRatio=GetDevicePixelRatio();this.HeaderFont=this.HeaderFontConfig.Size*pixelRatio+'px '+this.HeaderFontConfig.Name;this.ItemFont=this.ItemFontConfig.Size*pixelRatio+'px '+this.ItemFontConfig.Name;this.Canvas.font=this.ItemFont;var sumWidth=0,itemWidth=0;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];itemWidth=this.Canvas.measureText(item.MaxText).width;item.Width=itemWidth+4;sumWidth+=item.Width;}var clientWidth=this.RectClient.Right-this.RectClient.Left;this.TableCount=parseInt(clientWidth/sumWidth);if(this.IsSingleTable)this.TableCount=1;this.TableWidth=clientWidth/this.TableCount;this.HeaderHeight=this.GetFontHeight(this.HeaderFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;if(!this.IsShowHeader)this.HeaderHeight=0;this.RowHeight=this.GetFontHeight(this.ItemFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;this.RowCount=parseInt((this.RectClient.Bottom-this.RectClient.Top-this.HeaderHeight)/this.RowHeight);};this.DrawHeader=function(){if(!this.IsShowHeader)return;var left=this.RectClient.Left+this.HeaderMergin.Left;var top=this.RectClient.Top;var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;this.Canvas.font=this.HeaderFont;this.Canvas.fillStyle=this.HeaderColor;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;for(j=0;j<this.Column.length;++j){var item=this.Column[j];var itemWidth=item.Width;if(j==this.Column.length-1)itemWidth=this.TableWidth-(textLeft-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var x=textLeft;if(item.TextAlign=='center'){x=textLeft+itemWidth/2;this.Canvas.textAlign="center";}else if(item.TextAlign=='right'){x=textLeft+itemWidth;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Title,x,y);textLeft+=item.Width;}}};this.DrawBorder=function(){var left=ToFixedPoint(this.RectClient.Left);var right=ToFixedPoint(this.RectClient.Right);var top=ToFixedPoint(this.RectClient.Top);var bottom=ToFixedPoint(this.RectClient.Bottom);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();if(this.IsShowHeader){this.Canvas.moveTo(left,top+this.HeaderHeight);this.Canvas.lineTo(right,top+this.HeaderHeight);}var tableLeft=ToFixedPoint(left+this.TableWidth);for(var i=1;i<this.TableCount;++i){this.Canvas.moveTo(tableLeft,top);this.Canvas.lineTo(tableLeft,bottom);tableLeft=ToFixedPoint(tableLeft+this.TableWidth);}this.Canvas.stroke();};this.DrawBody=function(){if(!this.Data)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.font=this.ItemFont;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left+this.HeaderMergin.Left;var dataCount=this.Data.Data.length;var index=this.Data.DataOffset;if(this.ShowOrder==1){var index=this.Data.DataOffset+this.TableCount*this.RowCount;if(index>=dataCount)index=dataCount-1;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index>=0;++j,--index){var dataItem=this.Data.Data[index];if(this.SelectedData&&this.SelectedData.Index==index)this.DrawSelectedRow(dataItem,textLeft-this.HeaderMergin.Left,textTop,index);this.DrawRow(dataItem,textLeft,textTop,index);textTop+=this.RowHeight;}}}else{for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];if(this.SelectedData&&this.SelectedData.Index==index)this.DrawSelectedRow(dataItem,textLeft-this.HeaderMergin.Left,textTop,index);this.DrawRow(dataItem,textLeft,textTop,index);textTop+=this.RowHeight;}}}};this.DrawRow=function(data,left,top,dataIndex,colIndex){var tableLeft=left;var tableRight=left+this.TableWidth;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;var itemWidth=item.Width;var textAlign=item.TextAlign;if(left+itemWidth>tableRight)break;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){if(data.Price>this.YClose)textColor=this.UpColor;else if(data.Price<this.YClose)textColor=this.DownColor;else textColor=this.UnchagneColor;text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchagneColor;}}else if(item.Type==DEAL_COLUMN_ID.INDEX_ID){text=(dataIndex+1).toString();}else if(item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawMultiBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawCenterBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CUSTOM_TEXT_ID){var out={Text:null,TextColor:null,TextAlign:null};//输出
|
|
12498
|
+
var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};if(this.DrawCustomText(item,data,rtItem,dataIndex,i,out)){if(out.Text)text=out.Text;if(out.TextColor)textColor=out.TextColor;if(out.TextAlign)textAlign=out.TextAlign;}}this.DrawItemText(text,textColor,textAlign,left,top,itemWidth);left+=item.Width;}};this.DrawSelectedRow=function(data,left,top,dataIndex,colIndex){var rtRow={Left:left,Top:top,Height:this.RowHeight,Width:this.TableWidth};rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Bottom=rtRow.Top+rtRow.Bottom;this.Canvas.fillStyle=this.SelectedConfig.BGColor;this.Canvas.fillRect(rtRow.Left,rtRow.Top,rtRow.Width,rtRow.Height);};this.DrawItemText=function(text,textColor,textAlign,left,top,width){var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=textColor;if(text)this.Canvas.fillText(text,x,top+this.RowHeight/2);};this.DrawMultiBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
|
|
12486
12499
|
if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=rtItem.Width-this.BarMergin.Left-this.BarMergin.Right;var left=rtItem.Left+this.BarMergin.Left;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length;++i){var value=barData.Value[i];if(value<=0)continue;if(left>=right)break;var barWidth=width*value;if(barWidth<1)barWidth=1;if(left+barWidth>right)barWidth=right-left;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];this.Canvas.fillRect(left,top,barWidth,height);left+=barWidth;}return true;};this.DrawCenterBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
|
|
12487
12500
|
if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=(rtItem.Width-this.BarMergin.Left-this.BarMergin.Right)/2;var left=rtItem.Left+this.BarMergin.Left;var center=left+width;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length&&i<2;++i){var value=barData.Value[i];if(value<=0)continue;if(value>1)value=1;var barWidth=width*value;if(barWidth<1)barWidth=1;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];if(i==0)//左边
|
|
12488
12501
|
{this.Canvas.fillRect(center,top,-barWidth,height);}else//右边
|
|
12489
|
-
{this.Canvas.fillRect(center,top,barWidth,height);}}};this.DrawCustomText=function(columnInfo,data,rtItem,dataIndex,colid,out){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_TEXT);if(!event||!event.Callback)return false;var sendData={Data:data,DataIndex:dataIndex,ColumnIndex:colid,ColumnInfo:columnInfo,Out:{Text:null,TextColor:null,TextAlign:null}};event.Callback(event,sendData,this);if(!sendData.Out.Text)return false;out.Text=sendData.Out.Text;if(sendData.Out.TextColor)out.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)out.TextAlign=sendData.Out.TextAlign;return true;};this.GetVolColor=function(colunmInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_VOL_COLOR);if(event&&event.Callback){var sendData={Data:data,TextColor:null};event.Callback(event,sendData,this);if(sendData.TextColor)return sendData.TextColor;}return colunmInfo.TextColor;};this.GetFontHeight=function(font,word){return GetFontHeight(this.Canvas,font,word);};
|
|
12502
|
+
{this.Canvas.fillRect(center,top,barWidth,height);}}};this.DrawCustomText=function(columnInfo,data,rtItem,dataIndex,colid,out){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_TEXT);if(!event||!event.Callback)return false;var sendData={Data:data,DataIndex:dataIndex,ColumnIndex:colid,ColumnInfo:columnInfo,Out:{Text:null,TextColor:null,TextAlign:null}};event.Callback(event,sendData,this);if(!sendData.Out.Text)return false;out.Text=sendData.Out.Text;if(sendData.Out.TextColor)out.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)out.TextAlign=sendData.Out.TextAlign;return true;};this.GetVolColor=function(colunmInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_VOL_COLOR);if(event&&event.Callback){var sendData={Data:data,TextColor:null};event.Callback(event,sendData,this);if(sendData.TextColor)return sendData.TextColor;}return colunmInfo.TextColor;};this.GetFontHeight=function(font,word){return GetFontHeight(this.Canvas,font,word);};this.OnMouseDown=function(x,y,e)//Type: 2=行 3=表头
|
|
12503
|
+
{if(!this.Data)return null;var pixelTatio=GetDevicePixelRatio();var insidePoint={X:x/pixelTatio,Y:y/pixelTatio};var uiElement;if(this.UIElement)uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};else uiElement={Left:null,Top:null};var row=this.PtInBody(x,y);};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;};}/*
|
|
12490
12504
|
Copyright (c) 2018 jones
|
|
12491
12505
|
|
|
12492
12506
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -13112,7 +13126,7 @@ this.GetNameColor=function(colunmInfo,symbol,rowType){var event=this.GetEventCal
|
|
|
13112
13126
|
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];var header={Left:textLeft,Right:textLeft+item.Width,Top:top,Bottom:bottom};if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:true};}textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(textLeft>=right)break;var header={Left:textLeft,Right:textLeft+item.Width,Top:top,Bottom:bottom};if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:false};}textLeft+=item.Width;}return null;};this.PtInHeader=function(x,y){if(!this.IsShowHeader)return null;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(!(x>=left&&x<=right&&y>=top&&y<=bottom))return null;return this.PtInItem(x,y,top,bottom);};this.IsPtInBody=function(x,y){var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var bottom=this.RectClient.Bottom;if(x>=left&&x<=right&&y>=top&&y<=bottom)return true;return false;};this.IsPtInHeader=function(x,y){if(!this.IsShowHeader)return false;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(x>=left&&x<=right&&y>=top&&y<=bottom)return true;return false;};this.SendClickEvent=function(id,data){var event=this.GetEventCallback(id);if(event&&event.Callback){event.Callback(event,data,this);}};this.DrawDragRow=function(){if(!this.DragRow)return;var drag=this.DragRow;if(!drag.Data||!drag.Inside||!drag.Data.Row)return;var dataIndex=drag.Data.Row.DataIndex;if(!IFrameSplitOperator.IsNumber(dataIndex)||dataIndex<0)return;var textTop=drag.Inside.Y-this.RowHeight/2;var top=textTop;var left=this.RectClient.Left;var rowWidth=this.RectClient.Right-this.RectClient.Left;//背景
|
|
13113
13127
|
this.Canvas.fillStyle=this.DragRowColor;this.Canvas.fillRect(left,textTop,rowWidth,this.RowHeight);var symbol=this.Data.Data[dataIndex];var data={Symbol:symbol,Stock:null,Block:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(this.GetBlockDataCallback)data.Block=this.GetBlockDataCallback(symbol);data.Decimal=GetfloatPrecision(symbol);//小数位数
|
|
13114
13128
|
var chartRight=this.RectClient.Right;this.Canvas.font=this.ItemFont;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);left+=item.Width;if(left>=chartRight)break;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);left+=item.Width;if(left>=chartRight)break;}};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data};}}return null;};this.GetButtonData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.ButtonRect))return null;for(var i=0;i<this.ButtonRect.length;++i){var item=this.ButtonRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data,ColumnIndex:item.ColumnIndex};}}};this.PtInHeaderDragBorder=function(x,y){if(!this.IsShowHeader)return null;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(!(x>=left&&x<=right&&y>=top&&y<=bottom))return null;var textLeft=left;var dragBarWidth=5*GetDevicePixelRatio();//固定列
|
|
13115
|
-
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:true};}}textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(textLeft>=right)break;if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:false};}}textLeft+=item.Width;}return null;};//设置选中行
|
|
13129
|
+
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:true};}}textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(textLeft>=right)break;if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:false};}}textLeft+=item.Width;}return null;};//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
13116
13130
|
this.SetSelectedRow=function(option){if(!option)return false;if(this.SelectedModel===0)return false;if(option.Symbol){var symbol=option.Symbol;var bFinder=false;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(symbol==item){this.SelectedRow=i;bFinder=true;break;}}if(!bFinder)return false;if(option.AutoYScroll===true){this.UpdatePageYOffset({SelectedRow:this.SelectedRow});}return bFinder;}return false;};this.UpdatePageYOffset=function(option){if(!option)return;var selectedRow=option.SelectedRow;if(selectedRow<0)return;var pageStatus=this.GetCurrentPageStatus();if(pageStatus.IsSinglePage)return;if(selectedRow>=pageStatus.Start&&selectedRow<=pageStatus.End)return;this.Data.YOffset=selectedRow;//选中行不在当前屏 设置为第1行
|
|
13117
13131
|
};}//报价列表底部tab和横向滚动条
|
|
13118
13132
|
function ChartReportTab(){this.Canvas;//画布
|
|
@@ -14350,7 +14364,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14350
14364
|
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);};}/********************************************************************************
|
|
14351
14365
|
* 版本信息输出
|
|
14352
14366
|
*
|
|
14353
|
-
*/var HQCHART_VERSION="1.1.
|
|
14367
|
+
*/var HQCHART_VERSION="1.1.14477";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();//把给外界调用的方法暴露出来
|
|
14354
14368
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14355
14369
|
// BaseIndex:BaseIndex,
|
|
14356
14370
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -22013,12 +22013,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
22013
22013
|
this.SetChartIndexName(chart);
|
|
22014
22014
|
hqChart.ChartPaint.push(chart);
|
|
22015
22015
|
|
|
22016
|
-
|
|
22017
|
-
|
|
22018
|
-
|
|
22019
|
-
|
|
22020
|
-
}
|
|
22021
|
-
else
|
|
22016
|
+
var titleIndex=windowIndex+1;
|
|
22017
|
+
var bShowTitle=true;
|
|
22018
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
22019
|
+
if (bShowTitle)
|
|
22022
22020
|
{
|
|
22023
22021
|
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
22024
22022
|
titleData.DataType="ChartMultiLine";
|
|
@@ -22044,10 +22042,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
22044
22042
|
hqChart.ChartPaint.push(chart);
|
|
22045
22043
|
|
|
22046
22044
|
var titleIndex=windowIndex+1;
|
|
22047
|
-
var
|
|
22048
|
-
|
|
22049
|
-
|
|
22050
|
-
|
|
22045
|
+
var bShowTitle=true;
|
|
22046
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
22047
|
+
if (bShowTitle)
|
|
22048
|
+
{
|
|
22049
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
22050
|
+
titleData.DataType="ChartMultiPoint";
|
|
22051
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
22052
|
+
hqChart.TitlePaint[titleIndex].Data[i]=titleData;
|
|
22053
|
+
}
|
|
22051
22054
|
}
|
|
22052
22055
|
|
|
22053
22056
|
this.CreateMultiBar=function(hqChart,windowIndex,varItem,id)
|
|
@@ -22066,10 +22069,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
22066
22069
|
hqChart.ChartPaint.push(chart);
|
|
22067
22070
|
|
|
22068
22071
|
var titleIndex=windowIndex+1;
|
|
22069
|
-
|
|
22070
|
-
|
|
22071
|
-
|
|
22072
|
-
|
|
22072
|
+
|
|
22073
|
+
var bShowTitle=true;
|
|
22074
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
22075
|
+
if (bShowTitle)
|
|
22076
|
+
{
|
|
22077
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
22078
|
+
titleData.DataType="ChartMultiBar";
|
|
22079
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
22080
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
22081
|
+
}
|
|
22082
|
+
|
|
22073
22083
|
}
|
|
22074
22084
|
|
|
22075
22085
|
this.CreateMultiText=function(hqChart,windowIndex,varItem,i)
|
|
@@ -23783,11 +23793,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23783
23793
|
chart.BuildCacheData();
|
|
23784
23794
|
|
|
23785
23795
|
var titleIndex=windowIndex+1;
|
|
23786
|
-
var
|
|
23787
|
-
|
|
23788
|
-
|
|
23789
|
-
|
|
23790
|
-
|
|
23796
|
+
var bShowTitle=true;
|
|
23797
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
23798
|
+
if (bShowTitle)
|
|
23799
|
+
{
|
|
23800
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
23801
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
23802
|
+
titleData.DataType="ChartMultiPoint";
|
|
23803
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
23804
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
23805
|
+
}
|
|
23791
23806
|
|
|
23792
23807
|
this.SetChartIndexName(chart);
|
|
23793
23808
|
|
|
@@ -23833,12 +23848,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23833
23848
|
chart.BuildCacheData();
|
|
23834
23849
|
|
|
23835
23850
|
var titleIndex=windowIndex+1;
|
|
23836
|
-
var
|
|
23837
|
-
|
|
23838
|
-
|
|
23839
|
-
|
|
23840
|
-
|
|
23841
|
-
|
|
23851
|
+
var bShowTitle=true;
|
|
23852
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
23853
|
+
if (bShowTitle)
|
|
23854
|
+
{
|
|
23855
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
23856
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
23857
|
+
titleData.DataType="ChartMultiBar";
|
|
23858
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
23859
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
23860
|
+
}
|
|
23842
23861
|
|
|
23843
23862
|
this.SetChartIndexName(chart);
|
|
23844
23863
|
frame.ChartPaint.push(chart);
|
|
@@ -315,6 +315,8 @@ function JSDealChartContainer(uielement)
|
|
|
315
315
|
|
|
316
316
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
317
317
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
318
|
+
|
|
319
|
+
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
318
320
|
}
|
|
319
321
|
|
|
320
322
|
this.Draw=function()
|
|
@@ -688,6 +690,32 @@ function JSDealChartContainer(uielement)
|
|
|
688
690
|
else e.returnValue = false;
|
|
689
691
|
}
|
|
690
692
|
|
|
693
|
+
this.UIOnMouseDown=function(e)
|
|
694
|
+
{
|
|
695
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
696
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
697
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
var chart=this.ChartPaint[0];
|
|
701
|
+
if (!chart) return;
|
|
702
|
+
|
|
703
|
+
/*
|
|
704
|
+
var clickData=chart.OnMouseDown(x,y,e);
|
|
705
|
+
if (!clickData) return;
|
|
706
|
+
|
|
707
|
+
if ((clickData.Type==2) && (e.button==0 || e.button==2)) //点击行
|
|
708
|
+
{
|
|
709
|
+
if (clickData.Redraw==true) this.Draw();
|
|
710
|
+
}
|
|
711
|
+
else if (clickData.Type==3 && e.button==0) //表头
|
|
712
|
+
{
|
|
713
|
+
this.OnClickHeader(clickData, e);
|
|
714
|
+
}
|
|
715
|
+
*/
|
|
716
|
+
|
|
717
|
+
}
|
|
718
|
+
|
|
691
719
|
this.GotoNextPage=function()
|
|
692
720
|
{
|
|
693
721
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -781,7 +809,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
781
809
|
{
|
|
782
810
|
var item=data.detail[i];
|
|
783
811
|
|
|
784
|
-
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3] };
|
|
812
|
+
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3], Guid:Guid() };
|
|
785
813
|
dealItem.Source=item;
|
|
786
814
|
|
|
787
815
|
if (item[5]) dealItem.StrTime=item[5];
|
|
@@ -907,6 +935,7 @@ function ChartDealList()
|
|
|
907
935
|
this.IsSingleTable=false; //单表模式
|
|
908
936
|
this.IsShowHeader=true; //是否显示表头
|
|
909
937
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
938
|
+
this.SelectedData={ Index:10 }; //{ Index:序号 }
|
|
910
939
|
|
|
911
940
|
this.SizeChange=true;
|
|
912
941
|
|
|
@@ -917,6 +946,8 @@ function ChartDealList()
|
|
|
917
946
|
|
|
918
947
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
919
948
|
|
|
949
|
+
this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
|
|
950
|
+
|
|
920
951
|
//表头配置
|
|
921
952
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
922
953
|
this.HeaderColor=g_JSChartResource.DealList.Header.Color;
|
|
@@ -1211,6 +1242,7 @@ function ChartDealList()
|
|
|
1211
1242
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
1212
1243
|
{
|
|
1213
1244
|
var dataItem=this.Data.Data[index];
|
|
1245
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
1214
1246
|
|
|
1215
1247
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
1216
1248
|
|
|
@@ -1228,6 +1260,8 @@ function ChartDealList()
|
|
|
1228
1260
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
1229
1261
|
{
|
|
1230
1262
|
var dataItem=this.Data.Data[index];
|
|
1263
|
+
|
|
1264
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
1231
1265
|
|
|
1232
1266
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
1233
1267
|
|
|
@@ -1335,6 +1369,16 @@ function ChartDealList()
|
|
|
1335
1369
|
}
|
|
1336
1370
|
}
|
|
1337
1371
|
|
|
1372
|
+
this.DrawSelectedRow=function(data, left, top, dataIndex, colIndex)
|
|
1373
|
+
{
|
|
1374
|
+
var rtRow={ Left:left, Top:top, Height:this.RowHeight, Width:this.TableWidth };
|
|
1375
|
+
rtRow.Right=rtRow.Left+rtRow.Width;
|
|
1376
|
+
rtRow.Bottom=rtRow.Top+rtRow.Bottom;
|
|
1377
|
+
|
|
1378
|
+
this.Canvas.fillStyle=this.SelectedConfig.BGColor;
|
|
1379
|
+
this.Canvas.fillRect(rtRow.Left,rtRow.Top, rtRow.Width, rtRow.Height);
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1338
1382
|
this.DrawItemText=function(text, textColor, textAlign, left, top, width)
|
|
1339
1383
|
{
|
|
1340
1384
|
var x=left;
|
|
@@ -1461,4 +1505,23 @@ function ChartDealList()
|
|
|
1461
1505
|
{
|
|
1462
1506
|
return GetFontHeight(this.Canvas, font, word);
|
|
1463
1507
|
}
|
|
1508
|
+
|
|
1509
|
+
this.OnMouseDown=function(x,y,e) //Type: 2=行 3=表头
|
|
1510
|
+
{
|
|
1511
|
+
if (!this.Data) return null;
|
|
1512
|
+
|
|
1513
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
1514
|
+
var insidePoint={X:x/pixelTatio, Y:y/pixelTatio};
|
|
1515
|
+
var uiElement;
|
|
1516
|
+
if (this.UIElement) uiElement={Left:this.UIElement.getBoundingClientRect().left, Top:this.UIElement.getBoundingClientRect().top};
|
|
1517
|
+
else uiElement={Left:null, Top:null};
|
|
1518
|
+
|
|
1519
|
+
var row=this.PtInBody(x,y);
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
this.PtInBody=function(x,y)
|
|
1523
|
+
{
|
|
1524
|
+
if (!this.Data) return null;
|
|
1525
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
1526
|
+
}
|
|
1464
1527
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -6982,7 +6982,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6982
6982
|
return this.Frame.ZoomIndexWindow(frameID, option);
|
|
6983
6983
|
}
|
|
6984
6984
|
|
|
6985
|
-
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题
|
|
6985
|
+
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题 option={ Enable:true/false }
|
|
6986
6986
|
{
|
|
6987
6987
|
if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
|
|
6988
6988
|
return this.Frame.ShowIndexTitleOnly(frameID, option);
|
|
@@ -72466,7 +72466,7 @@ function JSChartResource()
|
|
|
72466
72466
|
SortIcon:
|
|
72467
72467
|
{
|
|
72468
72468
|
Size:12, Family:"iconfont",
|
|
72469
|
-
Arrow:["\ue704",
|
|
72469
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
72470
72470
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
72471
72471
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
72472
72472
|
},
|
|
@@ -8578,7 +8578,7 @@ function ChartReport()
|
|
|
8578
8578
|
return null;
|
|
8579
8579
|
}
|
|
8580
8580
|
|
|
8581
|
-
//设置选中行
|
|
8581
|
+
//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
8582
8582
|
this.SetSelectedRow=function(option)
|
|
8583
8583
|
{
|
|
8584
8584
|
if (!option) return false;
|
|
@@ -10907,7 +10907,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10907
10907
|
return this.Frame.ZoomIndexWindow(frameID, option);
|
|
10908
10908
|
}
|
|
10909
10909
|
|
|
10910
|
-
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题
|
|
10910
|
+
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题 option={ Enable:true/false }
|
|
10911
10911
|
{
|
|
10912
10912
|
if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
|
|
10913
10913
|
return this.Frame.ShowIndexTitleOnly(frameID, option);
|
|
@@ -76391,7 +76391,7 @@ function JSChartResource()
|
|
|
76391
76391
|
SortIcon:
|
|
76392
76392
|
{
|
|
76393
76393
|
Size:12, Family:"iconfont",
|
|
76394
|
-
Arrow:["\ue704",
|
|
76394
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
76395
76395
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
76396
76396
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
76397
76397
|
},
|
|
@@ -124218,12 +124218,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
124218
124218
|
this.SetChartIndexName(chart);
|
|
124219
124219
|
hqChart.ChartPaint.push(chart);
|
|
124220
124220
|
|
|
124221
|
-
|
|
124222
|
-
|
|
124223
|
-
|
|
124224
|
-
|
|
124225
|
-
}
|
|
124226
|
-
else
|
|
124221
|
+
var titleIndex=windowIndex+1;
|
|
124222
|
+
var bShowTitle=true;
|
|
124223
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124224
|
+
if (bShowTitle)
|
|
124227
124225
|
{
|
|
124228
124226
|
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124229
124227
|
titleData.DataType="ChartMultiLine";
|
|
@@ -124249,10 +124247,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
124249
124247
|
hqChart.ChartPaint.push(chart);
|
|
124250
124248
|
|
|
124251
124249
|
var titleIndex=windowIndex+1;
|
|
124252
|
-
var
|
|
124253
|
-
|
|
124254
|
-
|
|
124255
|
-
|
|
124250
|
+
var bShowTitle=true;
|
|
124251
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124252
|
+
if (bShowTitle)
|
|
124253
|
+
{
|
|
124254
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124255
|
+
titleData.DataType="ChartMultiPoint";
|
|
124256
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
124257
|
+
hqChart.TitlePaint[titleIndex].Data[i]=titleData;
|
|
124258
|
+
}
|
|
124256
124259
|
}
|
|
124257
124260
|
|
|
124258
124261
|
this.CreateMultiBar=function(hqChart,windowIndex,varItem,id)
|
|
@@ -124271,10 +124274,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
124271
124274
|
hqChart.ChartPaint.push(chart);
|
|
124272
124275
|
|
|
124273
124276
|
var titleIndex=windowIndex+1;
|
|
124274
|
-
|
|
124275
|
-
|
|
124276
|
-
|
|
124277
|
-
|
|
124277
|
+
|
|
124278
|
+
var bShowTitle=true;
|
|
124279
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124280
|
+
if (bShowTitle)
|
|
124281
|
+
{
|
|
124282
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
124283
|
+
titleData.DataType="ChartMultiBar";
|
|
124284
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
124285
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
124286
|
+
}
|
|
124287
|
+
|
|
124278
124288
|
}
|
|
124279
124289
|
|
|
124280
124290
|
this.CreateMultiText=function(hqChart,windowIndex,varItem,i)
|
|
@@ -125988,11 +125998,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125988
125998
|
chart.BuildCacheData();
|
|
125989
125999
|
|
|
125990
126000
|
var titleIndex=windowIndex+1;
|
|
125991
|
-
var
|
|
125992
|
-
|
|
125993
|
-
|
|
125994
|
-
|
|
125995
|
-
|
|
126001
|
+
var bShowTitle=true;
|
|
126002
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
126003
|
+
if (bShowTitle)
|
|
126004
|
+
{
|
|
126005
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126006
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
126007
|
+
titleData.DataType="ChartMultiPoint";
|
|
126008
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
126009
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126010
|
+
}
|
|
125996
126011
|
|
|
125997
126012
|
this.SetChartIndexName(chart);
|
|
125998
126013
|
|
|
@@ -126038,12 +126053,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126038
126053
|
chart.BuildCacheData();
|
|
126039
126054
|
|
|
126040
126055
|
var titleIndex=windowIndex+1;
|
|
126041
|
-
var
|
|
126042
|
-
|
|
126043
|
-
|
|
126044
|
-
|
|
126045
|
-
|
|
126046
|
-
|
|
126056
|
+
var bShowTitle=true;
|
|
126057
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
126058
|
+
if (bShowTitle)
|
|
126059
|
+
{
|
|
126060
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126061
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
126062
|
+
titleData.DataType="ChartMultiBar";
|
|
126063
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
126064
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126065
|
+
}
|
|
126047
126066
|
|
|
126048
126067
|
this.SetChartIndexName(chart);
|
|
126049
126068
|
frame.ChartPaint.push(chart);
|
|
@@ -129811,6 +129830,8 @@ function JSDealChartContainer(uielement)
|
|
|
129811
129830
|
|
|
129812
129831
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
129813
129832
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
129833
|
+
|
|
129834
|
+
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
129814
129835
|
}
|
|
129815
129836
|
|
|
129816
129837
|
this.Draw=function()
|
|
@@ -130184,6 +130205,32 @@ function JSDealChartContainer(uielement)
|
|
|
130184
130205
|
else e.returnValue = false;
|
|
130185
130206
|
}
|
|
130186
130207
|
|
|
130208
|
+
this.UIOnMouseDown=function(e)
|
|
130209
|
+
{
|
|
130210
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
130211
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
130212
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
130213
|
+
|
|
130214
|
+
|
|
130215
|
+
var chart=this.ChartPaint[0];
|
|
130216
|
+
if (!chart) return;
|
|
130217
|
+
|
|
130218
|
+
/*
|
|
130219
|
+
var clickData=chart.OnMouseDown(x,y,e);
|
|
130220
|
+
if (!clickData) return;
|
|
130221
|
+
|
|
130222
|
+
if ((clickData.Type==2) && (e.button==0 || e.button==2)) //点击行
|
|
130223
|
+
{
|
|
130224
|
+
if (clickData.Redraw==true) this.Draw();
|
|
130225
|
+
}
|
|
130226
|
+
else if (clickData.Type==3 && e.button==0) //表头
|
|
130227
|
+
{
|
|
130228
|
+
this.OnClickHeader(clickData, e);
|
|
130229
|
+
}
|
|
130230
|
+
*/
|
|
130231
|
+
|
|
130232
|
+
}
|
|
130233
|
+
|
|
130187
130234
|
this.GotoNextPage=function()
|
|
130188
130235
|
{
|
|
130189
130236
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -130277,7 +130324,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
130277
130324
|
{
|
|
130278
130325
|
var item=data.detail[i];
|
|
130279
130326
|
|
|
130280
|
-
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3] };
|
|
130327
|
+
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3], Guid:Guid() };
|
|
130281
130328
|
dealItem.Source=item;
|
|
130282
130329
|
|
|
130283
130330
|
if (item[5]) dealItem.StrTime=item[5];
|
|
@@ -130403,6 +130450,7 @@ function ChartDealList()
|
|
|
130403
130450
|
this.IsSingleTable=false; //单表模式
|
|
130404
130451
|
this.IsShowHeader=true; //是否显示表头
|
|
130405
130452
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
130453
|
+
this.SelectedData={ Index:10 }; //{ Index:序号 }
|
|
130406
130454
|
|
|
130407
130455
|
this.SizeChange=true;
|
|
130408
130456
|
|
|
@@ -130413,6 +130461,8 @@ function ChartDealList()
|
|
|
130413
130461
|
|
|
130414
130462
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
130415
130463
|
|
|
130464
|
+
this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
|
|
130465
|
+
|
|
130416
130466
|
//表头配置
|
|
130417
130467
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
130418
130468
|
this.HeaderColor=g_JSChartResource.DealList.Header.Color;
|
|
@@ -130707,6 +130757,7 @@ function ChartDealList()
|
|
|
130707
130757
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
130708
130758
|
{
|
|
130709
130759
|
var dataItem=this.Data.Data[index];
|
|
130760
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130710
130761
|
|
|
130711
130762
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130712
130763
|
|
|
@@ -130724,6 +130775,8 @@ function ChartDealList()
|
|
|
130724
130775
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
130725
130776
|
{
|
|
130726
130777
|
var dataItem=this.Data.Data[index];
|
|
130778
|
+
|
|
130779
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130727
130780
|
|
|
130728
130781
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130729
130782
|
|
|
@@ -130831,6 +130884,16 @@ function ChartDealList()
|
|
|
130831
130884
|
}
|
|
130832
130885
|
}
|
|
130833
130886
|
|
|
130887
|
+
this.DrawSelectedRow=function(data, left, top, dataIndex, colIndex)
|
|
130888
|
+
{
|
|
130889
|
+
var rtRow={ Left:left, Top:top, Height:this.RowHeight, Width:this.TableWidth };
|
|
130890
|
+
rtRow.Right=rtRow.Left+rtRow.Width;
|
|
130891
|
+
rtRow.Bottom=rtRow.Top+rtRow.Bottom;
|
|
130892
|
+
|
|
130893
|
+
this.Canvas.fillStyle=this.SelectedConfig.BGColor;
|
|
130894
|
+
this.Canvas.fillRect(rtRow.Left,rtRow.Top, rtRow.Width, rtRow.Height);
|
|
130895
|
+
}
|
|
130896
|
+
|
|
130834
130897
|
this.DrawItemText=function(text, textColor, textAlign, left, top, width)
|
|
130835
130898
|
{
|
|
130836
130899
|
var x=left;
|
|
@@ -130957,6 +131020,25 @@ function ChartDealList()
|
|
|
130957
131020
|
{
|
|
130958
131021
|
return GetFontHeight(this.Canvas, font, word);
|
|
130959
131022
|
}
|
|
131023
|
+
|
|
131024
|
+
this.OnMouseDown=function(x,y,e) //Type: 2=行 3=表头
|
|
131025
|
+
{
|
|
131026
|
+
if (!this.Data) return null;
|
|
131027
|
+
|
|
131028
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
131029
|
+
var insidePoint={X:x/pixelTatio, Y:y/pixelTatio};
|
|
131030
|
+
var uiElement;
|
|
131031
|
+
if (this.UIElement) uiElement={Left:this.UIElement.getBoundingClientRect().left, Top:this.UIElement.getBoundingClientRect().top};
|
|
131032
|
+
else uiElement={Left:null, Top:null};
|
|
131033
|
+
|
|
131034
|
+
var row=this.PtInBody(x,y);
|
|
131035
|
+
}
|
|
131036
|
+
|
|
131037
|
+
this.PtInBody=function(x,y)
|
|
131038
|
+
{
|
|
131039
|
+
if (!this.Data) return null;
|
|
131040
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
131041
|
+
}
|
|
130960
131042
|
}
|
|
130961
131043
|
/*
|
|
130962
131044
|
Copyright (c) 2018 jones
|
|
@@ -139538,7 +139620,7 @@ function ChartReport()
|
|
|
139538
139620
|
return null;
|
|
139539
139621
|
}
|
|
139540
139622
|
|
|
139541
|
-
//设置选中行
|
|
139623
|
+
//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
139542
139624
|
this.SetSelectedRow=function(option)
|
|
139543
139625
|
{
|
|
139544
139626
|
if (!option) return false;
|
|
@@ -143710,7 +143792,7 @@ function ScrollBarBGChart()
|
|
|
143710
143792
|
|
|
143711
143793
|
|
|
143712
143794
|
|
|
143713
|
-
var HQCHART_VERSION="1.1.
|
|
143795
|
+
var HQCHART_VERSION="1.1.14477";
|
|
143714
143796
|
|
|
143715
143797
|
function PrintHQChartVersion()
|
|
143716
143798
|
{
|
|
@@ -10951,7 +10951,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10951
10951
|
return this.Frame.ZoomIndexWindow(frameID, option);
|
|
10952
10952
|
}
|
|
10953
10953
|
|
|
10954
|
-
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题
|
|
10954
|
+
this.ShowIndexTitleOnly=function(frameID, option) //只显示指标的标题 option={ Enable:true/false }
|
|
10955
10955
|
{
|
|
10956
10956
|
if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
|
|
10957
10957
|
return this.Frame.ShowIndexTitleOnly(frameID, option);
|
|
@@ -76435,7 +76435,7 @@ function JSChartResource()
|
|
|
76435
76435
|
SortIcon:
|
|
76436
76436
|
{
|
|
76437
76437
|
Size:12, Family:"iconfont",
|
|
76438
|
-
Arrow:["\ue704",
|
|
76438
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
76439
76439
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
76440
76440
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
76441
76441
|
},
|
|
@@ -124262,12 +124262,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
124262
124262
|
this.SetChartIndexName(chart);
|
|
124263
124263
|
hqChart.ChartPaint.push(chart);
|
|
124264
124264
|
|
|
124265
|
-
|
|
124266
|
-
|
|
124267
|
-
|
|
124268
|
-
|
|
124269
|
-
}
|
|
124270
|
-
else
|
|
124265
|
+
var titleIndex=windowIndex+1;
|
|
124266
|
+
var bShowTitle=true;
|
|
124267
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124268
|
+
if (bShowTitle)
|
|
124271
124269
|
{
|
|
124272
124270
|
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124273
124271
|
titleData.DataType="ChartMultiLine";
|
|
@@ -124293,10 +124291,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
124293
124291
|
hqChart.ChartPaint.push(chart);
|
|
124294
124292
|
|
|
124295
124293
|
var titleIndex=windowIndex+1;
|
|
124296
|
-
var
|
|
124297
|
-
|
|
124298
|
-
|
|
124299
|
-
|
|
124294
|
+
var bShowTitle=true;
|
|
124295
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124296
|
+
if (bShowTitle)
|
|
124297
|
+
{
|
|
124298
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124299
|
+
titleData.DataType="ChartMultiPoint";
|
|
124300
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
124301
|
+
hqChart.TitlePaint[titleIndex].Data[i]=titleData;
|
|
124302
|
+
}
|
|
124300
124303
|
}
|
|
124301
124304
|
|
|
124302
124305
|
this.CreateMultiBar=function(hqChart,windowIndex,varItem,id)
|
|
@@ -124315,10 +124318,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
124315
124318
|
hqChart.ChartPaint.push(chart);
|
|
124316
124319
|
|
|
124317
124320
|
var titleIndex=windowIndex+1;
|
|
124318
|
-
|
|
124319
|
-
|
|
124320
|
-
|
|
124321
|
-
|
|
124321
|
+
|
|
124322
|
+
var bShowTitle=true;
|
|
124323
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124324
|
+
if (bShowTitle)
|
|
124325
|
+
{
|
|
124326
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
124327
|
+
titleData.DataType="ChartMultiBar";
|
|
124328
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
124329
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
124330
|
+
}
|
|
124331
|
+
|
|
124322
124332
|
}
|
|
124323
124333
|
|
|
124324
124334
|
this.CreateMultiText=function(hqChart,windowIndex,varItem,i)
|
|
@@ -126032,11 +126042,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126032
126042
|
chart.BuildCacheData();
|
|
126033
126043
|
|
|
126034
126044
|
var titleIndex=windowIndex+1;
|
|
126035
|
-
var
|
|
126036
|
-
|
|
126037
|
-
|
|
126038
|
-
|
|
126039
|
-
|
|
126045
|
+
var bShowTitle=true;
|
|
126046
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
126047
|
+
if (bShowTitle)
|
|
126048
|
+
{
|
|
126049
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126050
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
126051
|
+
titleData.DataType="ChartMultiPoint";
|
|
126052
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
126053
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126054
|
+
}
|
|
126040
126055
|
|
|
126041
126056
|
this.SetChartIndexName(chart);
|
|
126042
126057
|
|
|
@@ -126082,12 +126097,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126082
126097
|
chart.BuildCacheData();
|
|
126083
126098
|
|
|
126084
126099
|
var titleIndex=windowIndex+1;
|
|
126085
|
-
var
|
|
126086
|
-
|
|
126087
|
-
|
|
126088
|
-
|
|
126089
|
-
|
|
126090
|
-
|
|
126100
|
+
var bShowTitle=true;
|
|
126101
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
126102
|
+
if (bShowTitle)
|
|
126103
|
+
{
|
|
126104
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126105
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);
|
|
126106
|
+
titleData.DataType="ChartMultiBar";
|
|
126107
|
+
titleData.GetItemCallback=(kItem)=>{ return chart.GetItem(kItem); }
|
|
126108
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126109
|
+
}
|
|
126091
126110
|
|
|
126092
126111
|
this.SetChartIndexName(chart);
|
|
126093
126112
|
frame.ChartPaint.push(chart);
|
|
@@ -129855,6 +129874,8 @@ function JSDealChartContainer(uielement)
|
|
|
129855
129874
|
|
|
129856
129875
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
129857
129876
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
129877
|
+
|
|
129878
|
+
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
129858
129879
|
}
|
|
129859
129880
|
|
|
129860
129881
|
this.Draw=function()
|
|
@@ -130228,6 +130249,32 @@ function JSDealChartContainer(uielement)
|
|
|
130228
130249
|
else e.returnValue = false;
|
|
130229
130250
|
}
|
|
130230
130251
|
|
|
130252
|
+
this.UIOnMouseDown=function(e)
|
|
130253
|
+
{
|
|
130254
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
130255
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
130256
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
130257
|
+
|
|
130258
|
+
|
|
130259
|
+
var chart=this.ChartPaint[0];
|
|
130260
|
+
if (!chart) return;
|
|
130261
|
+
|
|
130262
|
+
/*
|
|
130263
|
+
var clickData=chart.OnMouseDown(x,y,e);
|
|
130264
|
+
if (!clickData) return;
|
|
130265
|
+
|
|
130266
|
+
if ((clickData.Type==2) && (e.button==0 || e.button==2)) //点击行
|
|
130267
|
+
{
|
|
130268
|
+
if (clickData.Redraw==true) this.Draw();
|
|
130269
|
+
}
|
|
130270
|
+
else if (clickData.Type==3 && e.button==0) //表头
|
|
130271
|
+
{
|
|
130272
|
+
this.OnClickHeader(clickData, e);
|
|
130273
|
+
}
|
|
130274
|
+
*/
|
|
130275
|
+
|
|
130276
|
+
}
|
|
130277
|
+
|
|
130231
130278
|
this.GotoNextPage=function()
|
|
130232
130279
|
{
|
|
130233
130280
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -130321,7 +130368,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
130321
130368
|
{
|
|
130322
130369
|
var item=data.detail[i];
|
|
130323
130370
|
|
|
130324
|
-
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3] };
|
|
130371
|
+
var dealItem={ Time:item[0], Price:item[1], Vol:item[2], BS:item[4], Amount:item[3], Guid:Guid() };
|
|
130325
130372
|
dealItem.Source=item;
|
|
130326
130373
|
|
|
130327
130374
|
if (item[5]) dealItem.StrTime=item[5];
|
|
@@ -130447,6 +130494,7 @@ function ChartDealList()
|
|
|
130447
130494
|
this.IsSingleTable=false; //单表模式
|
|
130448
130495
|
this.IsShowHeader=true; //是否显示表头
|
|
130449
130496
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
130497
|
+
this.SelectedData={ Index:10 }; //{ Index:序号 }
|
|
130450
130498
|
|
|
130451
130499
|
this.SizeChange=true;
|
|
130452
130500
|
|
|
@@ -130457,6 +130505,8 @@ function ChartDealList()
|
|
|
130457
130505
|
|
|
130458
130506
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
130459
130507
|
|
|
130508
|
+
this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
|
|
130509
|
+
|
|
130460
130510
|
//表头配置
|
|
130461
130511
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
130462
130512
|
this.HeaderColor=g_JSChartResource.DealList.Header.Color;
|
|
@@ -130751,6 +130801,7 @@ function ChartDealList()
|
|
|
130751
130801
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
130752
130802
|
{
|
|
130753
130803
|
var dataItem=this.Data.Data[index];
|
|
130804
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130754
130805
|
|
|
130755
130806
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130756
130807
|
|
|
@@ -130768,6 +130819,8 @@ function ChartDealList()
|
|
|
130768
130819
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
130769
130820
|
{
|
|
130770
130821
|
var dataItem=this.Data.Data[index];
|
|
130822
|
+
|
|
130823
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130771
130824
|
|
|
130772
130825
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130773
130826
|
|
|
@@ -130875,6 +130928,16 @@ function ChartDealList()
|
|
|
130875
130928
|
}
|
|
130876
130929
|
}
|
|
130877
130930
|
|
|
130931
|
+
this.DrawSelectedRow=function(data, left, top, dataIndex, colIndex)
|
|
130932
|
+
{
|
|
130933
|
+
var rtRow={ Left:left, Top:top, Height:this.RowHeight, Width:this.TableWidth };
|
|
130934
|
+
rtRow.Right=rtRow.Left+rtRow.Width;
|
|
130935
|
+
rtRow.Bottom=rtRow.Top+rtRow.Bottom;
|
|
130936
|
+
|
|
130937
|
+
this.Canvas.fillStyle=this.SelectedConfig.BGColor;
|
|
130938
|
+
this.Canvas.fillRect(rtRow.Left,rtRow.Top, rtRow.Width, rtRow.Height);
|
|
130939
|
+
}
|
|
130940
|
+
|
|
130878
130941
|
this.DrawItemText=function(text, textColor, textAlign, left, top, width)
|
|
130879
130942
|
{
|
|
130880
130943
|
var x=left;
|
|
@@ -131001,6 +131064,25 @@ function ChartDealList()
|
|
|
131001
131064
|
{
|
|
131002
131065
|
return GetFontHeight(this.Canvas, font, word);
|
|
131003
131066
|
}
|
|
131067
|
+
|
|
131068
|
+
this.OnMouseDown=function(x,y,e) //Type: 2=行 3=表头
|
|
131069
|
+
{
|
|
131070
|
+
if (!this.Data) return null;
|
|
131071
|
+
|
|
131072
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
131073
|
+
var insidePoint={X:x/pixelTatio, Y:y/pixelTatio};
|
|
131074
|
+
var uiElement;
|
|
131075
|
+
if (this.UIElement) uiElement={Left:this.UIElement.getBoundingClientRect().left, Top:this.UIElement.getBoundingClientRect().top};
|
|
131076
|
+
else uiElement={Left:null, Top:null};
|
|
131077
|
+
|
|
131078
|
+
var row=this.PtInBody(x,y);
|
|
131079
|
+
}
|
|
131080
|
+
|
|
131081
|
+
this.PtInBody=function(x,y)
|
|
131082
|
+
{
|
|
131083
|
+
if (!this.Data) return null;
|
|
131084
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
|
|
131085
|
+
}
|
|
131004
131086
|
}
|
|
131005
131087
|
/*
|
|
131006
131088
|
Copyright (c) 2018 jones
|
|
@@ -139582,7 +139664,7 @@ function ChartReport()
|
|
|
139582
139664
|
return null;
|
|
139583
139665
|
}
|
|
139584
139666
|
|
|
139585
|
-
//设置选中行
|
|
139667
|
+
//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
139586
139668
|
this.SetSelectedRow=function(option)
|
|
139587
139669
|
{
|
|
139588
139670
|
if (!option) return false;
|
|
@@ -153522,7 +153604,7 @@ function HQChartScriptWorker()
|
|
|
153522
153604
|
|
|
153523
153605
|
|
|
153524
153606
|
|
|
153525
|
-
var HQCHART_VERSION="1.1.
|
|
153607
|
+
var HQCHART_VERSION="1.1.14477";
|
|
153526
153608
|
|
|
153527
153609
|
function PrintHQChartVersion()
|
|
153528
153610
|
{
|