hqchart 1.1.14471 → 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 +31 -17
- 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 +12 -7
- package/src/jscommon/umychart.report.js +1 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +122 -35
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +122 -35
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)//多日分时+多日集合竞价
|
|
@@ -3017,7 +3017,7 @@ if(height<this.MinSubFrameHeight&&yMove<0||height2<this.MinSubFrameHeight&&yMove
|
|
|
3017
3017
|
{var zoomInfo={FrameID:frameID,Data:[]};//备份下放大前各个窗口的高度
|
|
3018
3018
|
for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];zoomInfo.Data[i]={Height:item.Height,ShowXText:item.Frame.XSplitOperator.ShowText};}this.ZoomWindowsInfo=zoomInfo;var totalHeight=0;for(var i=this.ZoomStartWindowIndex;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;frame.XYSplit=true;totalHeight+=item.Height;if(i!=frameID){item.Height=0;frame.IsMinSize=true;//最小化
|
|
3019
3019
|
frame.HideToolbar();frame.XSplitOperator.ShowText=false;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];overlayItem.Frame.IsMinSize=true;}}}subFrame.Height=totalHeight;subFrame.Frame.XSplitOperator.ShowText=true;return true;}};//保存高度比例
|
|
3020
|
-
this.SaveSubFrameHeightRate=function(){var height=this.ChartBorder.GetHeight();for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var subHeight=item.Frame.ChartBorder.GetHeight();var rate=subHeight/height*100;item.Height=rate;}};this.ShowIndexTitleOnly=function(frameID,option){var item=this.SubFrame[frameID];if(!item&&!item.Frame)return false;var frame=item.Frame;if(!frame.ChartBorder)return false;var subChartBorder=frame.ChartBorder;if(subChartBorder.TitleHeight<10)return false;this.RestoreIndexWindows();
|
|
3020
|
+
this.SaveSubFrameHeightRate=function(){var height=this.ChartBorder.GetHeight();for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var subHeight=item.Frame.ChartBorder.GetHeight();var rate=subHeight/height*100;item.Height=rate;}};this.ShowIndexTitleOnly=function(frameID,option){var item=this.SubFrame[frameID];if(!item&&!item.Frame)return false;var frame=item.Frame;if(!frame.ChartBorder)return false;var subChartBorder=frame.ChartBorder;if(subChartBorder.TitleHeight<10)return false;this.RestoreIndexWindows();var bChange=false;var bEnable=!subChartBorder.IsShowTitleOnly;if(option){if(IFrameSplitOperator.IsBool(option.Enable))bEnable=option.Enable;}if(subChartBorder.IsShowTitleOnly!=bEnable){subChartBorder.IsShowTitleOnly=bEnable;bChange=true;}return bChange;};this.CalculateChartBorder=function()//计算每个子框架的边框信息
|
|
3021
3021
|
{if(this.SubFrame.length<=0)return;var top=this.ChartBorder.GetTop();var height=this.ChartBorder.GetHeight();var totalHeight=0;var totalTitleHeight=0;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;if(frame&&frame.ChartBorder&&frame.ChartBorder.IsShowTitleOnly&&item.Height>0)totalTitleHeight+=frame.ChartBorder.TitleHeight;else totalHeight+=item.Height;}height-=totalTitleHeight;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;item.Frame.ChartBorder.Top=top;item.Frame.ChartBorder.Left=this.ChartBorder.Left;item.Frame.ChartBorder.Right=this.ChartBorder.Right;item.Frame.ChartBorder.LeftExtendWidth=this.ChartBorder.LeftExtendWidth;item.Frame.ChartBorder.RightExtendWidth=this.ChartBorder.RightExtendWidth;if(frame&&frame.ChartBorder&&frame.ChartBorder.IsShowTitleOnly&&item.Height>0){var frameHeight=item.Frame.ChartBorder.Top+frame.ChartBorder.TitleHeight;item.Frame.ChartBorder.Bottom=this.ChartBorder.GetChartHeight()-frameHeight;top=frameHeight;}else{var frameHeight=height*(item.Height/totalHeight)+top;item.Frame.ChartBorder.Bottom=this.ChartBorder.GetChartHeight()-frameHeight;top=frameHeight;}}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SIZE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.SubFrame};event.Callback(event,sendData,this);}}};this.SetExtendWidth=function(obj){if(!obj)return;var leftWidth=null,rightWidth=null;if(IFrameSplitOperator.IsNumber(obj.Left)){leftWidth=obj.Left;this.ChartBorder.LeftExtendWidth=leftWidth;}if(IFrameSplitOperator.IsNumber(obj.Right)){rightWidth=obj.Right;this.ChartBorder.RightExtendWidth=rightWidth;}for(var i in this.SubFrame){var item=this.SubFrame[i];if(leftWidth!=null)item.Frame.ChartBorder.LeftExtendWidth=leftWidth;if(rightWidth!=null)item.Frame.ChartBorder.RightExtendWidth=rightWidth;}};this.CalculateChartBorder2=function()//计算每个子框架的边框信息(思维导图用)
|
|
3022
3022
|
{if(this.SubFrame.length<=0)return;var top=this.ChartBorder.Top;var bottom=this.ChartBorder.Bottom;var height=this.ChartBorder.GetHeight();var totalHeight=0;for(var i in this.SubFrame){var item=this.SubFrame[i];totalHeight+=item.Height;}var tempHeight=0;for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.ChartBorder.Top=top;item.Frame.ChartBorder.Left=this.ChartBorder.Left;item.Frame.ChartBorder.Right=this.ChartBorder.Right;item.Frame.ChartBorder.X=this.ChartBorder.X;item.Frame.ChartBorder.Y=this.ChartBorder.Y;item.Frame.ChartBorder.Width=this.ChartBorder.Width;item.Frame.ChartBorder.Height=this.ChartBorder.Height;var frameHeight=height*(item.Height/totalHeight);tempHeight+=frameHeight;bottom=this.ChartBorder.Bottom+(height-tempHeight);item.Frame.ChartBorder.Bottom=bottom;top+=frameHeight;}};this.GetScaleTextWidth=function(){var width={Left:null,Right:null,OverlayRight:0};var aryOverlayWidth=[];// 叠加坐标
|
|
3023
3023
|
for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;var frame=item.Frame;if(!frame)continue;if(!frame.XSplitOperator)continue;var maxValue=frame.HorizontalMax;//最大最小要还原
|
|
@@ -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);
|
|
@@ -19944,16 +19944,21 @@ function HQTradeFrame()
|
|
|
19944
19944
|
|
|
19945
19945
|
this.RestoreIndexWindows();
|
|
19946
19946
|
|
|
19947
|
-
|
|
19947
|
+
var bChange=false;
|
|
19948
|
+
var bEnable=!subChartBorder.IsShowTitleOnly;
|
|
19949
|
+
if (option)
|
|
19948
19950
|
{
|
|
19949
|
-
|
|
19951
|
+
if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
|
|
19950
19952
|
}
|
|
19951
|
-
|
|
19953
|
+
|
|
19954
|
+
if (subChartBorder.IsShowTitleOnly!=bEnable)
|
|
19952
19955
|
{
|
|
19953
|
-
subChartBorder.IsShowTitleOnly=
|
|
19956
|
+
subChartBorder.IsShowTitleOnly=bEnable;
|
|
19957
|
+
bChange=true;
|
|
19958
|
+
|
|
19954
19959
|
}
|
|
19955
19960
|
|
|
19956
|
-
return
|
|
19961
|
+
return bChange;
|
|
19957
19962
|
}
|
|
19958
19963
|
|
|
19959
19964
|
this.CalculateChartBorder=function() //计算每个子框架的边框信息
|
|
@@ -72461,7 +72466,7 @@ function JSChartResource()
|
|
|
72461
72466
|
SortIcon:
|
|
72462
72467
|
{
|
|
72463
72468
|
Size:12, Family:"iconfont",
|
|
72464
|
-
Arrow:["\ue704",
|
|
72469
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
72465
72470
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
72466
72471
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
72467
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);
|
|
@@ -23869,16 +23869,21 @@ function HQTradeFrame()
|
|
|
23869
23869
|
|
|
23870
23870
|
this.RestoreIndexWindows();
|
|
23871
23871
|
|
|
23872
|
-
|
|
23872
|
+
var bChange=false;
|
|
23873
|
+
var bEnable=!subChartBorder.IsShowTitleOnly;
|
|
23874
|
+
if (option)
|
|
23873
23875
|
{
|
|
23874
|
-
|
|
23876
|
+
if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
|
|
23875
23877
|
}
|
|
23876
|
-
|
|
23878
|
+
|
|
23879
|
+
if (subChartBorder.IsShowTitleOnly!=bEnable)
|
|
23877
23880
|
{
|
|
23878
|
-
subChartBorder.IsShowTitleOnly=
|
|
23881
|
+
subChartBorder.IsShowTitleOnly=bEnable;
|
|
23882
|
+
bChange=true;
|
|
23883
|
+
|
|
23879
23884
|
}
|
|
23880
23885
|
|
|
23881
|
-
return
|
|
23886
|
+
return bChange;
|
|
23882
23887
|
}
|
|
23883
23888
|
|
|
23884
23889
|
this.CalculateChartBorder=function() //计算每个子框架的边框信息
|
|
@@ -76386,7 +76391,7 @@ function JSChartResource()
|
|
|
76386
76391
|
SortIcon:
|
|
76387
76392
|
{
|
|
76388
76393
|
Size:12, Family:"iconfont",
|
|
76389
|
-
Arrow:["\ue704",
|
|
76394
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
76390
76395
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
76391
76396
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
76392
76397
|
},
|
|
@@ -124213,12 +124218,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
124213
124218
|
this.SetChartIndexName(chart);
|
|
124214
124219
|
hqChart.ChartPaint.push(chart);
|
|
124215
124220
|
|
|
124216
|
-
|
|
124217
|
-
|
|
124218
|
-
|
|
124219
|
-
|
|
124220
|
-
}
|
|
124221
|
-
else
|
|
124221
|
+
var titleIndex=windowIndex+1;
|
|
124222
|
+
var bShowTitle=true;
|
|
124223
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124224
|
+
if (bShowTitle)
|
|
124222
124225
|
{
|
|
124223
124226
|
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124224
124227
|
titleData.DataType="ChartMultiLine";
|
|
@@ -124244,10 +124247,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
124244
124247
|
hqChart.ChartPaint.push(chart);
|
|
124245
124248
|
|
|
124246
124249
|
var titleIndex=windowIndex+1;
|
|
124247
|
-
var
|
|
124248
|
-
|
|
124249
|
-
|
|
124250
|
-
|
|
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
|
+
}
|
|
124251
124259
|
}
|
|
124252
124260
|
|
|
124253
124261
|
this.CreateMultiBar=function(hqChart,windowIndex,varItem,id)
|
|
@@ -124266,10 +124274,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
124266
124274
|
hqChart.ChartPaint.push(chart);
|
|
124267
124275
|
|
|
124268
124276
|
var titleIndex=windowIndex+1;
|
|
124269
|
-
|
|
124270
|
-
|
|
124271
|
-
|
|
124272
|
-
|
|
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
|
+
|
|
124273
124288
|
}
|
|
124274
124289
|
|
|
124275
124290
|
this.CreateMultiText=function(hqChart,windowIndex,varItem,i)
|
|
@@ -125983,11 +125998,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125983
125998
|
chart.BuildCacheData();
|
|
125984
125999
|
|
|
125985
126000
|
var titleIndex=windowIndex+1;
|
|
125986
|
-
var
|
|
125987
|
-
|
|
125988
|
-
|
|
125989
|
-
|
|
125990
|
-
|
|
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
|
+
}
|
|
125991
126011
|
|
|
125992
126012
|
this.SetChartIndexName(chart);
|
|
125993
126013
|
|
|
@@ -126033,12 +126053,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126033
126053
|
chart.BuildCacheData();
|
|
126034
126054
|
|
|
126035
126055
|
var titleIndex=windowIndex+1;
|
|
126036
|
-
var
|
|
126037
|
-
|
|
126038
|
-
|
|
126039
|
-
|
|
126040
|
-
|
|
126041
|
-
|
|
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
|
+
}
|
|
126042
126066
|
|
|
126043
126067
|
this.SetChartIndexName(chart);
|
|
126044
126068
|
frame.ChartPaint.push(chart);
|
|
@@ -129806,6 +129830,8 @@ function JSDealChartContainer(uielement)
|
|
|
129806
129830
|
|
|
129807
129831
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
129808
129832
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
129833
|
+
|
|
129834
|
+
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
129809
129835
|
}
|
|
129810
129836
|
|
|
129811
129837
|
this.Draw=function()
|
|
@@ -130179,6 +130205,32 @@ function JSDealChartContainer(uielement)
|
|
|
130179
130205
|
else e.returnValue = false;
|
|
130180
130206
|
}
|
|
130181
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
|
+
|
|
130182
130234
|
this.GotoNextPage=function()
|
|
130183
130235
|
{
|
|
130184
130236
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -130272,7 +130324,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
130272
130324
|
{
|
|
130273
130325
|
var item=data.detail[i];
|
|
130274
130326
|
|
|
130275
|
-
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() };
|
|
130276
130328
|
dealItem.Source=item;
|
|
130277
130329
|
|
|
130278
130330
|
if (item[5]) dealItem.StrTime=item[5];
|
|
@@ -130398,6 +130450,7 @@ function ChartDealList()
|
|
|
130398
130450
|
this.IsSingleTable=false; //单表模式
|
|
130399
130451
|
this.IsShowHeader=true; //是否显示表头
|
|
130400
130452
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
130453
|
+
this.SelectedData={ Index:10 }; //{ Index:序号 }
|
|
130401
130454
|
|
|
130402
130455
|
this.SizeChange=true;
|
|
130403
130456
|
|
|
@@ -130408,6 +130461,8 @@ function ChartDealList()
|
|
|
130408
130461
|
|
|
130409
130462
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
130410
130463
|
|
|
130464
|
+
this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
|
|
130465
|
+
|
|
130411
130466
|
//表头配置
|
|
130412
130467
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
130413
130468
|
this.HeaderColor=g_JSChartResource.DealList.Header.Color;
|
|
@@ -130702,6 +130757,7 @@ function ChartDealList()
|
|
|
130702
130757
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
130703
130758
|
{
|
|
130704
130759
|
var dataItem=this.Data.Data[index];
|
|
130760
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130705
130761
|
|
|
130706
130762
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130707
130763
|
|
|
@@ -130719,6 +130775,8 @@ function ChartDealList()
|
|
|
130719
130775
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
130720
130776
|
{
|
|
130721
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);
|
|
130722
130780
|
|
|
130723
130781
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130724
130782
|
|
|
@@ -130826,6 +130884,16 @@ function ChartDealList()
|
|
|
130826
130884
|
}
|
|
130827
130885
|
}
|
|
130828
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
|
+
|
|
130829
130897
|
this.DrawItemText=function(text, textColor, textAlign, left, top, width)
|
|
130830
130898
|
{
|
|
130831
130899
|
var x=left;
|
|
@@ -130952,6 +131020,25 @@ function ChartDealList()
|
|
|
130952
131020
|
{
|
|
130953
131021
|
return GetFontHeight(this.Canvas, font, word);
|
|
130954
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
|
+
}
|
|
130955
131042
|
}
|
|
130956
131043
|
/*
|
|
130957
131044
|
Copyright (c) 2018 jones
|
|
@@ -139533,7 +139620,7 @@ function ChartReport()
|
|
|
139533
139620
|
return null;
|
|
139534
139621
|
}
|
|
139535
139622
|
|
|
139536
|
-
//设置选中行
|
|
139623
|
+
//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
139537
139624
|
this.SetSelectedRow=function(option)
|
|
139538
139625
|
{
|
|
139539
139626
|
if (!option) return false;
|
|
@@ -143705,7 +143792,7 @@ function ScrollBarBGChart()
|
|
|
143705
143792
|
|
|
143706
143793
|
|
|
143707
143794
|
|
|
143708
|
-
var HQCHART_VERSION="1.1.
|
|
143795
|
+
var HQCHART_VERSION="1.1.14477";
|
|
143709
143796
|
|
|
143710
143797
|
function PrintHQChartVersion()
|
|
143711
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);
|
|
@@ -23913,16 +23913,21 @@ function HQTradeFrame()
|
|
|
23913
23913
|
|
|
23914
23914
|
this.RestoreIndexWindows();
|
|
23915
23915
|
|
|
23916
|
-
|
|
23916
|
+
var bChange=false;
|
|
23917
|
+
var bEnable=!subChartBorder.IsShowTitleOnly;
|
|
23918
|
+
if (option)
|
|
23917
23919
|
{
|
|
23918
|
-
|
|
23920
|
+
if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
|
|
23919
23921
|
}
|
|
23920
|
-
|
|
23922
|
+
|
|
23923
|
+
if (subChartBorder.IsShowTitleOnly!=bEnable)
|
|
23921
23924
|
{
|
|
23922
|
-
subChartBorder.IsShowTitleOnly=
|
|
23925
|
+
subChartBorder.IsShowTitleOnly=bEnable;
|
|
23926
|
+
bChange=true;
|
|
23927
|
+
|
|
23923
23928
|
}
|
|
23924
23929
|
|
|
23925
|
-
return
|
|
23930
|
+
return bChange;
|
|
23926
23931
|
}
|
|
23927
23932
|
|
|
23928
23933
|
this.CalculateChartBorder=function() //计算每个子框架的边框信息
|
|
@@ -76430,7 +76435,7 @@ function JSChartResource()
|
|
|
76430
76435
|
SortIcon:
|
|
76431
76436
|
{
|
|
76432
76437
|
Size:12, Family:"iconfont",
|
|
76433
|
-
Arrow:["\ue704",
|
|
76438
|
+
Arrow:["\ue704", "\uf0c9","\ue81b"], //[0]=默认排序的图标背景色
|
|
76434
76439
|
Color:['rgb(169,169,169)', "rgb(51,51,51)", "rgb(51,51,51)"],
|
|
76435
76440
|
Margin:{ Left:1*GetDevicePixelRatio(), Bottom:2, Right:0,}
|
|
76436
76441
|
},
|
|
@@ -124257,12 +124262,10 @@ function ScriptIndex(name,script,args,option)
|
|
|
124257
124262
|
this.SetChartIndexName(chart);
|
|
124258
124263
|
hqChart.ChartPaint.push(chart);
|
|
124259
124264
|
|
|
124260
|
-
|
|
124261
|
-
|
|
124262
|
-
|
|
124263
|
-
|
|
124264
|
-
}
|
|
124265
|
-
else
|
|
124265
|
+
var titleIndex=windowIndex+1;
|
|
124266
|
+
var bShowTitle=true;
|
|
124267
|
+
if (varItem.IsShowTitle===false) bShowTitle=false;
|
|
124268
|
+
if (bShowTitle)
|
|
124266
124269
|
{
|
|
124267
124270
|
var titleData=new DynamicTitleData(chart.Data,chart.Name, null);
|
|
124268
124271
|
titleData.DataType="ChartMultiLine";
|
|
@@ -124288,10 +124291,15 @@ function ScriptIndex(name,script,args,option)
|
|
|
124288
124291
|
hqChart.ChartPaint.push(chart);
|
|
124289
124292
|
|
|
124290
124293
|
var titleIndex=windowIndex+1;
|
|
124291
|
-
var
|
|
124292
|
-
|
|
124293
|
-
|
|
124294
|
-
|
|
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
|
+
}
|
|
124295
124303
|
}
|
|
124296
124304
|
|
|
124297
124305
|
this.CreateMultiBar=function(hqChart,windowIndex,varItem,id)
|
|
@@ -124310,10 +124318,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
124310
124318
|
hqChart.ChartPaint.push(chart);
|
|
124311
124319
|
|
|
124312
124320
|
var titleIndex=windowIndex+1;
|
|
124313
|
-
|
|
124314
|
-
|
|
124315
|
-
|
|
124316
|
-
|
|
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
|
+
|
|
124317
124332
|
}
|
|
124318
124333
|
|
|
124319
124334
|
this.CreateMultiText=function(hqChart,windowIndex,varItem,i)
|
|
@@ -126027,11 +126042,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126027
126042
|
chart.BuildCacheData();
|
|
126028
126043
|
|
|
126029
126044
|
var titleIndex=windowIndex+1;
|
|
126030
|
-
var
|
|
126031
|
-
|
|
126032
|
-
|
|
126033
|
-
|
|
126034
|
-
|
|
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
|
+
}
|
|
126035
126055
|
|
|
126036
126056
|
this.SetChartIndexName(chart);
|
|
126037
126057
|
|
|
@@ -126077,12 +126097,16 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126077
126097
|
chart.BuildCacheData();
|
|
126078
126098
|
|
|
126079
126099
|
var titleIndex=windowIndex+1;
|
|
126080
|
-
var
|
|
126081
|
-
|
|
126082
|
-
|
|
126083
|
-
|
|
126084
|
-
|
|
126085
|
-
|
|
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
|
+
}
|
|
126086
126110
|
|
|
126087
126111
|
this.SetChartIndexName(chart);
|
|
126088
126112
|
frame.ChartPaint.push(chart);
|
|
@@ -129850,6 +129874,8 @@ function JSDealChartContainer(uielement)
|
|
|
129850
129874
|
|
|
129851
129875
|
if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
|
|
129852
129876
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
129877
|
+
|
|
129878
|
+
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
129853
129879
|
}
|
|
129854
129880
|
|
|
129855
129881
|
this.Draw=function()
|
|
@@ -130223,6 +130249,32 @@ function JSDealChartContainer(uielement)
|
|
|
130223
130249
|
else e.returnValue = false;
|
|
130224
130250
|
}
|
|
130225
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
|
+
|
|
130226
130278
|
this.GotoNextPage=function()
|
|
130227
130279
|
{
|
|
130228
130280
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -130316,7 +130368,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
130316
130368
|
{
|
|
130317
130369
|
var item=data.detail[i];
|
|
130318
130370
|
|
|
130319
|
-
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() };
|
|
130320
130372
|
dealItem.Source=item;
|
|
130321
130373
|
|
|
130322
130374
|
if (item[5]) dealItem.StrTime=item[5];
|
|
@@ -130442,6 +130494,7 @@ function ChartDealList()
|
|
|
130442
130494
|
this.IsSingleTable=false; //单表模式
|
|
130443
130495
|
this.IsShowHeader=true; //是否显示表头
|
|
130444
130496
|
this.ShowOrder=1; //0=顺序 1=倒序
|
|
130497
|
+
this.SelectedData={ Index:10 }; //{ Index:序号 }
|
|
130445
130498
|
|
|
130446
130499
|
this.SizeChange=true;
|
|
130447
130500
|
|
|
@@ -130452,6 +130505,8 @@ function ChartDealList()
|
|
|
130452
130505
|
|
|
130453
130506
|
this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
|
|
130454
130507
|
|
|
130508
|
+
this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
|
|
130509
|
+
|
|
130455
130510
|
//表头配置
|
|
130456
130511
|
this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
|
|
130457
130512
|
this.HeaderColor=g_JSChartResource.DealList.Header.Color;
|
|
@@ -130746,6 +130801,7 @@ function ChartDealList()
|
|
|
130746
130801
|
for(j=0;j<this.RowCount && index>=0;++j, --index)
|
|
130747
130802
|
{
|
|
130748
130803
|
var dataItem=this.Data.Data[index];
|
|
130804
|
+
if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
|
|
130749
130805
|
|
|
130750
130806
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130751
130807
|
|
|
@@ -130763,6 +130819,8 @@ function ChartDealList()
|
|
|
130763
130819
|
for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
|
|
130764
130820
|
{
|
|
130765
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);
|
|
130766
130824
|
|
|
130767
130825
|
this.DrawRow(dataItem, textLeft, textTop, index);
|
|
130768
130826
|
|
|
@@ -130870,6 +130928,16 @@ function ChartDealList()
|
|
|
130870
130928
|
}
|
|
130871
130929
|
}
|
|
130872
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
|
+
|
|
130873
130941
|
this.DrawItemText=function(text, textColor, textAlign, left, top, width)
|
|
130874
130942
|
{
|
|
130875
130943
|
var x=left;
|
|
@@ -130996,6 +131064,25 @@ function ChartDealList()
|
|
|
130996
131064
|
{
|
|
130997
131065
|
return GetFontHeight(this.Canvas, font, word);
|
|
130998
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
|
+
}
|
|
130999
131086
|
}
|
|
131000
131087
|
/*
|
|
131001
131088
|
Copyright (c) 2018 jones
|
|
@@ -139577,7 +139664,7 @@ function ChartReport()
|
|
|
139577
139664
|
return null;
|
|
139578
139665
|
}
|
|
139579
139666
|
|
|
139580
|
-
//设置选中行
|
|
139667
|
+
//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
139581
139668
|
this.SetSelectedRow=function(option)
|
|
139582
139669
|
{
|
|
139583
139670
|
if (!option) return false;
|
|
@@ -153517,7 +153604,7 @@ function HQChartScriptWorker()
|
|
|
153517
153604
|
|
|
153518
153605
|
|
|
153519
153606
|
|
|
153520
|
-
var HQCHART_VERSION="1.1.
|
|
153607
|
+
var HQCHART_VERSION="1.1.14477";
|
|
153521
153608
|
|
|
153522
153609
|
function PrintHQChartVersion()
|
|
153523
153610
|
{
|