hqchart 1.1.15455 → 1.1.15474
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 +50 -34
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +3 -0
- package/src/jscommon/umychart.PopKeyboard.js +28 -0
- package/src/jscommon/umychart.StatusBar.js +13 -4
- package/src/jscommon/umychart.StockInfo.js +185 -3
- package/src/jscommon/umychart.js +55 -61
- package/src/jscommon/umychart.report.js +9 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +65 -62
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +294 -69
package/lib/umychart.vue.js
CHANGED
|
@@ -1577,7 +1577,7 @@ JSChart.RegisterChartFrameClass=function(name,option){return g_ChartFrameFactory
|
|
|
1577
1577
|
JSChart.RegisterDOMClass=function(name,option){return g_JSDOMFactory.Add(name,option);};//一些公共函数
|
|
1578
1578
|
JSChart.ToFixedPoint=function(value){return ToFixedPoint(value);};JSChart.ToFixedPoint2=function(width,value){return ToFixedPoint2(width,value);};JSChart.ToFixedRect=function(value){return ToFixedRect(value);};JSChart.GetScrollPosition=function(){return GetScrollPosition();};//品种小数位数
|
|
1579
1579
|
JSChart.GetfloatPrecision=function(symbol){return GetfloatPrecision(symbol);};//获取不带后缀的代码
|
|
1580
|
-
JSChart.GetShortSymbol=function(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
|
|
1580
|
+
JSChart.GetShortSymbol=function(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};JSChart.CancelEvent=function(e){if(!e)return;if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
|
|
1581
1581
|
RECV_INDEX_DATA:2,//接收指标数据
|
|
1582
1582
|
RECV_HISTROY_DATA:3,//接收到历史数据
|
|
1583
1583
|
RECV_TRAIN_MOVE_STEP:4,//接收K线训练,移动一次K线
|
|
@@ -1643,8 +1643,7 @@ ON_MOUSE_MOVE:64,//鼠标移动
|
|
|
1643
1643
|
ON_MINUTE_PAGE_CHANGED:65,//分时图翻页事件
|
|
1644
1644
|
ON_DRAG_SUB_SELECT_RECT:66,//拖拽区间选择子区域
|
|
1645
1645
|
ON_DRAG_SUB_SELECT_RECT_MOUSEUP:67,//拖拽区间选择子区域鼠标松开
|
|
1646
|
-
|
|
1647
|
-
ON_KEYBOARD_MOUSEUP:69,ON_CLICK_DRAWPICTURE_BUTTON:70,//画图工具按钮
|
|
1646
|
+
ON_CLICK_DRAWPICTURE_BUTTON:70,//画图工具按钮
|
|
1648
1647
|
ON_FINISH_MOVE_DRAWPICTURE:71,//画图工具移动完成
|
|
1649
1648
|
ON_CLICK_EXTENDCHART_BUTTON:72,ON_SCROLLBAR_SLIDER_CHANGED:73,//滚动条拖动
|
|
1650
1649
|
ON_DISPLAY_LATEST:74,//显示最新数据
|
|
@@ -1717,7 +1716,10 @@ ON_CORSSCURSOR_STATUS_CHANGE:179,//十字光标状态改变
|
|
|
1717
1716
|
ON_BEFORE_DRAW_HLINE:180,//画图工具-水平线(ChartDrawPictureHorizontalLine) 绘图前
|
|
1718
1717
|
ON_HIDE_ALL_POP_DIV:181,//隐藏所有弹框div
|
|
1719
1718
|
//工具条
|
|
1720
|
-
ON_CLICK_STATUSBAR_ITEM:301
|
|
1719
|
+
ON_CLICK_STATUSBAR_ITEM:301,ON_RCLICK_STATUSBAR_ITEM:302,//5档买卖
|
|
1720
|
+
ON_CLICK_STOCKINFO_ITEM:350,ON_RCLICK_STOCKINFO_ITEM:351,ON_KEYBOARD_SHOW:350,//显示键盘精灵
|
|
1721
|
+
ON_KEYBOARD_SELECTED:351,//键盘精灵选中回车
|
|
1722
|
+
ON_KEYBOARD_MOUSEUP:352};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1721
1723
|
OP_SCROLL_RIGHT:2,//往右移动
|
|
1722
1724
|
OP_ZOOM_OUT:3,//缩小
|
|
1723
1725
|
OP_ZOOM_IN:4,//放大
|
|
@@ -3859,14 +3861,14 @@ else if(option.MinuteVolBar){valueType=2;//分时图柱子
|
|
|
3859
3861
|
firstOpen=this.GetFirstOpen();}else if(option.StackedBar)valueType=5;//叠加柱子
|
|
3860
3862
|
}for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,++k,xOffset+=dataWidth+distanceWidth){var value=null;if(valueType==1)//K线收盘价
|
|
3861
3863
|
{var kItem=this.Data.Data[i];if(kItem&&IFrameSplitOperator.IsNumber(kItem.Close))value=kItem.Close;}else if(valueType==2){var kItem=this.Data.Data[i];if(kItem&&IFrameSplitOperator.IsNumber(kItem.Vol))value=kItem.Vol;}else if(valueType==3){var minItem=this.Data.Data[i];var mainItem=this.MainData.Data[i];if(!minItem||!IFrameSplitOperator.IsNumber(minItem.Close)||!IFrameSplitOperator.IsNumber(minItem.YClose))continue;if(!mainItem||!IFrameSplitOperator.IsNumber(mainItem.Close)||!IFrameSplitOperator.IsNumber(mainItem.YClose))continue;var price=minItem.Close;var value=price/minItem.YClose*mainItem.YClose;}else if(valueType==4){var data=this.Data.Data[i];if(firstOverlayOpen==null)firstOverlayOpen=data.Open;value=data.Close/firstOverlayOpen*firstOpen;}else if(valueType==5){var bars=this.Data.Data[i];if(!IFrameSplitOperator.IsNonEmptyArray(bars))continue;var maxValue=0,minValue=0;for(var k=0;k<bars.length;++k){var barValue=bars[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}value=(maxValue+minValue)/2;}else{value=this.Data.Data[i];}if(value==null)continue;if(k<pointSpace)continue;k=0;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}var y=this.GetYFromData(value,false);if(x>chartright)break;this.Canvas.beginPath();this.Canvas.arc(x,y,radius,0,360,false);this.Canvas.closePath();if(this.SelectedBGColor)this.Canvas.fill();this.Canvas.stroke();}this.Canvas.restore();};//点是否在线段上
|
|
3862
|
-
this.PtInLine=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var ptStart={},ptEnd={};var valueType=0;if(option){if(option.KLineClose){valueType=1;//K线收盘价
|
|
3864
|
+
this.PtInLine=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return;if(!this.Data)return;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var ptStart={},ptEnd={};var valueType=0;if(option){if(option.KLineClose){valueType=1;//K线收盘价
|
|
3863
3865
|
}else if(option.MinuteOverlayPrice)//走势图叠加线
|
|
3864
3866
|
{if(option.OverlayType==1)valueType=1;//价格线
|
|
3865
3867
|
else valueType=3;//百分比
|
|
3866
3868
|
}}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=null;if(valueType==1)//K线收盘价
|
|
3867
3869
|
{var kItem=this.Data.Data[i];if(IFrameSplitOperator.IsNumber(kItem.Close))value=kItem.Close;}else if(valueType==3){var minItem=this.Data.Data[i];var mainItem=this.MainData.Data[i];if(!minItem||!IFrameSplitOperator.IsNumber(minItem.Close)||!IFrameSplitOperator.IsNumber(minItem.YClose))continue;if(!mainItem||!IFrameSplitOperator.IsNumber(mainItem.Close)||!IFrameSplitOperator.IsNumber(mainItem.YClose))continue;var price=minItem.Close;var value=price/minItem.YClose*mainItem.YClose;}else{value=this.Data.Data[i];}if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var xLine=left+(right-left)/2;}var yLine=this.GetYFromData(value,false);if(xLine<x){ptStart.X=xLine;ptStart.Y=yLine;}else if(xLine==x){ptStart.X=ptEnd.X=xLine;ptStart.Y=ptEnd.Y=yLine;break;}else{ptEnd.X=xLine;ptEnd.Y=yLine;break;}if(x>chartright)break;}if(!IFrameSplitOperator.IsNumber(ptStart.X)||!IFrameSplitOperator.IsNumber(ptStart.Y))return null;if(!IFrameSplitOperator.IsNumber(ptEnd.X)||!IFrameSplitOperator.IsNumber(ptEnd.Y))return null;if(x==ptStart.X&&y==ptStart.Y)return{Identify:this.Identify,Chart:this};if(x==ptEnd.X&&y==ptEnd.Y)return{Identify:this.Identify,Chart:this};var lineWidth=5;this.Canvas.beginPath();if(ptStart.X==ptEnd.X)//竖线
|
|
3868
3870
|
{this.Canvas.moveTo(ptStart.X-lineWidth,ptStart.Y);this.Canvas.lineTo(ptStart.X+lineWidth,ptStart.Y);this.Canvas.lineTo(ptEnd.X+lineWidth,ptEnd.Y);this.Canvas.lineTo(ptEnd.X-lineWidth,ptEnd.Y);}else{this.Canvas.moveTo(ptStart.X,ptStart.Y+lineWidth);this.Canvas.lineTo(ptStart.X,ptStart.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y+lineWidth);}this.Canvas.closePath();if(this.Canvas.isPointInPath(x,y))return{Identify:this.Identify,Chart:this};return null;};//option={ BarWidth:柱子宽度(空为K线宽度) }
|
|
3869
|
-
this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);var barWidth=null;var isMinuteVolBar=false;var isStackedBar=false;var volUnit=1;//成交量单位
|
|
3871
|
+
this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return null;if(!this.Data)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);var barWidth=null;var isMinuteVolBar=false;var isStackedBar=false;var volUnit=1;//成交量单位
|
|
3870
3872
|
if(option){if(option.BarWidth>0)barWidth=option.BarWidth;if(option.MinuteVolBar==true){isMinuteVolBar=true;barWidth=4;}else if(option.StackedBar==true){isStackedBar=true;}if(IFrameSplitOperator.IsNumber(option.VolUnit))volUnit=option.VolUnit;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);var left=xLine-barWidth/2;var right=left+barWidth;}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;}if(isMinuteVolBar){if(!IFrameSplitOperator.IsNumber(value.Vol))continue;var yBar=this.ChartFrame.GetYFromData(value.Vol/volUnit);var barTop=yBar,barBottom=yBottom;}else if(isStackedBar){var maxValue=0,minValue=0;if(!IFrameSplitOperator.IsNonEmptyArray(value))continue;for(var k=0;k<value.length;++k){var barValue=value[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}var barTop=this.ChartFrame.GetYFromData(maxValue);var barBottom=this.ChartFrame.GetYFromData(minValue);}else{var yBar=this.ChartFrame.GetYFromData(value);var barTop=yBar,barBottom=yBottom;}if(barTop>barBottom){barTop=yBottom;barBottom=yBar;}var barLeft=left,barRight=right;if(barWidth>0){barLeft=left+(right-left)/2-barWidth/2;barRight=barLeft+barWidth;}if(x>=barLeft&&x<=barRight&&y>=barTop&&y<=barBottom)return{Identify:this.Identify,Chart:this};if(right>x)break;}return null;};this.PtInKBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var firstOverlayOpen=null;var kBarType=0;var firstOpen=null;if(option&&option.OverlayKLine){kBarType=1;//叠加K线
|
|
3871
3873
|
firstOpen=this.GetFirstOpen();}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null)firstOverlayOpen=data.Open;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;if(x>=left&&x<=right){if(kBarType==1){var yLow=this.GetYFromData(data.Low/firstOverlayOpen*firstOpen,false);var yHigh=this.GetYFromData(data.High/firstOverlayOpen*firstOpen,false);}else{var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);}if(y<=yLow&&y>=yHigh)return{Identify:this.Identify,Chart:this};}if(right>x)break;}};this.IsShowIndexTitleOnly=function(){if(this.ChartFrame&&this.ChartFrame.ChartBorder&&this.ChartFrame.ChartBorder.IsShowTitleOnly)return true;return false;};//是否隐藏指标
|
|
3872
3874
|
this.IsHideScriptIndex=function(){if(this.Script&&this.Script.IsShow==false)return true;return false;};//导出单数组数据
|
|
@@ -10226,7 +10228,8 @@ IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.le
|
|
|
10226
10228
|
{if(upperSymbol.length==11&&upperSymbol[0]=='1')return true;}var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){if(this.IsSZ(upperSymbol))//90004047.sz
|
|
10227
10229
|
{if(upperSymbol.length==11&&upperSymbol[0]=='9')return true;}var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;if(upperSymbol.indexOf(this.CFFEX2)>0)return true;var index=upperSymbol.indexOf(this.CFFEX3);//必须已.CF结尾
|
|
10228
10230
|
if(index>0&&index+this.CFFEX3.length==upperSymbol.length)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsINE:function IsINE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.INE)>0;},//是否包含某一个市场的
|
|
10229
|
-
IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFrameSplitOperator.IsNonEmptyArray(arySuffix))return false;var upperSymbol=symbol.toUpperCase();var bMatch=false;for(var i=0;i<arySuffix.length;++i){var item=arySuffix[i];switch(item){case this.SHFE:case this.SHFE2:if(this.IsSHFE(upperSymbol))bMatch=true;break;case this.CFFEX2:case this.CFFEX:case this.CFFEX3:if(this.IsCFFEX(upperSymbol))bMatch=true;break;case this.DCE:if(this.IsDCE(upperSymbol))bMatch=true;break;case this.CZCE:if(this.IsCZCE(upperSymbol))bMatch=true;break;case this.GZFE:if(this.IsGZFE(upperSymbol))bMatch=true;break;case this.INE:if(this.IsINE(upperSymbol))bMatch=true;break;}if(bMatch)return true;}return false;}
|
|
10231
|
+
IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFrameSplitOperator.IsNonEmptyArray(arySuffix))return false;var upperSymbol=symbol.toUpperCase();var bMatch=false;for(var i=0;i<arySuffix.length;++i){var item=arySuffix[i];switch(item){case this.SHFE:case this.SHFE2:if(this.IsSHFE(upperSymbol))bMatch=true;break;case this.CFFEX2:case this.CFFEX:case this.CFFEX3:if(this.IsCFFEX(upperSymbol))bMatch=true;break;case this.DCE:if(this.IsDCE(upperSymbol))bMatch=true;break;case this.CZCE:if(this.IsCZCE(upperSymbol))bMatch=true;break;case this.GZFE:if(this.IsGZFE(upperSymbol))bMatch=true;break;case this.INE:if(this.IsINE(upperSymbol))bMatch=true;break;}if(bMatch)return true;}return false;},//是否包含前缀
|
|
10232
|
+
IsPrefixIncludes:function IsPrefixIncludes(symbol,aryPrefix){if(!symbol)return false;var shortSymbol=this.GetShortSymbol(symbol);if(!shortSymbol)return false;shortSymbol=shortSymbol.toUpperCase();for(var i=0;i<aryPrefix.length;++i){var strValue=aryPrefix[i];if(!strValue)continue;if(shortSymbol.search(strValue)===0)return true;}return false;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
|
|
10230
10233
|
{if(!upperSymbol)return false;return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsINE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
|
|
10231
10234
|
{if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
|
|
10232
10235
|
{return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZETFOption:function IsSHSZETFOption(upperSymbol)//沪深ETF期权
|
|
@@ -10239,10 +10242,13 @@ IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFr
|
|
|
10239
10242
|
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(this.IsSH(upperSymbol)){var temp=upperSymbol.replace('.SH','');if(upperSymbol.charAt(0)=='6')return true;}else if(this.IsSZ(upperSymbol)){if(upperSymbol.charAt(0)=='0'){if(upperSymbol.charAt(1)=='0'&&upperSymbol.charAt(2)=='2')return true;//002 中小板
|
|
10240
10243
|
if(upperSymbol.charAt(1)!='7'&&upperSymbol.charAt(1)!='8')return true;}else if(upperSymbol.charAt(0)=='3'){if(upperSymbol.charAt(1)=='0'){if(upperSymbol.charAt(2)=='0')return true;//创业板 300XXX.sz
|
|
10241
10244
|
if(upperSymbol.charAt(2)=='1')return true;//创业板 301XXX.sz
|
|
10242
|
-
}}}return false;}
|
|
10243
|
-
|
|
10244
|
-
|
|
10245
|
-
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.
|
|
10245
|
+
}}}return false;},//北交所股票代码全面启用“920”开头的六位数编码规则(如 920XXX),已于 2025 年 10 月 9 日完成存量与增量股票的统一切换,标志着其与新三板代码的脱钩。
|
|
10246
|
+
// 新代码通常将原 43、83、87 开头的旧代码前三位变更为 920,后三位保持不变
|
|
10247
|
+
IsBJStock:function IsBJStock(symbol)//北交所股票
|
|
10248
|
+
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;if(upperSymbol.charAt(0)=='9'&&upperSymbol.charAt(1)=='2'&&upperSymbol.charAt(2)=='0')return true;return false;},IsBJIndex:function IsBJIndex(symbol)//北交所指数 北交所指数代码通常以“899”开头,采用6位数字序列
|
|
10249
|
+
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;if(upperSymbol.charAt(0)=='8'&&upperSymbol.charAt(1)=='9'&&upperSymbol.charAt(2)=='9')return true;return false;},IsSHStockSTAR:function IsSHStockSTAR(symbol)// 是否是科创板 Sci-Tech innovAtion boaRd (STAR Market)
|
|
10250
|
+
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='6'&&upperSymbol.charAt(1)=='8'&&upperSymbol.charAt(2)=='8')return true;return false;},IsSZGEM:function IsSZGEM(symbol)//创业板(growth enterprise market) 30开头
|
|
10251
|
+
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSZ(upperSymbol))return false;if(upperSymbol.charAt(0)=='3'&&upperSymbol.charAt(1)=='0')return true;return false;},IsHKStock:function IsHKStock(symbol)//港股股票 全是数字
|
|
10246
10252
|
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsHK(upperSymbol))return false;var shortSymbol=this.GetShortSymbol(symbol);if(IFrameSplitOperator.IsNumberString(shortSymbol))return true;return false;},GetMarketStatus:function GetMarketStatus(symbol)//获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
|
|
10247
10253
|
{if(!symbol)return 0;var upperSymbol=symbol.toUpperCase();var nowDate=new Date();var day=nowDate.getDay();var time=nowDate.getHours()*100+nowDate.getMinutes();if(this.IsUSA(upperSymbol)){var usaDate=GetLocalTime(-4);var day=usaDate.getDay();var time=usaDate.getHours()*100+usaDate.getMinutes();if(day==6||day==0)return 0;//周末
|
|
10248
10254
|
//9:30 - 16:00 考虑夏令时间时间增加1小时 9:30 - 17:00
|
|
@@ -10267,7 +10273,7 @@ if(time>=830&&time<=1510)return 2;return 1;}else//9:30 - 15:40 (默认9:10-15:4
|
|
|
10267
10273
|
{if(day==6||day==0)return 0;//周末
|
|
10268
10274
|
if(time>1540)return 3;if(time<910)return 1;return 2;}},GetLimitPriceRange:function GetLimitPriceRange(symbol,name)//涨停范围
|
|
10269
10275
|
{if(!this.IsSHSZStockA(symbol))return null;if(this.IsSHStockSTAR(symbol))return{Max:0.2,Min:-0.2};//科创板 [20% - -20%]
|
|
10270
|
-
if(this.
|
|
10276
|
+
if(this.IsSZGEM(symbol))return{Max:0.2,Min:-0.2};//创业板 [20% - -20%]
|
|
10271
10277
|
if(!name)return null;if(name.indexOf('ST')>=0)return{Max:0.05,Min:-0.05};//ST 股票 [5% - -5%]
|
|
10272
10278
|
return{Max:0.1,Min:-0.1};//[10% - -10%]
|
|
10273
10279
|
},GetDefaultDecimal:function GetDefaultDecimal(symbol)//默认小数位数
|
|
@@ -10487,7 +10493,7 @@ function FuturesTimeData(){this.TIME_SPLIT=[//ID=0 9:00-10:15,10:31-11:30,13:31-
|
|
|
10487
10493
|
[{Value:931,Text:'9:30'},{Value:1030,Text:'10:30'},{Value:1301,Text:'13:00'},{Value:1400,Text:'14:00'},{Value:1500,Text:'15:00'}],Min://最小模式
|
|
10488
10494
|
[{Value:931,Text:'9:30'},{Value:1301,Text:'13:00'},{Value:1500,Text:'15:00'}]}}];this.MAP_TWOWORDS=new _map2.default([//大连商品交易所
|
|
10489
10495
|
[MARKET_SUFFIX_NAME.DCE+'-JD',{Time:0,Decimal:0,Name:"鸡蛋"}],[MARKET_SUFFIX_NAME.DCE+'-FB',{Time:0,Decimal:2,Name:"纤板"}],[MARKET_SUFFIX_NAME.DCE+'-BB',{Time:0,Decimal:2,Name:"胶板"}],[MARKET_SUFFIX_NAME.DCE+'-PP',{Time:6,Decimal:0,Name:"丙烯"}],[MARKET_SUFFIX_NAME.DCE+'-JM',{Time:6,Decimal:1,Name:'焦煤'}],[MARKET_SUFFIX_NAME.DCE+'-EG',{Time:6,Decimal:0,Name:'乙二醇'}],[MARKET_SUFFIX_NAME.DCE+'-EB',{Time:6,Decimal:0,Name:'苯乙烯'}],[MARKET_SUFFIX_NAME.DCE+'-CS',{Time:6,Decimal:0,Name:'淀粉'}],[MARKET_SUFFIX_NAME.DCE+'-PG',{Time:6,Decimal:0,Name:'液化气'}],[MARKET_SUFFIX_NAME.DCE+'-RR',{Time:6,Decimal:0,Name:'梗米'}],[MARKET_SUFFIX_NAME.DCE+'-LH',{Time:0,Decimal:0,Name:'生猪'}],//上期所
|
|
10490
|
-
[MARKET_SUFFIX_NAME.SHFE+'-CU',{Time:4,Decimal:0,Name:"沪铜"}],[MARKET_SUFFIX_NAME.SHFE+'-AL',{Time:4,Decimal:0,Name:"沪铝"}],[MARKET_SUFFIX_NAME.SHFE+'-NI',{Time:4,Decimal:0,Name:"沪镍"}],[MARKET_SUFFIX_NAME.SHFE+'-SN',{Time:4,Decimal:0,Name:'沪锡'}],[MARKET_SUFFIX_NAME.SHFE+'-ZN',{Time:4,Decimal:0,Name:"沪锌"}],[MARKET_SUFFIX_NAME.SHFE+'-PB',{Time:4,Decimal:0,Name:'沪铅'}],[MARKET_SUFFIX_NAME.SHFE+'-RU',{Time:6,Decimal:0,Name:"天然橡胶"}],[MARKET_SUFFIX_NAME.SHFE+'-FU',{Time:6,Decimal:0,Name:"燃料油"}],[MARKET_SUFFIX_NAME.SHFE+'-RB',{Time:6,Decimal:0,Name:"螺纹钢"}],[MARKET_SUFFIX_NAME.SHFE+'-BU',{Time:6,Decimal:0,Name:'石油沥青'}],[MARKET_SUFFIX_NAME.SHFE+'-HC',{Time:6,Decimal:0,Name:"热轧卷板"}],[MARKET_SUFFIX_NAME.SHFE+'-SP',{Time:6,Decimal:0,Name:"纸浆"}],[MARKET_SUFFIX_NAME.SHFE+'-WR',{Time:0,Decimal:0,Name:"线材"}],[MARKET_SUFFIX_NAME.SHFE+'-AG',{Time:5,Decimal:0,Name:"白银"}],[MARKET_SUFFIX_NAME.SHFE+'-AU',{Time:5,Decimal:2,Name:"黄金"}],[MARKET_SUFFIX_NAME.SHFE+'-SS',{Time:4,Decimal:0,Name:'不锈钢'}],[MARKET_SUFFIX_NAME.SHFE+'-AO',{Time:4,Decimal:0,Name:'氧化铝'}],[MARKET_SUFFIX_NAME.SHFE+'-BR',{Time:6,Decimal:0,Name:'合成橡胶'}],[MARKET_SUFFIX_NAME.SHFE+'-AD',{Time:4,Decimal:0,Name:"铝合金"}],//上期所-能源
|
|
10496
|
+
[MARKET_SUFFIX_NAME.SHFE+'-CU',{Time:4,Decimal:0,Name:"沪铜"}],[MARKET_SUFFIX_NAME.SHFE+'-AL',{Time:4,Decimal:0,Name:"沪铝"}],[MARKET_SUFFIX_NAME.SHFE+'-NI',{Time:4,Decimal:0,Name:"沪镍"}],[MARKET_SUFFIX_NAME.SHFE+'-SN',{Time:4,Decimal:0,Name:'沪锡'}],[MARKET_SUFFIX_NAME.SHFE+'-ZN',{Time:4,Decimal:0,Name:"沪锌"}],[MARKET_SUFFIX_NAME.SHFE+'-PB',{Time:4,Decimal:0,Name:'沪铅'}],[MARKET_SUFFIX_NAME.SHFE+'-RU',{Time:6,Decimal:0,Name:"天然橡胶"}],[MARKET_SUFFIX_NAME.SHFE+'-FU',{Time:6,Decimal:0,Name:"燃料油"}],[MARKET_SUFFIX_NAME.SHFE+'-RB',{Time:6,Decimal:0,Name:"螺纹钢"}],[MARKET_SUFFIX_NAME.SHFE+'-BU',{Time:6,Decimal:0,Name:'石油沥青'}],[MARKET_SUFFIX_NAME.SHFE+'-HC',{Time:6,Decimal:0,Name:"热轧卷板"}],[MARKET_SUFFIX_NAME.SHFE+'-SP',{Time:6,Decimal:0,Name:"纸浆"}],[MARKET_SUFFIX_NAME.SHFE+'-WR',{Time:0,Decimal:0,Name:"线材"}],[MARKET_SUFFIX_NAME.SHFE+'-AG',{Time:5,Decimal:0,Name:"白银"}],[MARKET_SUFFIX_NAME.SHFE+'-AU',{Time:5,Decimal:2,Name:"黄金"}],[MARKET_SUFFIX_NAME.SHFE+'-SS',{Time:4,Decimal:0,Name:'不锈钢'}],[MARKET_SUFFIX_NAME.SHFE+'-AO',{Time:4,Decimal:0,Name:'氧化铝'}],[MARKET_SUFFIX_NAME.SHFE+'-BR',{Time:6,Decimal:0,Name:'合成橡胶'}],[MARKET_SUFFIX_NAME.SHFE+'-AD',{Time:4,Decimal:0,Name:"铝合金"}],[MARKET_SUFFIX_NAME.SHFE+'-OP',{Time:6,Decimal:0,Name:"胶版印刷纸"}],//上期所-能源
|
|
10491
10497
|
[MARKET_SUFFIX_NAME.SHFE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.SHFE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.SHFE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.SHFE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.SHFE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//上海国际能源交易中心 独立的一个市场
|
|
10492
10498
|
[MARKET_SUFFIX_NAME.INE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.INE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.INE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.INE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.INE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//郑州期货交易所
|
|
10493
10499
|
[MARKET_SUFFIX_NAME.CZCE+'-CF',{Time:6,Decimal:0,Name:"棉花"}],[MARKET_SUFFIX_NAME.CZCE+'-SR',{Time:6,Decimal:0,Name:"白糖"}],[MARKET_SUFFIX_NAME.CZCE+'-MA',{Time:6,Decimal:0,Name:"甲醇"}],[MARKET_SUFFIX_NAME.CZCE+'-ZC',{Time:6,Decimal:1,Name:'动力煤'}],[MARKET_SUFFIX_NAME.CZCE+'-TA',{Time:6,Decimal:0,Name:"精对苯二甲酸(PTA)"}],[MARKET_SUFFIX_NAME.CZCE+'-RM',{Time:6,Decimal:0,Name:'菜籽粕'}],[MARKET_SUFFIX_NAME.CZCE+'-OI',{Time:6,Decimal:0,Name:"菜籽油"}],[MARKET_SUFFIX_NAME.CZCE+'-ME',{Time:3,Decimal:0,Name:"甲醇(老)"}],[MARKET_SUFFIX_NAME.CZCE+'-FG',{Time:6,Decimal:0,Name:'平板玻璃'}],[MARKET_SUFFIX_NAME.CZCE+'-WS',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-WT',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-GN',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RO',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RS',{Time:0,Decimal:0,Name:"菜籽"}],[MARKET_SUFFIX_NAME.CZCE+'-ER',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RI',{Time:0,Decimal:0,Name:"早籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-WH',{Time:0,Decimal:0,Name:"强麦"}],[MARKET_SUFFIX_NAME.CZCE+'-AP',{Time:0,Decimal:0,Name:"苹果"}],[MARKET_SUFFIX_NAME.CZCE+'-PM',{Time:0,Decimal:0,Name:"普麦"}],[MARKET_SUFFIX_NAME.CZCE+'-QM',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-TC',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-JR',{Time:0,Decimal:0,Name:"粳稻"}],[MARKET_SUFFIX_NAME.CZCE+'-LR',{Time:0,Decimal:0,Name:"晚籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-SF',{Time:0,Decimal:0,Name:"硅铁"}],[MARKET_SUFFIX_NAME.CZCE+'-SM',{Time:0,Decimal:0,Name:"锰硅"}],[MARKET_SUFFIX_NAME.CZCE+'-CJ',{Time:0,Decimal:2,Name:"红枣"}],[MARKET_SUFFIX_NAME.CZCE+'-CY',{Time:6,Decimal:0,Name:"棉纱"}],[MARKET_SUFFIX_NAME.CZCE+'-UR',{Time:0,Decimal:0,Name:"尿素"}],[MARKET_SUFFIX_NAME.CZCE+'-SA',{Time:6,Decimal:0,Name:"纯碱"}],[MARKET_SUFFIX_NAME.CZCE+'-PF',{Time:6,Decimal:0,Name:"短纤"}],[MARKET_SUFFIX_NAME.CZCE+'-PK',{Time:0,Decimal:0,Name:"花生"}],[MARKET_SUFFIX_NAME.CZCE+'-PR',{Time:6,Decimal:0,Name:"瓶片"}],//中期所
|
|
@@ -10773,10 +10779,7 @@ this.TIME_SPLIT2=[//ID=0 09:00-07:00
|
|
|
10773
10779
|
if(!symbol)return defaultfloatPrecision;var upperSymbol=symbol.toUpperCase();//全部由外部控制
|
|
10774
10780
|
if(typeof MARKET_SUFFIX_NAME.GetCustomDecimal=='function')return MARKET_SUFFIX_NAME.GetCustomDecimal(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZFund(upperSymbol))defaultfloatPrecision=3;//基金3位小数
|
|
10775
10781
|
else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHODecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))defaultfloatPrecision=g_FuturesTimeData.GetDecimal(upperSymbol);//期货小数位数读配置
|
|
10776
|
-
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSZ(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}
|
|
10777
|
-
function GenerateMinuteStockJsonData(data){var stock={symbol:data.symbol,name:data.name,time:data.time,date:data.date,price:data.price,open:data.open,yclose:data.yclose,high:data.high,low:data.low,vol:data.vol,amount:data.amount,minute:[]};var mapMinute=new _map2.default();for(var i in data.minute){var item=data.minute[i];mapMinute.set(item.time,item);}var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);for(var i in timeData)//根据交易时间产生数据
|
|
10778
|
-
{var time=timeData[i];var minuteItem={time:time,vaild:false};if(mapMinute.has(time)){var find=mapMinute.get(time);minuteItem.vaild=true;minuteItem.price=find.price;minuteItem.open=find.open;minuteItem.high=find.high;minuteItem.low=find.low;minuteItem.avprice=find.avprice;minuteItem.vol=find.vol;minuteItem.amount=find.amount;if(IFrameSplitOperator.IsNumber(find.increase))minuteItem.increase=find.increase;if(IFrameSplitOperator.IsNumber(find.risefall))minuteItem.risefall=find.risefall;if(IFrameSplitOperator.IsNumber(find.position))minuteItem.position=find.position;}stock.minute.push(minuteItem);}var vaildCount=0;for(var i=stock.minute.length-1;i>=0;--i){vaildCount=i+1;var item=stock.minute[i];if(item.vaild==true)break;}stock.minute=stock.minute.slice(0,vaildCount);//去掉最后无用的数据
|
|
10779
|
-
return stock;}function GetLocalTime(i)//得到标准时区的时间的函数
|
|
10782
|
+
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSZ(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}function GetLocalTime(i)//得到标准时区的时间的函数
|
|
10780
10783
|
{if(typeof i!=='number')return;var d=new Date();//得到1970年一月一日到现在的秒数
|
|
10781
10784
|
var len=d.getTime();//本地时间与GMT时间的时间偏移差
|
|
10782
10785
|
var offset=d.getTimezoneOffset()*60000;//得到现在的格林尼治时间
|
|
@@ -13921,9 +13924,9 @@ this.FloatTooltip;//提示浮框
|
|
|
13921
13924
|
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.RequestStatus={IsFinishStockList:false,IsFinishMemberList:false};//下载状态
|
|
13922
13925
|
this.DataFilterConfig={Enable:false};//数据筛选
|
|
13923
13926
|
this.ChartDestroy=function()//销毁
|
|
13924
|
-
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
|
|
13927
|
+
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();this.DestroyPopMenu();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
|
|
13925
13928
|
{if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
|
|
13926
|
-
this.JSPopMenu.Inital();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
|
|
13929
|
+
this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
|
|
13927
13930
|
this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var _this64=this;this.AutoDragScrollTimer=setTimeout(function(){_this64.ChartOperator_Temp_ScrollPage(step);},300);};this.ChartOperator_Temp_ScrollPage=function(moveSetp){if(!this.EnablePageScroll)return;var reportChart=this.GetReportChart();if(!reportChart)return;if(moveSetp>0){var pageStatus=reportChart.GetCurrentPageStatus();if(pageStatus.IsEnd)return;this.MoveYOffset(moveSetp,false);++moveSetp;}else if(moveSetp<0){if(this.Data.YOffset<=0)return;this.MoveYOffset(moveSetp,false);--moveSetp;}else{return;}this.Draw();if(!this.EnablePageScroll)return;this.AutoScrollPage(moveSetp);return;};//清空画布
|
|
13928
13931
|
this.ClearCanvas=function(canvas){if(!canvas)return;if(!this.UIElement)return;canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);};//清空固定行数据
|
|
13929
13932
|
this.ClearFixedRowData=function(){this.FixedRowData.Data=[];this.FixedRowData.Symbol=[];};//设置固定行
|
|
@@ -15384,7 +15387,7 @@ this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDr
|
|
|
15384
15387
|
LineWidth:this.LineWidth,//线段宽度
|
|
15385
15388
|
PointColor:this.LineColor//点颜色
|
|
15386
15389
|
};var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartInfoLine_FormatLabelText(lableInfo);};else if(name=="MonitorLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartDrawMonitorLine_FormatLabelText(lableInfo);};this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this93.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
|
|
15387
|
-
this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this94=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this94.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this94.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
|
|
15390
|
+
this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this94=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this94.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this94.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
|
|
15388
15391
|
var x=labelInfo.AryPoint[1].X-labelInfo.AryPoint[0].X;var y=labelInfo.AryPoint[1].Y-labelInfo.AryPoint[0].Y;var text="--";if(x!=0)text=''+(y/x).toFixed(4);labelInfo.AryText.push({Name:"斜率: ",Text:text,NameColor:"rgb(0,0,0)",TextColor:"rgb(238, 0, 238)"});labelInfo.AryText.push({Name:"其他: ",Text:'......',NameColor:"rgb(0,0,0)",TextColor:"rgb(156, 156, 156)"});};this.ChartDrawMonitorLine_FormatLabelText=function(labelInfo){if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;if(!IFrameSplitOperator.IsNumber(labelInfo.StartIndex)||labelInfo.StartIndex<0)return;var startItem=labelInfo.Data.Data[labelInfo.StartIndex];var endItem=labelInfo.Data.Data[labelInfo.Data.Data.length-1];labelInfo.YValue=endItem.Close;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"ɑ: ",Text:"--.--",NameColor:"rgb(0, 0 ,255)",TextColor:"rgb(255, 165, 0)"});labelInfo.AryText.push({Name:"β: ",Text:"--.--",NameColor:"rgb(0 ,0 ,255)",TextColor:"rgb(238 ,121, 66)"});};}/////////////////////////////////////////////////////////////////////////////////////
|
|
15389
15392
|
// 修改画图工具
|
|
15390
15393
|
//
|
|
@@ -15396,7 +15399,7 @@ divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDiv
|
|
|
15396
15399
|
divItem.onmouseover=function(e){_this96.OnHoverButton(e,data);};divItem.onmouseout=function(e){_this96.OnLeaveButton(e,data);};switch(item.Data.ID){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.BGColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.FontColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.BorderColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.LockButton=data;break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.FontZoomButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.FontZoomOutButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyTextButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedButton=data;divItem.style.display="none";break;}parentDivDom.appendChild(divItem);};this.CreateInputColor=function(data){var _this97=this;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.className="UMyChart_Draw_Modify_Input_Color";data.InputColor=inputColor;inputColor.oninput=function(e){_this97.OnChangeColor(e,data);};return inputColor;};//颜色块
|
|
15397
15400
|
this.CreateColorBar=function(data){var divColor=document.createElement("div");divColor.className="UMyChart_Draw_Modify_Dialog_Button_ColorBar_Div";data.DivColorBar=divColor;return divColor;};this.OnClickButton=function(e,data){console.log('[JSDialogModifyDraw::OnClickButton] ',data);if(!data.Item||!data.Item.Data)return;var id=data.Item.Data.ID;switch(id){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ModifyLineColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID:this.DeleteDrawPicture();break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.ModifyBGColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.ModifyFontColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.ModifyBorderColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.ModifyLockChart();break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.ModifyFontZoom(1);break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.ModifyFontZoom(-1);break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyText();break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedSetting();break;}};this.OnHoverButton=function(e,data){//var x=e.clientX;
|
|
15398
15401
|
//data.Tooltip.style.left=x+"px";
|
|
15399
|
-
data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
15402
|
+
data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
15400
15403
|
this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID){if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteBorderColor=color;else this.ChartPicture.BorderColor=color;if(this.BorderColorButton)this.BorderColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
15401
15404
|
this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID){if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteTextColor=color;else this.ChartPicture.TextColor=color;if(this.FontColorButton)this.FontColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
15402
15405
|
this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID){color=IChartDrawPicture.ColorToRGBA(color,0.8);if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteBGColor=color;else this.ChartPicture.BGColor=color;if(this.BGColorButton)this.BGColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
|
|
@@ -15562,8 +15565,9 @@ chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:func
|
|
|
15562
15565
|
{var strText=this.InputDOM.value;if(strText.length==0){this.Hide();//只有按了删除 才能隐藏
|
|
15563
15566
|
return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var _this107=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this107.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this107.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;if(!this.Keyboard.Option.EnableResize)//自动调整大小
|
|
15564
15567
|
{if(this.Keyboard.JSChart)this.Keyboard.JSChart.OnSize();}//显示在右下方
|
|
15565
|
-
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;this.
|
|
15566
|
-
|
|
15568
|
+
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;if(this.Keyboard.JSChart&&this.Keyboard.JSChart.JSChartContainer){var event=this.Keyboard.JSChart.JSChartContainer.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SHOW);if(event&&event.Callback){var data={PreventDefault:false,Y:y,X:x,Height:height,Width:width};event.Callback(event,data,this);if(data.PreventDefault)return;//修改显示位置
|
|
15569
|
+
x=data.X;y=data.Y;}}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
|
|
15570
|
+
this.ActiveDOM=null;}};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.PopKeyboard=function(search){if(!this.DivDialog)return;if(this.IsShow())return;this.Show();this.InputDOM.focus();if(this.InputDOM.value==""){if(search)this.InputDOM.value=search;}};this.OnGlobalKeydown=function(event){if(!this.DivDialog)return;var code=event.keyCode;if(code==116)return;//F5不处理
|
|
15567
15571
|
if(!this.IsShow()&&code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122){this.Show();this.InputDOM.focus();if(this.InputDOM.value==""){this.InputDOM.value=event.key;event.preventDefault();}if(event.target)this.ActiveDOM=event.target;}else if(code==27&&this.IsShow()){this.Hide();}};this.OnGlobalMouseDown=function(event){if(!this.DivDialog)return;if(this.DivDialog.style.display=='none')return;if(!this.DivDialog.contains(event.target)){this.Hide();}};this.OnChartMouseUp=function(event,data,chart){this.InputDOM.focus();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.InputBGColor)this.InputDOM.style['background-color']=this.InputBGColor;if(this.InputTextColor)this.InputDOM.style['color']=this.InputTextColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor){this.TitleBox.DivName.style['color']=this.TitleColor;this.TitleBox.DivClose.style['color']=this.TitleColor;}};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;if(this.Keyboard.JSChart){this.Keyboard.JSChart.ReloadResource();this.Keyboard.JSChart.Draw();}if(!this.DivDialog)return;this.UpdateStyle();};}JSPopKeyboard.GetOption=function(){var option={Type:'键盘精灵',//创建图形类型
|
|
15568
15572
|
Border://边框
|
|
15569
15573
|
{Left:1,//左边间距
|
|
@@ -15918,12 +15922,13 @@ var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder
|
|
|
15918
15922
|
|
|
15919
15923
|
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
15920
15924
|
|
|
15921
|
-
*/var frequency=500;this.ToolbarTimer=setInterval(function(){_this123.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e
|
|
15922
|
-
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}
|
|
15925
|
+
*/var frequency=500;this.ToolbarTimer=setInterval(function(){_this123.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
15926
|
+
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
15927
|
+
{this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STATUSBAR_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
|
|
15923
15928
|
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;//var bShowKLineTooltip=false;
|
|
15924
15929
|
var bShowMinuteTooltip=false;var chartTooltipData=null;var tooltipData=this.GetChartTooltipData(x,y);if(tooltipData){if(tooltipData.Type==121){var item=tooltipData.Data;if(item&&item.Data&&item.Data.Symbol){bShowMinuteTooltip=true;chartTooltipData={Symbol:item.Data.Symbol,Rect:item.Rect,Position:1};}}}//if (!bShowKLineTooltip) this.HideKLineChartTooltip();
|
|
15925
15930
|
if(!bShowMinuteTooltip)this.HideMinuteChartTooltip();if(bShowMinuteTooltip)this.ShowMinuteChartTooltip(null,null,chartTooltipData);//if (bShowKLineTooltip) this.ShowKLineChartTooltip(null, null, chartTooltipData);
|
|
15926
|
-
};this.UIOnMounseOut=function(e){this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip};event.Callback(event,data,this);return true;}}}}return false;};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();//获取设备的分辨率
|
|
15931
|
+
};this.UIOnMounseOut=function(e){this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip,e:e};event.Callback(event,data,this);return true;}}}}return false;};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();//获取设备的分辨率
|
|
15927
15932
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
15928
15933
|
this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
15929
15934
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Draw();}};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];if(chart)chart.SizeChange=bChanged;}};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||option.Draw)){this.SetSizeChange(true);this.Draw();}if(this.TooltipMinuteChart)this.TooltipMinuteChart.ReloadResource(option);//分时图
|
|
@@ -16000,7 +16005,7 @@ this.ResizeListener;//大小变动监听
|
|
|
16000
16005
|
this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsstockinfo-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSStockInfoChart::JSStockInfoChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
16001
16006
|
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
16002
16007
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStockInfoChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSStockInfoChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
16003
|
-
if(option.EnableResize==true)this.CreateResizeListener();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
|
|
16008
|
+
if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
|
|
16004
16009
|
}else{chart.Draw();}};this.CreateResizeListener=function(){var _this124=this;this.ResizeListener=new ResizeObserver(function(entries){_this124.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStockInfoChart::OnDivResize] entries=",entries);this.OnSize();};//切换股票代码接口
|
|
16005
16010
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.CreateJSStockInfoChartContainer=function(option){var chart=new JSStockInfoChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.HeaderColumn))chart.SetHeaderColumn(option.HeaderColumn);if(IFrameSplitOperator.IsNonEmptyArray(option.MouseOnKey))chart.SetMouseOnKey(option.MouseOnKey);//是否自动更新
|
|
16006
16011
|
if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
|
|
@@ -16024,11 +16029,15 @@ this.BorderData={MapData:null};//key=Field Value:[null, {ExePrice} ,{ExePrice} ]
|
|
|
16024
16029
|
this.MapStockData;//事件回调
|
|
16025
16030
|
this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
16026
16031
|
this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//15秒更新一次数据
|
|
16032
|
+
this.JSPopMenu;//内置菜单
|
|
16027
16033
|
this.UIElement=uielement;this.IsDestroy=false;//是否已经销毁了
|
|
16028
16034
|
this.ChartDestroy=function()//销毁
|
|
16029
|
-
{this.IsDestroy=true;this.StopAutoUpdate();};//设置事件回调
|
|
16035
|
+
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyPopMenu();};//设置事件回调
|
|
16030
16036
|
//{event:事件id, callback:回调函数}
|
|
16031
|
-
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.
|
|
16037
|
+
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
16038
|
+
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.InitalPopMenu=function()//初始化弹出窗口
|
|
16039
|
+
{if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
|
|
16040
|
+
this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this125=this;this.CancelAutoUpdate();this.ClearData();this.ChartClearMouseOnData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this125.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
|
|
16032
16041
|
return;_this125.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
|
|
16033
16042
|
{if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this126=this;if(this.NetworkFilter){var obj={Name:'JSStockInfoChartContainer::RequestStockData',//类名::函数名
|
|
16034
16043
|
Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this126.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
@@ -16038,8 +16047,15 @@ this.Frame=new JSStockInfoFrame();this.Frame.ChartBorder=new ChartBorder();this.
|
|
|
16038
16047
|
var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this127.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.oncontextmenu=function(e){_this127.UIOnContextMenu(e);};this.UIElement.onmousedown=function(e){_this127.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this127.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this127.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this127.UIOnMouseleave(e);};/*
|
|
16039
16048
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
16040
16049
|
|
|
16041
|
-
*/};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
16042
|
-
{
|
|
16050
|
+
*/};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
|
|
16051
|
+
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STOCKINFO_ITEM,ptClick,e);}else if(e.button==2)//右键点击
|
|
16052
|
+
{var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STOCKINFO_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
|
|
16053
|
+
{if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var _this128=this;if(!this.JSPopMenu)return;var pixelTatio=GetDevicePixelRatio();var toolTip=new TooltipData();var data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x*pixelTatio,y*pixelTatio,toolTip)){if(toolTip.Data){data={Cell:toolTip.Data};break;}}}if(!data)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this128.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
|
|
16054
|
+
this.PopupMenuByRClick=function(menuData,x,y){if(!this.JSPopMenu)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//点击右键菜单
|
|
16055
|
+
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSStockInfoChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
16056
|
+
var aryArgs=data.Data.Args;//参数
|
|
16057
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
16058
|
+
if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);};this.ExecuteMenuCommand=function(cmdID,aryArgs){};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var option={Update:false};this.OnChartMouseMove(x,y,e,option);if(option.Update===true)this.Draw();};this.OnChartMouseMove=function(x,y,e,option){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.OnMouseMove){if(item.OnMouseMove(x,y,e,option))return true;}}return false;};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip};event.Callback(event,data,this);return true;}}}}return false;};this.UIOnMouseleave=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();};this.UIOnMounseOut=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();//this.HideAllTooltip();
|
|
16043
16059
|
};this.ChartClearMouseOnData=function(option){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.ClearMouseOnData){item.ClearMouseOnData(option);}}};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();//获取设备的分辨率
|
|
16044
16060
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
16045
16061
|
this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
@@ -16065,8 +16081,8 @@ this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);//显示的字段
|
|
|
16065
16081
|
this.Column=[[{Name:"涨停价",Key:"UpLimit",ColorType:3,FloatPrecision:-1},{Name:"跌停价",Key:"DownLimit",ColorType:3,FloatPrecision:-1}],[{Name:"现价",Key:"Price",ColorType:3,FloatPrecision:-1},{Name:"今开",Key:"Open",ColorType:3,FloatPrecision:-1}],[{Name:"最高",Key:"High",ColorType:3,FloatPrecision:-1},{Name:"最低",Key:"Low",ColorType:3,FloatPrecision:-1}],[{Name:"涨幅",Key:"Increase",ColorType:1,FloatPrecision:2,StringFormat:"{Value}%"},{Name:"涨跌",Key:"UpDown",ColorType:1,FloatPrecision:-1}],[{Name:"振幅",Key:"Amplitude",FloatPrecision:2,StringFormat:"{Value}%"},{Name:"换手率",Key:"Exchange",FloatPrecision:2,StringFormat:"{Value}%"}],[{Name:"总量",Key:"Vol",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}},{Name:"总额",Key:"Amount",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}}],[{Name:"内盘",Key:"InVol",ColorType:4,FloatPrecision:0},{Name:"外盘",Key:"OutVol",ColorType:5,FloatPrecision:0}],[{Name:"TTM",Key:"PE_TTM",FloatPrecision:2},{Name:"市净率",Key:"PB",FloatPrecision:2}],[{Name:"流通市值",Key:"FlowMarketValue",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}},{Name:"总市值",Key:"TotalMarketValue",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}}]];this.AryCellRect=[];this.MouseOnItem=null;//{ Key:, Rect: }
|
|
16066
16082
|
//this.MouseOnItem={ Key:"SELL_PRICE_0" };
|
|
16067
16083
|
this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);this.MapMouseOnKey=new _map2.default();this.ReloadResource=function(resource){this.UpColor=g_JSChartResource.StockInfo.UpTextColor;this.DownColor=g_JSChartResource.StockInfo.DownTextColor;this.UnchangeColor=g_JSChartResource.StockInfo.UnchangeTextColor;this.HeaderConfig=CloneData(g_JSChartResource.StockInfo.Header);//买卖5档配置
|
|
16068
|
-
this.BuySellConfig=CloneData(g_JSChartResource.StockInfo.BuySell);this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);};this.ClearMouseOnData=function(option){if(
|
|
16069
|
-
}};this.SetColumn=function(aryColumn){this.Column=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.Column.push(CloneData(item));}};this.SetHeaderColumn=function(aryColumn){this.HeaderColumn=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.HeaderColumn.push(CloneData(item));}};this.SetMouseOnKey=function(aryKey){this.MapMouseOnKey.clear();if(!IFrameSplitOperator.IsNonEmptyArray(aryKey))return;for(var i=0;i<aryKey.length;++i){var key=aryKey[i];if(!key)continue;this.MapMouseOnKey.set(key,{Key:key});}};this.OnMouseMove=function(x,y,e,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;if(this.MouseOnItem&&this.MouseOnItem.Rect){var rect=this.MouseOnItem.Rect;if(Path2DHelper.PtInRect(x,y,rect))return true;}for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){this.MouseOnItem={Key:item.Data.Key,Rect:rect};if(option)option.Update=true;return true;}}if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;}return false;};this.Draw=function(){this.AryCellRect=[];this.Decimal=GetfloatPrecision(this.Data.Symbol);var border=this.ChartBorder.GetBorder();var position={Left:border.Left,Right:border.Right,Top:border.Top,Width:border.Right-border.Left,Border:border};this.DrawHeader(position);this.DrawBuySell(position);this.DrawTable(position);};this.DrawHeader=function(position){var config=this.HeaderConfig;var top=position.Top;var left=position.Left;var xText=left;var yText=top;this.Canvas.font=config.Name.Font;var nameHeight=this.Canvas.measureText("擎").width;nameHeight+=config.Name.Margin.Top+config.Name.Margin.Bottom;this.Canvas.font=config.Symbol.Font;var symbolHeight=this.Canvas.measureText("擎").width;symbolHeight+=config.Symbol.Margin.Top+config.Symbol.Margin.Bottom;var lineHeight=Math.max(symbolHeight,nameHeight);this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';if(this.Data.Name){var text=this.Data.Name;xText+=config.Name.Margin.Left;var yBottom=yText+lineHeight-config.Name.Margin.Bottom+config.Name.Margin.YOffset;this.Canvas.font=config.Name.Font;this.Canvas.fillStyle=config.Name.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Name.Margin.Right;}if(this.Data.Symbol){var text=MARKET_SUFFIX_NAME.GetShortSymbol(this.Data.Symbol);xText+=config.Symbol.Margin.Left;var yBottom=yText+lineHeight-config.Symbol.Margin.Bottom+config.Symbol.Margin.YOffset;this.Canvas.font=config.Symbol.Font;this.Canvas.fillStyle=config.Symbol.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Symbol.Margin.Right;}yText+=lineHeight;if(IFrameSplitOperator.IsNonEmptyArray(this.HeaderColumn)){lineHeight=0;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var subConfig=config.AryCell[i];this.Canvas.font=subConfig.Font;var textHeight=this.Canvas.measureText("擎").width;textHeight+=subConfig.Margin.Top+subConfig.Margin.Bottom;if(lineHeight<textHeight)lineHeight=textHeight;}var xText=left;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var item=this.HeaderColumn[i];var text="--.--";color=config.TextColor;if(item.DefaultText)text=item.DefaultText;var subConfig=config.AryCell[i];if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;}if(item.TextColor)color=item.TextColor;if(text){this.Canvas.font=subConfig.Font;var textWidth=this.Canvas.measureText(text).width;var x=xText+subConfig.Margin.Left;this.Canvas.fillStyle=color;var yBottom=yText+lineHeight-subConfig.Margin.Bottom+subConfig.Margin.YOffset;this.Canvas.fillText(text,x,yBottom);xText+=subConfig.Margin.Left+subConfig.Margin.Right+textWidth;}}yText+=lineHeight;}position.Top=yText;if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;var lineWidth=1*GetDevicePixelRatio();;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();position.Top=ToFixedPoint(yText);}};//买卖5档
|
|
16084
|
+
this.BuySellConfig=CloneData(g_JSChartResource.StockInfo.BuySell);this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);};this.ClearMouseOnData=function(option){if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;//需要更新
|
|
16085
|
+
}};this.SetColumn=function(aryColumn){this.Column=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.Column.push(CloneData(item));}};this.SetHeaderColumn=function(aryColumn){this.HeaderColumn=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.HeaderColumn.push(CloneData(item));}};this.SetMouseOnKey=function(aryKey){this.MapMouseOnKey.clear();if(!IFrameSplitOperator.IsNonEmptyArray(aryKey))return;for(var i=0;i<aryKey.length;++i){var key=aryKey[i];if(!key)continue;this.MapMouseOnKey.set(key,{Key:key});}};this.OnMouseMove=function(x,y,e,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;if(this.MouseOnItem&&this.MouseOnItem.Rect){var rect=this.MouseOnItem.Rect;if(Path2DHelper.PtInRect(x,y,rect))return true;}for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){this.MouseOnItem={Key:item.Data.Key,Rect:rect};if(option)option.Update=true;return true;}}if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;}return false;};this.GetTooltipData=function(x,y,tooltip){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=151;return true;}}return false;};this.Draw=function(){this.AryCellRect=[];this.Decimal=GetfloatPrecision(this.Data.Symbol);var border=this.ChartBorder.GetBorder();var position={Left:border.Left,Right:border.Right,Top:border.Top,Width:border.Right-border.Left,Border:border};this.DrawHeader(position);this.DrawBuySell(position);this.DrawTable(position);};this.DrawHeader=function(position){var config=this.HeaderConfig;var top=position.Top;var left=position.Left;var xText=left;var yText=top;this.Canvas.font=config.Name.Font;var nameHeight=this.Canvas.measureText("擎").width;nameHeight+=config.Name.Margin.Top+config.Name.Margin.Bottom;this.Canvas.font=config.Symbol.Font;var symbolHeight=this.Canvas.measureText("擎").width;symbolHeight+=config.Symbol.Margin.Top+config.Symbol.Margin.Bottom;var lineHeight=Math.max(symbolHeight,nameHeight);this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';if(this.Data.Name){var text=this.Data.Name;xText+=config.Name.Margin.Left;var yBottom=yText+lineHeight-config.Name.Margin.Bottom+config.Name.Margin.YOffset;this.Canvas.font=config.Name.Font;this.Canvas.fillStyle=config.Name.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Name.Margin.Right;}if(this.Data.Symbol){var text=MARKET_SUFFIX_NAME.GetShortSymbol(this.Data.Symbol);xText+=config.Symbol.Margin.Left;var yBottom=yText+lineHeight-config.Symbol.Margin.Bottom+config.Symbol.Margin.YOffset;this.Canvas.font=config.Symbol.Font;this.Canvas.fillStyle=config.Symbol.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Symbol.Margin.Right;}yText+=lineHeight;if(IFrameSplitOperator.IsNonEmptyArray(this.HeaderColumn)){lineHeight=0;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var subConfig=config.AryCell[i];this.Canvas.font=subConfig.Font;var textHeight=this.Canvas.measureText("擎").width;textHeight+=subConfig.Margin.Top+subConfig.Margin.Bottom;if(lineHeight<textHeight)lineHeight=textHeight;}var xText=left;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var item=this.HeaderColumn[i];var text="--.--";color=config.TextColor;if(item.DefaultText)text=item.DefaultText;var subConfig=config.AryCell[i];if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;}if(item.TextColor)color=item.TextColor;if(text){this.Canvas.font=subConfig.Font;var textWidth=this.Canvas.measureText(text).width;var x=xText+subConfig.Margin.Left;this.Canvas.fillStyle=color;var yBottom=yText+lineHeight-subConfig.Margin.Bottom+subConfig.Margin.YOffset;this.Canvas.fillText(text,x,yBottom);xText+=subConfig.Margin.Left+subConfig.Margin.Right+textWidth;}}yText+=lineHeight;}position.Top=yText;if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;var lineWidth=1*GetDevicePixelRatio();;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();position.Top=ToFixedPoint(yText);}};//买卖5档
|
|
16070
16086
|
this.DrawBuySell=function(position){if(this.BuySellCount<=0)return;var config=this.BuySellConfig;var top=position.Top;var left=position.Left+config.Margin.Left;var cellWidth=(position.Width-config.Margin.Left-config.Margin.Right)/4;var yText=top+config.Margin.Top;var xText=left;this.Canvas.font=config.Font;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var cellHeight=this.Canvas.measureText("擎").width+config.CellMargin.Top+config.CellMargin.Bottom;var count=this.BuySellCount;var sellVol=0,buyVol=0;for(var i=count-1;i>=0;--i){xText=left;var item=this.Data.Sells[i];this.DrawBuySellItem(item,xText,yText,cellWidth,cellHeight,{Type:1,Index:i});if(IFrameSplitOperator.IsNumber(item.Vol))sellVol+=item.Vol;yText+=cellHeight;}var yCenter=null;if(config.CenterLine)//留出画线的位置
|
|
16071
16087
|
{yCenter=yText;var lineConfig=config.CenterLine;var lineWidth=lineConfig.Width;yText+=lineWidth;}for(var i=0;i<count&&i<this.Data.Buys.length;++i){xText=left;var item=this.Data.Buys[i];this.DrawBuySellItem(item,xText,yText,cellWidth,cellHeight,{Type:2,Index:i});if(IFrameSplitOperator.IsNumber(item.Vol))buyVol+=item.Vol;yText+=cellHeight;}position.Top=yText;if(IFrameSplitOperator.IsNumber(yCenter)&&config.CenterLine){var lineConfig=config.CenterLine;var xLeft=position.Border.Left,xRight=position.Border.Right;var lineWidth=lineConfig.Width;if(buyVol+sellVol>0){var buyRate=buyVol/(buyVol+sellVol);var barWidth=xRight-xLeft;var buyWidth=barWidth*buyRate;var xCenter=xLeft+buyWidth;this.Canvas.lineWidth=lineWidth;this.Canvas.strokeStyle=lineConfig.BuyColor;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xCenter,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();this.Canvas.strokeStyle=lineConfig.SellColor;this.Canvas.beginPath();this.Canvas.moveTo(xCenter,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xRight,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();}else{this.Canvas.strokeStyle=lineConfig.NoneColor;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xRight,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();}}if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;this.Canvas.lineWidth=1*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();}if(config.TopLine&&config.TopLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;this.Canvas.lineWidth=1*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(top));this.Canvas.lineTo(xRight,ToFixedPoint(top));this.Canvas.stroke();}};//itemInfo={ Type:2(1=买 2=卖), Index:数据索引 }
|
|
16072
16088
|
this.DrawBuySellItem=function(item,left,top,cellWidth,cellHeight,itemInfo){var config=this.BuySellConfig;var xText=left;var yBottom=top+cellHeight-config.CellMargin.Bottom+config.CellMargin.YOffset;if(item.Name){this.Canvas.fillStyle=config.TitleColor;this.Canvas.fillText(item.Name,xText+config.CellMargin.Left,yBottom);}xText+=cellWidth;if(IFrameSplitOperator.IsNumber(item.Price)){var key=(itemInfo.Type==1?"BUY":"SELL")+'_PRICE_'+itemInfo.Index;var mouseOnItem=this.IsMouseOn(key);var text=item.Price.toFixed(this.Decimal);var textWidth=this.Canvas.measureText(text).width;var x=xText+cellWidth-textWidth-config.CellMargin.Right;var rtCell={Left:xText,Width:cellWidth,Top:top,Height:cellHeight};rtCell.Right=rtCell.Left+rtCell.Width;rtCell.Bottom=rtCell.Top+rtCell.Height;if(mouseOnItem)this.DrawMouseOnRect(rtCell);this.Canvas.fillStyle=this.GetPriceColor(item.Price);this.Canvas.fillText(text,x,yBottom);if(this.MapMouseOnKey.has(key))this.AryCellRect.push({Rect:rtCell,Data:{Type:1,Key:key,Value:item.Price}});}xText+=cellWidth;xText+=cellWidth;if(IFrameSplitOperator.IsNumber(item.Vol)){var text=item.Vol.toFixed(0);var textWidth=this.Canvas.measureText(text).width;var x=xText+cellWidth-textWidth-config.CellMargin.Right;this.Canvas.fillStyle=config.VolColor;this.Canvas.fillText(text,x,yBottom);}};this.IsMouseOn=function(key){if(!this.MouseOnItem)return null;if(this.MouseOnItem.Key===key)return this.MouseOnItem;return null;};this.DrawMouseOnRect=function(rect){if(!this.MouseOnItem)return;this.Canvas.fillStyle=this.MouseOnConfig.BGColor;this.Canvas.fillRect(rect.Left,rect.Top,rect.Width,rect.Height);this.MouseOnItem.Rect=rect;};this.DrawTable=function(position){if(!IFrameSplitOperator.IsNonEmptyArray(this.Column))return;var config=this.TableConfig;var top=position.Top;var left=position.Left+config.Margin.Left;var cellWidth=(position.Width-config.Margin.Left-config.Margin.Right)/4;var yText=top+config.Margin.Top;var xText=left;this.Canvas.font=config.Font;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var cellHeight=this.Canvas.measureText("擎").width+config.CellMargin.Top+config.CellMargin.Bottom;for(var i=0;i<this.Column.length;++i){xText=left;var item=this.Column[i];if(!item||!IFrameSplitOperator.IsNonEmptyArray(item))continue;this.DrawRowItem(item,xText,yText,cellWidth,cellHeight);yText+=cellHeight;}};this.DrawRowItem=function(aryData,left,top,cellWidth,cellHeight){var config=this.TableConfig;var xText=left;var yBottom=top+cellHeight-config.CellMargin.Bottom+config.CellMargin.YOffset;for(var i=0;i<aryData.length&&i<2;++i){var item=aryData[i];if(item){if(item.Name){this.Canvas.fillStyle=config.TitleColor;this.Canvas.fillText(item.Name,xText+config.CellMargin.Left,yBottom);}xText+=cellWidth;if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);color=config.TextColor;var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;if(item.TextColor)color=item.TextColor;if(text){if(i==0&&item.ShowType==1)//整行显示
|
|
@@ -16077,7 +16093,7 @@ text=value.toFixed(dec);break;case 2://千分位分割
|
|
|
16077
16093
|
text=IFrameSplitOperator.FormatValueThousandsString(value,dec);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,dec,exfloatPrecision);break;}}}if(column.StringFormat&&text)text=column.StringFormat.replace('{Value}',text);return text;};this.GetPriceColor=function(price){var upperSymbol=null;if(this.Data.Symbol)upperSymbol=this.Data.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(!IFrameSplitOperator.IsNumber(this.Data.YFClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.Data.YFClose);}else{if(!IFrameSplitOperator.IsNumber(this.Data.YClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.Data.YClose);}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};}/********************************************************************************
|
|
16078
16094
|
* 版本信息输出
|
|
16079
16095
|
*
|
|
16080
|
-
*/var HQCHART_VERSION="1.1.
|
|
16096
|
+
*/var HQCHART_VERSION="1.1.15473";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();//把给外界调用的方法暴露出来
|
|
16081
16097
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16082
16098
|
// BaseIndex:BaseIndex,
|
|
16083
16099
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -556,6 +556,7 @@ function JSDialogDrawTool()
|
|
|
556
556
|
this.Close=function(e)
|
|
557
557
|
{
|
|
558
558
|
if (!this.DivDialog) return;
|
|
559
|
+
if (!this.IsShow()) return;
|
|
559
560
|
|
|
560
561
|
this.DivDialog.style.visibility='hidden';
|
|
561
562
|
|
|
@@ -901,6 +902,8 @@ function JSDialogModifyDraw()
|
|
|
901
902
|
if (!this.DivDialog) return;
|
|
902
903
|
|
|
903
904
|
this.ChartPicture=null;
|
|
905
|
+
if (!this.IsShow()) return;
|
|
906
|
+
|
|
904
907
|
this.DivDialog.style.visibility='hidden';
|
|
905
908
|
|
|
906
909
|
if (this.HQChart) this.HQChart.RestoreFocus(this.RestoreFocusDelay);
|
|
@@ -271,6 +271,21 @@ function JSPopKeyboard()
|
|
|
271
271
|
var x=xRight-width;
|
|
272
272
|
var y=ybottom-height;
|
|
273
273
|
|
|
274
|
+
if (this.Keyboard.JSChart && this.Keyboard.JSChart.JSChartContainer)
|
|
275
|
+
{
|
|
276
|
+
var event=this.Keyboard.JSChart.JSChartContainer.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SHOW);
|
|
277
|
+
if (event && event.Callback)
|
|
278
|
+
{
|
|
279
|
+
var data={ PreventDefault:false, Y:y, X:x, Height:height, Width:width };
|
|
280
|
+
event.Callback(event, data, this);
|
|
281
|
+
if (data.PreventDefault) return;
|
|
282
|
+
|
|
283
|
+
//修改显示位置
|
|
284
|
+
x=data.X;
|
|
285
|
+
y=data.Y;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
274
289
|
this.DivDialog.style.visibility='visible';
|
|
275
290
|
this.DivDialog.style.top = y + "px";
|
|
276
291
|
this.DivDialog.style.left = x + "px";
|
|
@@ -296,6 +311,19 @@ function JSPopKeyboard()
|
|
|
296
311
|
return this.DivDialog.style.visibility==='visible';
|
|
297
312
|
}
|
|
298
313
|
|
|
314
|
+
this.PopKeyboard=function(search)
|
|
315
|
+
{
|
|
316
|
+
if (!this.DivDialog) return;
|
|
317
|
+
if (this.IsShow()) return;
|
|
318
|
+
|
|
319
|
+
this.Show();
|
|
320
|
+
this.InputDOM.focus();
|
|
321
|
+
if (this.InputDOM.value=="")
|
|
322
|
+
{
|
|
323
|
+
if (search) this.InputDOM.value=search;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
299
327
|
this.OnGlobalKeydown=function(event)
|
|
300
328
|
{
|
|
301
329
|
if (!this.DivDialog) return;
|
|
@@ -462,10 +462,19 @@ function JSStatusBarChartContainer(uielement)
|
|
|
462
462
|
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
463
463
|
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
464
464
|
|
|
465
|
-
if (e
|
|
465
|
+
if (e)
|
|
466
466
|
{
|
|
467
|
-
|
|
468
|
-
|
|
467
|
+
if (e.button==0) //左键点击
|
|
468
|
+
{
|
|
469
|
+
var ptClick={ X:this.ClickDownPoint.X, Y:this.ClickDownPoint.Y };
|
|
470
|
+
this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM, ptClick, e);
|
|
471
|
+
}
|
|
472
|
+
else if (e.button==2) //右键点击
|
|
473
|
+
{
|
|
474
|
+
this.HideAllTooltip();
|
|
475
|
+
var ptClick={ X:this.ClickDownPoint.X, Y:this.ClickDownPoint.Y };
|
|
476
|
+
this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STATUSBAR_ITEM, ptClick, e);
|
|
477
|
+
}
|
|
469
478
|
}
|
|
470
479
|
}
|
|
471
480
|
|
|
@@ -551,7 +560,7 @@ function JSStatusBarChartContainer(uielement)
|
|
|
551
560
|
{
|
|
552
561
|
if (toolTip.Data)
|
|
553
562
|
{
|
|
554
|
-
var data= { X:e.clientX, Y:e.clientY, Tooltip:toolTip };
|
|
563
|
+
var data= { X:e.clientX, Y:e.clientY, Tooltip:toolTip, e:e };
|
|
555
564
|
event.Callback(event, data, this);
|
|
556
565
|
return true;
|
|
557
566
|
}
|