hqchart 1.1.14929 → 1.1.14936
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 +22 -12
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +13 -1
- package/src/jscommon/umychart.js +84 -70
- package/src/jscommon/umychart.report.js +3 -3
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +88 -74
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +101 -75
package/lib/umychart.vue.js
CHANGED
|
@@ -5640,7 +5640,7 @@ this.CallAcutionSplitYV2(splitData,this.Frame.HorizontalInfo.slice());if(this.En
|
|
|
5640
5640
|
if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE);if(event&&event.Callback){var data={ID:this.Frame.Identify,Frame:this.Frame};if(this.OverlayIdentify)data.OverlayIdentify=this.OverlayIdentify;event.Callback(event,data,this);}}};this.FormatValueString=function(value){var text;if(this.StringFormat==1)//手机端格式 如果有万,亿单位了 去掉小数
|
|
5641
5641
|
{var floatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(value)&&Math.abs(value)>1000)floatPrecision=0;text=IFrameSplitOperator.FormatValueString(value,floatPrecision,this.LanguageID);}else if(this.StringFormat==2)//原始数据输出
|
|
5642
5642
|
{text=''+value.toFixed(this.FloatPrecision);}else{var absValue=Math.abs(value);if(absValue<0.0000000001){text=0;}else if(absValue<this.FLOATPRECISION_RANGE[this.FLOATPRECISION_RANGE.length-1]){text=value.toExponential(2).toString();}else{var floatPrecision=this.GetFloatPrecision(absValue,this.FloatPrecision);//数据比小数位数还小, 调整小数位数
|
|
5643
|
-
text=IFrameSplitOperator.
|
|
5643
|
+
text=IFrameSplitOperator.FormatValueStringV2(value,floatPrecision,2,this.LanguageID);}}return text;};this.FilterIgnoreYValue=function(){if(!this.IgnoreYValue||this.IgnoreYValue.length<=0)return;var setValue=new _set2.default(this.IgnoreYValue);this.Frame.HorizontalInfo=this.Frame.HorizontalInfo.filter(function(item){return!setValue.has(item.Value);});};this.DynamicMessageText=function(){if(this.SplitType==2){for(var i=0;i<this.Frame.HorizontalInfo.length;++i){var item=this.Frame.HorizontalInfo[i];if(item.Message[0])item.Message[0]+='%';if(item.Message[1])item.Message[1]+='%';}}};this.CallAcutionSplitYV2=function(splitData,aryHorizontalInfo){if(!this.IsCallAuctionFrame())return;if(!IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))return;var aryCallAcution=this.GetCallAcutionSplitYV2(splitData,aryHorizontalInfo);if(!aryCallAcution)return;for(var i=0;i<this.Frame.HorizontalInfo.length;++i)//把显示的数据迁移到 Message[2] Message[3]
|
|
5644
5644
|
{var item=this.Frame.HorizontalInfo[i];if(aryCallAcution.IsBeforeData){item.Message[2]=item.Message[0];item.Message[0]=null;}if(aryCallAcution.IsAfterData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){item.Message[3]=item.Message[1];item.Message[1]=null;}}//集合竞价的坐标插入最后
|
|
5645
5645
|
for(var i=0;i<aryCallAcution.HorizontalInfo.length;++i){var item=aryCallAcution.HorizontalInfo[i];this.Frame.HorizontalInfo.push(item);}};this.GetCallAcutionSplitYV2=function(splitData,arySource){if(!this.IsCallAuctionFrame())return null;var bBeforeData=this.IsBeforeData==true&&this.BeforeOpenData&&(this.BeforeOpenData.Ver==2.0||this.BeforeOpenData.Ver==3.0);var bAfterData=this.IsAfterData==true&&this.AfterCloseData&&(this.AfterCloseData.Ver==2.0||this.AfterCloseData.Ver==3.0);var bottom=this.Frame.ChartBorder.GetBottomEx();var height=this.Frame.ChartBorder.GetHeightEx();var bHScreen=this.Frame.IsHScreen;if(this.Frame.IsHScreen){var border=this.Frame.GetBorder();var width=border.RightEx-border.LeftEx;}if(bBeforeData||bAfterData){var aryHorizontalInfo=[];for(var i=0;i<arySource.length;++i){var hItem=arySource[i];if(!hItem||!IFrameSplitOperator.IsNumber(hItem.Value))continue;var y=this.Frame.GetYFromData(hItem.Value);var item=new CoordinateInfo();item.Value=hItem.Value;item.LineType=8;if(bBeforeData){if(bHScreen){var value=(y-border.LeftEx)/width*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;}else{var value=(bottom-y)/height*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;}item.Message[0]=this.FormatValueString(value);}if(bAfterData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){if(bHScreen){var value=(y-border.LeftEx)/width*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;}else{var value=(bottom-y)/height*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;}item.Message[1]=this.FormatValueString(value);}aryHorizontalInfo.push(item);}return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:bBeforeData,IsAfterData:bAfterData};}var bMultiDayBeforeData=false,bMultiDayAfterData=false;var beforeDayData=null,afterDayData=null;if(this.MultiDayBeforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){bMultiDayBeforeData=true;var firstDayData=this.MultiDayBeforeOpenData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0)beforeDayData=firstDayData;}if(this.MultiDayAfterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){bMultiDayAfterData=true;var firstDayData=this.MultiDayAfterCloseData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0)afterDayData=firstDayData;}if(bMultiDayBeforeData||bMultiDayAfterData){var aryHorizontalInfo=[];for(var i=0;i<arySource.length;++i){var hItem=arySource[i];if(!hItem||!IFrameSplitOperator.IsNumber(hItem.Value))continue;var y=this.Frame.GetYFromData(hItem.Value);var item=new CoordinateInfo();item.Value=hItem.Value;item.LineType=9;var isVaild=false;if(beforeDayData){if(bHScreen){var value=(y-border.LeftEx)/width*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;}else{var value=(bottom-y)/height*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;}item.Message[0]=this.FormatValueString(value);isVaild=true;}if(afterDayData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){if(bHScreen){var value=(y-border.LeftEx)/width*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;}else{var value=(bottom-y)/height*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;}item.Message[1]=this.FormatValueString(value);isVaild=true;}if(isVaild)aryHorizontalInfo.push(item);}if(IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:bMultiDayBeforeData,IsAfterData:bMultiDayAfterData};}return null;};/* 废弃 使用 CallAcutionSplitYV2
|
|
5646
5646
|
this.CallAcutionSplitY=function(count,splitData)
|
|
@@ -8705,12 +8705,16 @@ event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSC
|
|
|
8705
8705
|
this.ChartOperator=function(obj){var id=obj.ID;if(id===JSCHART_OPERATOR_ID.OP_SCROLL_LEFT||id===JSCHART_OPERATOR_ID.OP_SCROLL_RIGHT)//左右移动 { Step:移动天数 }
|
|
8706
8706
|
{if(this.DayCount==1)return false;if(!this.PageInfo.Enable)return false;if(!this.DayData)return false;//数据还没有下载好
|
|
8707
8707
|
var isLeft=id===JSCHART_OPERATOR_ID.OP_SCROLL_LEFT?true:false;var step=1;if(obj.Step>0)step=obj.Step;if(!this.DayOffset)return false;if(isLeft){var offset=this.DayOffset.Offset;offset+=step;if(offset+this.DayOffset.ShowDayCount>this.DayOffset.DayCount)offset=this.DayOffset.DayCount-this.DayOffset.ShowDayCount;if(offset==this.DayOffset.Offset)return false;this.DayOffset.Offset=offset;}else{var offset=this.DayOffset.Offset;offset-=step;if(offset<0)offset=0;if(offset==this.DayOffset.Offset)return false;this.DayOffset.Offset=offset;}this.UpdateHistoryMinuteUI(null);this.SendPageChangedEvent();return true;}else if(id==JSCHART_OPERATOR_ID.OP_SCROLL_GOTO){if(this.DayCount==1)return false;if(!this.PageInfo.Enable)return false;if(!this.DayData)return false;//数据还没有下载好
|
|
8708
|
-
if(IFrameSplitOperator.IsNumber(obj.ShowDayCount)){this.PageInfo.ShowDayCount=obj.ShowDayCount;this.DayOffset.ShowDayCount=obj.ShowDayCount;}if(IFrameSplitOperator.IsNumber(obj.Offset)){var offset=obj.Offset;if(this.DayOffset.ShowDayCount>0&&offset+this.DayOffset.ShowDayCount>=this.DayOffset.DayCount)offset=this.DayOffset.DayCount-this.DayOffset.ShowDayCount;if(offset==this.DayOffset.Offset)return false;this.DayOffset.Offset=offset;}this.UpdateHistoryMinuteUI(null);this.SendPageChangedEvent();return true;}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO)//{ Type:1 如果不存在
|
|
8709
|
-
{
|
|
8710
|
-
|
|
8711
|
-
var
|
|
8708
|
+
if(IFrameSplitOperator.IsNumber(obj.ShowDayCount)){this.PageInfo.ShowDayCount=obj.ShowDayCount;this.DayOffset.ShowDayCount=obj.ShowDayCount;}if(IFrameSplitOperator.IsNumber(obj.Offset)){var offset=obj.Offset;if(this.DayOffset.ShowDayCount>0&&offset+this.DayOffset.ShowDayCount>=this.DayOffset.DayCount)offset=this.DayOffset.DayCount-this.DayOffset.ShowDayCount;if(offset==this.DayOffset.Offset)return false;this.DayOffset.Offset=offset;}this.UpdateHistoryMinuteUI(null);this.SendPageChangedEvent();return true;}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO)//{ Type:1 如果不存在 就隐藏十字光标, Time:, Date:-1=忽略日期 }
|
|
8709
|
+
{var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;//数据还没有到达
|
|
8710
|
+
if(!IFrameSplitOperator.IsNumber(obj.Time)||!IFrameSplitOperator.IsNumber(obj.Date))return false;var findIndex=-1,findItem=null;for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(!IFrameSplitOperator.IsNumber(item.Close))continue;var bFind=false;if(obj.Date==-1&&item.Time==obj.Time)bFind=true;else if(item.Time==obj.Time&&item.Date==obj.Date)bFind=true;if(bFind){findIndex=i;findItem=item;break;}}this.ChartOperator_Temp_SetChartCorssCursor(findIndex,findItem);return true;}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START)//当前屏第1条数据
|
|
8711
|
+
{var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;//数据还没有到达
|
|
8712
|
+
var startIndex=kData.DataOffset;var kItem=kData.Data[startIndex];this.ChartOperator_Temp_SetChartCorssCursor(0,kItem);return true;}else if(id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END)//当前屏最后1条数据
|
|
8713
|
+
{var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;//数据还没有到达
|
|
8714
|
+
var index=kData.Data.length-1;var kItem=kData.Data[index];this.ChartOperator_Temp_SetChartCorssCursor(index,kItem);return true;}};//index=-1 隐藏十字光标
|
|
8715
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index,kItem){if(!this.Frame||!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;var x=-1,y=-1;if(IFrameSplitOperator.IsNumber(index)&&index>=0)x=frame.GetXFromIndex(index);if(kItem&&IFrameSplitOperator.IsNumber(kItem.Close))y=frame.GetYFromData(kItem.Close);//保存最后一次鼠标移动信息
|
|
8712
8716
|
var MoveStatus={X:x,Y:y,IsInClient:this.IsMouseOnClient(x,y)};this.LastMouseStatus.OnMouseMove=MoveStatus;this.LastMouseStatus.MoveOnPoint={X:x,Y:y};//鼠标移动的位置
|
|
8713
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=this.TitlePaint[0];if(event&&titleChart)titleChart.OnMouseMoveEvent=event;this.MoveOnPoint={X:x,Y:y};this.OnMouseMove(x,y,{});this.LastMouseStatus.MoveOnPoint=null;if(titleChart)titleChart.OnMouseMoveEvent=null;}
|
|
8717
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=this.TitlePaint[0];if(event&&titleChart)titleChart.OnMouseMoveEvent=event;this.MoveOnPoint={X:x,Y:y};this.OnMouseMove(x,y,{});this.LastMouseStatus.MoveOnPoint=null;if(titleChart)titleChart.OnMouseMoveEvent=null;return true;};this.SendPageChangedEvent=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MINUTE_PAGE_CHANGED);//选中画图工具事件
|
|
8714
8718
|
if(!event||!event.Callback)return;var sendData={DayOffset:this.DayOffset,DayData:this.DayData};event.Callback(event,sendData,this);};this.IsMouseOnClient=function(x,y){var border=this.Frame.IsHScreen?this.Frame.ChartBorder.GetHScreenBorder():this.Frame.ChartBorder.GetBorder();var rect={Left:border.Left,Top:border.Top,Right:border.Right,Bottom:border.Bottom};if(x>=rect.Left&&x<=rect.Right&&y>=rect.Top&&y<=rect.Bottom)return true;return false;};this.GetChartMinuteBuySellBar=function(){var chart=this.ChartPaint[3];if(!chart)return null;if(chart.Name!="Minute-BuySell-Bar")return null;return chart;};this.IsShowMinuteBuySellBar=function(){var chart=this.GetChartMinuteBuySellBar();if(!chart)return false;return chart.IsShow;};//左右拖拽
|
|
8715
8719
|
this.OnDragMode_One=function(moveData,e){var drag=this.MouseDrag;var moveSetp=moveData.X;var yMoveSetp=moveData.Y;var bNeedDraw=true;if(this.UpDownDrag&&this.UpDownDrag.Index>=0){if(yMoveSetp>=5){var yMove=e.clientY-drag.LastMove.Y;JSConsole.Chart.Log("[MinuteChartContainer::OnDragMode_One] UpDownDrag ",this.UpDownDrag,yMove);//this.UIElement.style.cursor="pointer";
|
|
8716
8720
|
this.SetCursor({Cursor:"pointer"});if(this.OnUpDonwFrameY(this.UpDownDrag,yMove)){drag.LastMove.Y=e.clientY;bNeedDraw=true;}}}else if(this.RectSelectDrag&&this.RectSelectDrag.Index>=0)//区间选择 左右调整
|
|
@@ -8828,11 +8832,17 @@ if(this.SelectChartDrawPicture){var drawPicture=this.SelectChartDrawPicture;JSCo
|
|
|
8828
8832
|
this.OnMarkRectSelect(e);break;case 33://page up
|
|
8829
8833
|
if(this.PageInfo.Enable){var option={ID:JSCHART_OPERATOR_ID.OP_SCROLL_LEFT,Step:this.PageInfo.ShowDayCount};this.ChartOperator(option);}break;case 34://page down
|
|
8830
8834
|
if(this.PageInfo.Enable){var option={ID:JSCHART_OPERATOR_ID.OP_SCROLL_RIGHT,Step:this.PageInfo.ShowDayCount};this.ChartOperator(option);}break;case 27:if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status!=20)//画布移动的时候不能取消
|
|
8831
|
-
this.CurrentChartDrawPicture=null;}break;case 38
|
|
8835
|
+
this.CurrentChartDrawPicture=null;}break;case 38://up
|
|
8836
|
+
case 40://down
|
|
8837
|
+
if((e.ctrlKey||e.shiftKey)&&this.OnCustomKeyDown)this.OnCustomKeyDown(keyID,e);break;case 35://END
|
|
8838
|
+
case 36://HOME
|
|
8839
|
+
if(this.OnCustomKeyDown)this.OnCustomKeyDown(keyID,e);break;default:return;}if(draw)this.DrawDynamicInfo();//不让滚动条滚动
|
|
8832
8840
|
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnCustomKeyDown=function(keyID,e)//自定义键盘事件
|
|
8833
8841
|
{if(keyID==38&&e.shiftKey)//shift+up 上移十字光标
|
|
8834
8842
|
{this.MoveCorssCursorUp(this.ShiftUpDownStepPixel);return true;}else if(keyID==40&&e.shiftKey)//shift+down 下移十字光标
|
|
8835
|
-
{this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);return true;}else
|
|
8843
|
+
{this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);return true;}else if(keyID==36)//HOME 第1条
|
|
8844
|
+
{var option={ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START};return this.ChartOperator(option);}else if(keyID==35)//END 最后一条
|
|
8845
|
+
{var option={ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END};return this.ChartOperator(option);}else{return false;}};/*
|
|
8836
8846
|
this.OnMarkRectSelect=function(e)
|
|
8837
8847
|
{
|
|
8838
8848
|
var corssCursor=this.ChartCorssCursor; //十字光标
|
|
@@ -13824,7 +13834,7 @@ switch(column.ColorType){case 1:drawInfo.TextColor=this.GetUpDownColor(value,0);
|
|
|
13824
13834
|
{this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.GetCustomCheckBoxDrawInfo=function(data,column,drawInfo){var checkData=this.GetExtendData(data,column);if(!checkData)return;if(!IFrameSplitOperator.IsBool(checkData.Checked))return;drawInfo.Checked=checkData.Checked;drawInfo.Enable=true;drawInfo.Data=checkData;if(IFrameSplitOperator.IsBool(checkData.DisableCheckBox))drawInfo.Enable=!checkData.DisableCheckBox;drawInfo.CheckBox=column.CheckBox;};this.GetCustomButtonDrawInfo=function(data,column,drawInfo){var buttonData=this.GetExtendData(data,column);if(!buttonData)return;drawInfo.Text=buttonData.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=buttonData;if(IFrameSplitOperator.IsBool(buttonData.Enable))drawInfo.Enable=buttonData.Enable;};this.GetCustomProgressBarDrawInfo=function(data,column,drawInfo){var barData=this.GetExtendData(data,column);if(!barData)return;drawInfo.Text=barData.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=barData.Value;//占比
|
|
13825
13835
|
drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Enable=barData.Enable;if(barData.TextColor)drawInfo.TextColor=barData.TextColor;if(barData.BarColor)drawInfo.BarColor=barData.BarColor;if(barData.BGColor)drawInfo.BGColor=barData.BGColor;};this.GetCustomLinkDrawInfo=function(data,column,drawInfo){var linkData=this.GetExtendData(data,column);if(!linkData)return;drawInfo.Text=linkData.Title;drawInfo.Link=column.Link;drawInfo.Enable=true;drawInfo.Data=linkData;drawInfo.MaxText=column.MaxText;if(IFrameSplitOperator.IsBool(linkData.Enable))drawInfo.Enable=linkData.Enable;if(linkData.TextColor)drawInfo.TextColor=linkData.TextColor;};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}else if(column.ColorType==3){drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
|
|
13826
13836
|
text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
|
|
13827
|
-
text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;if(item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:4,Data:{AryText:item.Tooltip.AryText}};}}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;if(item.DateTime)drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
|
|
13837
|
+
text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;if(item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:4,Data:{AryText:item.Tooltip.AryText,Callback:item.Tooltip.Callback}};}}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;if(item.DateTime)drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
|
|
13828
13838
|
drawInfo.Data={Value:item};}else if(IFrameSplitOperator.IsObject(item)){if(item.Title)drawInfo.Text=item.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item.Value;//占比
|
|
13829
13839
|
drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BarColor)drawInfo.BarColor=item.BarColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}};this.FormatReserveButton=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!item)return;drawInfo.Text=item.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
|
|
13830
13840
|
{drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
|
|
@@ -13878,7 +13888,7 @@ this.Canvas.fillStyle=this.DragRowColor;this.Canvas.fillRect(left,textTop,rowWid
|
|
|
13878
13888
|
var chartRight=this.RectClient.Right;this.Canvas.font=this.ItemFont;for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);left+=item.Width;if(left>=chartRight)break;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];this.DrawItem(dataIndex,data,item,left,top,3);left+=item.Width;if(left>=chartRight)break;}};this.DrawDragHeader=function(){if(!this.DragHeader)return;var drag=this.DragHeader;var clickData=drag.ClickData;var rtHeader=clickData.Header.Rect;var headerWidth=rtHeader.Right-rtHeader.Left;var rtRow={Left:drag.MovePoint.X-headerWidth/2,Top:this.RectClient.Top+this.HeaderHeight,Width:headerWidth};rtRow.Bottom=rtRow.Top+this.HeaderHeight+this.RowHeight*this.RowCount+this.FixedRowHeight*this.FixedRowCount;rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Height=rtRow.Bottom-rtRow.Top;//背景
|
|
13879
13889
|
this.Canvas.fillStyle=this.DragRowColor;this.Canvas.fillRect(rtRow.Left,rtRow.Top,rtRow.Width,rtRow.Height);//文字
|
|
13880
13890
|
var cellHeader={Left:rtRow.Left,Top:rtRow.Top,Right:rtRow.Right,Width:rtRow.Width,Height:this.HeaderHeight};cellHeader.Bottom=cellHeader.Top+cellHeader.Height;this.DrawHeaderItem(clickData.Header.Column,cellHeader,clickData.Header.Index,{HeaderColor:this.DragRowTextColor});var textTop=cellHeader.Bottom+this.FixedRowHeight*this.FixedRowCount;this.Canvas.font=this.ItemFont;var dataCount=this.GetAllRowCount();for(var i=this.Data.YOffset,j=0;i<dataCount&&j<this.RowCount;++i,++j){var symbol=this.Data.Data[i];var data={Symbol:symbol,Stock:null,Block:null};if(this.GetStockDataCallback)data.Stock=this.GetStockDataCallback(symbol);if(this.GetBlockDataCallback)data.Block=this.GetBlockDataCallback(symbol);if(this.GetFlashBGDataCallback)data.FlashBG=this.GetFlashBGDataCallback(symbol,Date.now());data.Decimal=GetfloatPrecision(symbol);//小数位数
|
|
13881
|
-
var item=this.Column[clickData.Header.Index];this.DrawItem(i,data,item,cellHeader.Left,textTop,3);textTop+=this.RowHeight;}};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data};}}return null;};this.GetButtonData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.ButtonRect))return null;for(var i=0;i<this.ButtonRect.length;++i){var item=this.ButtonRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data,ColumnIndex:item.ColumnIndex};}}};this.PtInHeaderDragBorder=function(x,y){if(!this.IsShowHeader)return null;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(!(x>=left&&x<=right&&y>=top&&y<=bottom))return null;var textLeft=left;var dragBarWidth=5*GetDevicePixelRatio();//固定列
|
|
13891
|
+
var item=this.Column[clickData.Header.Index];this.DrawItem(i,data,item,cellHeader.Left,textTop,3);textTop+=this.RowHeight;}};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data,Callback:item.Callback};}}return null;};this.GetButtonData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.ButtonRect))return null;for(var i=0;i<this.ButtonRect.length;++i){var item=this.ButtonRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Stock:item.Stock,Column:item.Column,Index:item.Index,Type:item.Type,Data:item.Data,ColumnIndex:item.ColumnIndex};}}};this.PtInHeaderDragBorder=function(x,y){if(!this.IsShowHeader)return null;var left=this.RectClient.Left;var right=this.RectClient.Right;var top=this.RectClient.Top;var bottom=top+this.HeaderHeight;if(!(x>=left&&x<=right&&y>=top&&y<=bottom))return null;var textLeft=left;var dragBarWidth=5*GetDevicePixelRatio();//固定列
|
|
13882
13892
|
for(var i=0;i<this.FixedColumn&&i<this.Column.length;++i){var item=this.Column[i];if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:true};}}textLeft+=item.Width;}for(var i=this.FixedColumn+this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];if(textLeft>=right)break;if(item.EnableDragWidth===true){var header={Right:textLeft+item.Width,Top:top,Bottom:bottom};header.Left=header.Right-dragBarWidth;if(x>=header.Left&&x<=header.Right&&y>=header.Top&&y<=header.Bottom){return{Rect:header,Column:item,Index:i,IsFixed:false};}}textLeft+=item.Width;}return null;};//设置选中行 option={ Symbol:, AutoYScroll:true/false Y滚动条自定定位 }
|
|
13883
13893
|
this.SetSelectedRow=function(option){if(!option)return false;if(this.SelectedModel===0)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;if(option.Symbol){var symbol=option.Symbol;var bFinder=false;if(this.SelectedRowData){var item=this.Data.Data[this.SelectedRowData.DataIndex];if(symbol==item&&symbol==this.SelectedRowData.Symbol)bFinder=true;}if(!bFinder){for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(symbol==item){this.SelectedRowData={DataIndex:i,Symbol:item};bFinder=true;break;}}}if(!bFinder)return false;if(option.AutoYScroll===true){this.UpdatePageYOffset({SelectedRow:this.SelectedRowData.DataIndex});}return bFinder;}return false;};this.UpdatePageYOffset=function(option){if(!option)return;var selectedRow=option.SelectedRow;if(selectedRow<0)return;var pageStatus=this.GetCurrentPageStatus();if(pageStatus.IsSinglePage)return;if(selectedRow>=pageStatus.Start&&selectedRow<=pageStatus.End)return;this.Data.YOffset=selectedRow;//选中行不在当前屏 设置为第1行
|
|
13884
13894
|
};}//报价列表底部tab和横向滚动条
|
|
@@ -15047,7 +15057,7 @@ this.UpdateMinuteInfoTooltip=function(data){var tooltipData=data.Tooltip;if(!too
|
|
|
15047
15057
|
this.UpdatMultiSVGIconV2Tooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item)return;var item=tooltipData.Data.Item;var aryText=[];if(item&&IFrameSplitOperator.IsObject(item.Text)){var tooltipData=item.Text;if(IFrameSplitOperator.IsNonEmptyArray(tooltipData.AryText)){for(var i=0;i<tooltipData.AryText.length;++i){var tooltipItem=tooltipData.AryText[i];var textItem={Title:tooltipItem.Title,Text:tooltipItem.Text,Color:this.ValueColor};if(tooltipItem.Color)textItem.Color=tooltipItem.Color;if(tooltipItem.Align=="Left")tooltipItem.ClassName=this.ValueAlign.Left;aryText.push(tooltipItem);}}}else{var rowItem={Text:"",HTMLTitle:item.Text,Color:this.ValueColor,IsMergeCell:true};aryText.push(rowItem);}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//ChartOX 信息
|
|
15048
15058
|
this.UpdatChartOXTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Data)return;var item=tooltipData.Data.Data;var period=this.HQChart.Period;var aryText=[];if(ChartData.IsDayPeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");aryText.push({Title:"起始时间",Text:strStartDate,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate,Color:this.ValueColor});}else if(ChartData.IsMinutePeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");aryText.push({Title:"起始时间",Text:strStartDate+' '+strStartTime,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate+' '+strEndTime,Color:this.ValueColor});}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表头图标
|
|
15049
15059
|
this.ReportHeaderIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};//单元格提示信息
|
|
15050
|
-
this.ReportCellTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表格单元格截断内容
|
|
15060
|
+
this.ReportCellTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;if(tooltipData.Data.Callback){var callback=tooltipData.Data.Callback;var sendData={AryText:null,data:data,PreventDefault:false};callback(sendData,this);if(sendData.PreventDefault){if(!IFrameSplitOperator.IsNonEmptyArray(sendData.AryText))return;this.AryText=sendData.AryText;}}this.UpdateTableDOM();this.ShowTooltip(data);};//表格单元格截断内容
|
|
15051
15061
|
this.ReportCellTruncateTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;var item=tooltipData.Data.AryText[0];if(!item.Text)return;this.AryText=[{Title:item.Text,IsMergeCell:true}];this.UpdateTableDOM();this.ShowTooltip(data);};this.TReportIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.DealItemTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];if(outItem.HTMLTitle)item.TitleSpan.innerHTML=outItem.HTMLTitle;else item.TitleSpan.innerText=outItem.Title;if(outItem.TitleColor)item.TitleSpan.style.color=outItem.TitleColor;else item.TitleSpan.style.color=this.TextColor;if(outItem.HTMLText)item.TextSpan.innerHTML=outItem.HTMLText;else item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.TextTd.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}if(outItem.TitleClassName){item.TitleSpan.className=outItem.TitleClassName;}else{if(item.TitleSpan.className!=this.TitleAlign.Default)item.TitleSpan.className=this.TitleAlign.Default;}if(outItem.IsMergeCell)//合并单元格
|
|
15052
15062
|
{item.TitleTd.colspan=2;item.TextTd.style.display="none";}else{if(item.TitleTd.colspan!=1)item.TitleTd.colspan=1;item.TextTd.style.display="";}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="none";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.GetFormatKLineTooltipText=function(kItem){var data=kItem.Item;var symbol=kItem.Symbol;if(data&&data.Symbol)symbol=symbol;var upperSymbol="";if(symbol)upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
15053
15063
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);//日期
|
|
@@ -15200,7 +15210,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15200
15210
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
15201
15211
|
* 版本信息输出
|
|
15202
15212
|
*
|
|
15203
|
-
*/var HQCHART_VERSION="1.1.
|
|
15213
|
+
*/var HQCHART_VERSION="1.1.14936";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();//把给外界调用的方法暴露出来
|
|
15204
15214
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15205
15215
|
// BaseIndex:BaseIndex,
|
|
15206
15216
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -1658,8 +1658,20 @@ function JSFloatTooltip()
|
|
|
1658
1658
|
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
1659
1659
|
|
|
1660
1660
|
this.AryText=tooltipData.Data.AryText;
|
|
1661
|
-
this.UpdateTableDOM();
|
|
1662
1661
|
|
|
1662
|
+
if (tooltipData.Data.Callback)
|
|
1663
|
+
{
|
|
1664
|
+
var callback=tooltipData.Data.Callback;
|
|
1665
|
+
var sendData={ AryText:null, data, PreventDefault:false };
|
|
1666
|
+
callback(sendData, this);
|
|
1667
|
+
if (sendData.PreventDefault)
|
|
1668
|
+
{
|
|
1669
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(sendData.AryText)) return;
|
|
1670
|
+
this.AryText=sendData.AryText;
|
|
1671
|
+
}
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
this.UpdateTableDOM();
|
|
1663
1675
|
this.ShowTooltip(data);
|
|
1664
1676
|
}
|
|
1665
1677
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -55443,7 +55443,7 @@ function FrameSplitY()
|
|
|
55443
55443
|
else
|
|
55444
55444
|
{
|
|
55445
55445
|
var floatPrecision=this.GetFloatPrecision(absValue,this.FloatPrecision); //数据比小数位数还小, 调整小数位数
|
|
55446
|
-
text = IFrameSplitOperator.
|
|
55446
|
+
text = IFrameSplitOperator.FormatValueStringV2(value, floatPrecision,2, this.LanguageID);
|
|
55447
55447
|
}
|
|
55448
55448
|
}
|
|
55449
55449
|
|
|
@@ -88862,84 +88862,84 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88862
88862
|
this.SendPageChangedEvent();
|
|
88863
88863
|
return true;
|
|
88864
88864
|
}
|
|
88865
|
-
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在
|
|
88865
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在 就隐藏十字光标, Time:, Date:-1=忽略日期 }
|
|
88866
88866
|
{
|
|
88867
|
-
|
|
88868
|
-
if (!
|
|
88869
|
-
|
|
88870
|
-
|
|
88871
|
-
|
|
88867
|
+
var kData=this.GetKData();
|
|
88868
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
88869
|
+
if (!IFrameSplitOperator.IsNumber(obj.Time) || !IFrameSplitOperator.IsNumber(obj.Date)) return false;
|
|
88870
|
+
var findIndex=-1, findItem=null;
|
|
88871
|
+
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
88872
88872
|
{
|
|
88873
|
-
var
|
|
88874
|
-
|
|
88875
|
-
{
|
|
88876
|
-
var item=this.SourceData.Data[i];
|
|
88877
|
-
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
88878
|
-
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
88879
|
-
{
|
|
88880
|
-
findIndex=i;
|
|
88881
|
-
value=item.Close;
|
|
88882
|
-
break;
|
|
88883
|
-
}
|
|
88884
|
-
}
|
|
88873
|
+
var item=this.SourceData.Data[i];
|
|
88874
|
+
if (!IFrameSplitOperator.IsNumber(item.Close)) continue;
|
|
88885
88875
|
|
|
88886
|
-
|
|
88887
|
-
|
|
88888
|
-
|
|
88889
|
-
|
|
88890
|
-
|
|
88891
|
-
if (timeData[i]==obj.Time)
|
|
88892
|
-
{
|
|
88893
|
-
findIndex=i;
|
|
88894
|
-
value=lastPrice;
|
|
88895
|
-
break;
|
|
88896
|
-
}
|
|
88897
|
-
}
|
|
88898
|
-
}
|
|
88876
|
+
var bFind=false;
|
|
88877
|
+
if (obj.Date==-1 && item.Time==obj.Time)
|
|
88878
|
+
bFind=true;
|
|
88879
|
+
else if (item.Time==obj.Time && item.Date==obj.Date)
|
|
88880
|
+
bFind=true;
|
|
88899
88881
|
|
|
88900
|
-
if (
|
|
88882
|
+
if (bFind)
|
|
88901
88883
|
{
|
|
88902
|
-
|
|
88903
|
-
|
|
88904
|
-
|
|
88905
|
-
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
88906
|
-
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
88907
|
-
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
88908
|
-
|
|
88909
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
88910
|
-
var titleChart=this.TitlePaint[0];
|
|
88911
|
-
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
88912
|
-
|
|
88913
|
-
var e={clientX:x, clientY:y};
|
|
88914
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
88915
|
-
this.OnMouseMove(x,y,e);
|
|
88916
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
88917
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
88918
|
-
}
|
|
88919
|
-
|
|
88920
|
-
return;
|
|
88884
|
+
findIndex=i;
|
|
88885
|
+
findItem=item;
|
|
88886
|
+
break;
|
|
88921
88887
|
}
|
|
88922
88888
|
}
|
|
88923
88889
|
|
|
88924
|
-
|
|
88925
|
-
|
|
88926
|
-
|
|
88927
|
-
|
|
88928
|
-
|
|
88929
|
-
this.
|
|
88930
|
-
|
|
88890
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
88891
|
+
return true;
|
|
88892
|
+
}
|
|
88893
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
88894
|
+
{
|
|
88895
|
+
var kData=this.GetKData();
|
|
88896
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
88931
88897
|
|
|
88932
|
-
var
|
|
88933
|
-
var
|
|
88934
|
-
|
|
88935
|
-
|
|
88936
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
88937
|
-
this.OnMouseMove(x,y,{});
|
|
88938
|
-
|
|
88939
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
88940
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
88898
|
+
var startIndex=kData.DataOffset;
|
|
88899
|
+
var kItem=kData.Data[startIndex];
|
|
88900
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
88901
|
+
return true;
|
|
88941
88902
|
|
|
88942
88903
|
}
|
|
88904
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
88905
|
+
{
|
|
88906
|
+
var kData=this.GetKData();
|
|
88907
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
88908
|
+
|
|
88909
|
+
var index=kData.Data.length-1;
|
|
88910
|
+
var kItem=kData.Data[index];
|
|
88911
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
88912
|
+
return true;
|
|
88913
|
+
}
|
|
88914
|
+
|
|
88915
|
+
}
|
|
88916
|
+
|
|
88917
|
+
//index=-1 隐藏十字光标
|
|
88918
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
88919
|
+
{
|
|
88920
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
88921
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
88922
|
+
|
|
88923
|
+
var x=-1,y=-1;
|
|
88924
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
88925
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
88926
|
+
|
|
88927
|
+
//保存最后一次鼠标移动信息
|
|
88928
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
88929
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
88930
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
88931
|
+
|
|
88932
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
88933
|
+
var titleChart=this.TitlePaint[0];
|
|
88934
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
88935
|
+
|
|
88936
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
88937
|
+
this.OnMouseMove(x,y,{});
|
|
88938
|
+
|
|
88939
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
88940
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
88941
|
+
|
|
88942
|
+
return true;
|
|
88943
88943
|
}
|
|
88944
88944
|
|
|
88945
88945
|
this.SendPageChangedEvent=function()
|
|
@@ -90295,11 +90295,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90295
90295
|
this.CurrentChartDrawPicture=null;
|
|
90296
90296
|
}
|
|
90297
90297
|
break;
|
|
90298
|
-
case 38:
|
|
90299
|
-
case 40:
|
|
90298
|
+
case 38: //up
|
|
90299
|
+
case 40: //down
|
|
90300
90300
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
90301
90301
|
this.OnCustomKeyDown(keyID, e)
|
|
90302
90302
|
break;
|
|
90303
|
+
case 35: //END
|
|
90304
|
+
case 36: //HOME
|
|
90305
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
90306
|
+
break;
|
|
90303
90307
|
default:
|
|
90304
90308
|
return;
|
|
90305
90309
|
}
|
|
@@ -90323,6 +90327,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90323
90327
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
90324
90328
|
return true;
|
|
90325
90329
|
}
|
|
90330
|
+
else if (keyID==36) //HOME 第1条
|
|
90331
|
+
{
|
|
90332
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
90333
|
+
return this.ChartOperator(option);
|
|
90334
|
+
}
|
|
90335
|
+
else if (keyID==35) //END 最后一条
|
|
90336
|
+
{
|
|
90337
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
90338
|
+
return this.ChartOperator(option);
|
|
90339
|
+
}
|
|
90326
90340
|
else
|
|
90327
90341
|
{
|
|
90328
90342
|
return false;
|
|
@@ -7573,8 +7573,8 @@ function ChartReport()
|
|
|
7573
7573
|
drawInfo.Tooltip=
|
|
7574
7574
|
{
|
|
7575
7575
|
Type:4,
|
|
7576
|
-
Data:{ AryText:item.Tooltip.AryText }
|
|
7577
|
-
}
|
|
7576
|
+
Data:{ AryText:item.Tooltip.AryText , Callback:item.Tooltip.Callback },
|
|
7577
|
+
};
|
|
7578
7578
|
}
|
|
7579
7579
|
}
|
|
7580
7580
|
else if (IFrameSplitOperator.IsString(item))
|
|
@@ -9202,7 +9202,7 @@ function ChartReport()
|
|
|
9202
9202
|
|
|
9203
9203
|
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
9204
9204
|
{
|
|
9205
|
-
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
9205
|
+
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data, Callback:item.Callback };
|
|
9206
9206
|
}
|
|
9207
9207
|
}
|
|
9208
9208
|
|
|
@@ -59539,7 +59539,7 @@ function FrameSplitY()
|
|
|
59539
59539
|
else
|
|
59540
59540
|
{
|
|
59541
59541
|
var floatPrecision=this.GetFloatPrecision(absValue,this.FloatPrecision); //数据比小数位数还小, 调整小数位数
|
|
59542
|
-
text = IFrameSplitOperator.
|
|
59542
|
+
text = IFrameSplitOperator.FormatValueStringV2(value, floatPrecision,2, this.LanguageID);
|
|
59543
59543
|
}
|
|
59544
59544
|
}
|
|
59545
59545
|
|
|
@@ -92958,84 +92958,84 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92958
92958
|
this.SendPageChangedEvent();
|
|
92959
92959
|
return true;
|
|
92960
92960
|
}
|
|
92961
|
-
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在
|
|
92961
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在 就隐藏十字光标, Time:, Date:-1=忽略日期 }
|
|
92962
92962
|
{
|
|
92963
|
-
|
|
92964
|
-
if (!
|
|
92965
|
-
|
|
92966
|
-
|
|
92967
|
-
|
|
92963
|
+
var kData=this.GetKData();
|
|
92964
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
92965
|
+
if (!IFrameSplitOperator.IsNumber(obj.Time) || !IFrameSplitOperator.IsNumber(obj.Date)) return false;
|
|
92966
|
+
var findIndex=-1, findItem=null;
|
|
92967
|
+
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
92968
92968
|
{
|
|
92969
|
-
var
|
|
92970
|
-
|
|
92971
|
-
{
|
|
92972
|
-
var item=this.SourceData.Data[i];
|
|
92973
|
-
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
92974
|
-
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
92975
|
-
{
|
|
92976
|
-
findIndex=i;
|
|
92977
|
-
value=item.Close;
|
|
92978
|
-
break;
|
|
92979
|
-
}
|
|
92980
|
-
}
|
|
92969
|
+
var item=this.SourceData.Data[i];
|
|
92970
|
+
if (!IFrameSplitOperator.IsNumber(item.Close)) continue;
|
|
92981
92971
|
|
|
92982
|
-
|
|
92983
|
-
|
|
92984
|
-
|
|
92985
|
-
|
|
92986
|
-
|
|
92987
|
-
if (timeData[i]==obj.Time)
|
|
92988
|
-
{
|
|
92989
|
-
findIndex=i;
|
|
92990
|
-
value=lastPrice;
|
|
92991
|
-
break;
|
|
92992
|
-
}
|
|
92993
|
-
}
|
|
92994
|
-
}
|
|
92972
|
+
var bFind=false;
|
|
92973
|
+
if (obj.Date==-1 && item.Time==obj.Time)
|
|
92974
|
+
bFind=true;
|
|
92975
|
+
else if (item.Time==obj.Time && item.Date==obj.Date)
|
|
92976
|
+
bFind=true;
|
|
92995
92977
|
|
|
92996
|
-
if (
|
|
92978
|
+
if (bFind)
|
|
92997
92979
|
{
|
|
92998
|
-
|
|
92999
|
-
|
|
93000
|
-
|
|
93001
|
-
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93002
|
-
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93003
|
-
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93004
|
-
|
|
93005
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93006
|
-
var titleChart=this.TitlePaint[0];
|
|
93007
|
-
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93008
|
-
|
|
93009
|
-
var e={clientX:x, clientY:y};
|
|
93010
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
93011
|
-
this.OnMouseMove(x,y,e);
|
|
93012
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
93013
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93014
|
-
}
|
|
93015
|
-
|
|
93016
|
-
return;
|
|
92980
|
+
findIndex=i;
|
|
92981
|
+
findItem=item;
|
|
92982
|
+
break;
|
|
93017
92983
|
}
|
|
93018
92984
|
}
|
|
93019
92985
|
|
|
93020
|
-
|
|
93021
|
-
|
|
93022
|
-
|
|
93023
|
-
|
|
93024
|
-
|
|
93025
|
-
this.
|
|
93026
|
-
|
|
92986
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
92987
|
+
return true;
|
|
92988
|
+
}
|
|
92989
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
92990
|
+
{
|
|
92991
|
+
var kData=this.GetKData();
|
|
92992
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93027
92993
|
|
|
93028
|
-
var
|
|
93029
|
-
var
|
|
93030
|
-
|
|
93031
|
-
|
|
93032
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
93033
|
-
this.OnMouseMove(x,y,{});
|
|
93034
|
-
|
|
93035
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
93036
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
92994
|
+
var startIndex=kData.DataOffset;
|
|
92995
|
+
var kItem=kData.Data[startIndex];
|
|
92996
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
92997
|
+
return true;
|
|
93037
92998
|
|
|
93038
92999
|
}
|
|
93000
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
93001
|
+
{
|
|
93002
|
+
var kData=this.GetKData();
|
|
93003
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93004
|
+
|
|
93005
|
+
var index=kData.Data.length-1;
|
|
93006
|
+
var kItem=kData.Data[index];
|
|
93007
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
93008
|
+
return true;
|
|
93009
|
+
}
|
|
93010
|
+
|
|
93011
|
+
}
|
|
93012
|
+
|
|
93013
|
+
//index=-1 隐藏十字光标
|
|
93014
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
93015
|
+
{
|
|
93016
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
93017
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
93018
|
+
|
|
93019
|
+
var x=-1,y=-1;
|
|
93020
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
93021
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
93022
|
+
|
|
93023
|
+
//保存最后一次鼠标移动信息
|
|
93024
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93025
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93026
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93027
|
+
|
|
93028
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93029
|
+
var titleChart=this.TitlePaint[0];
|
|
93030
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93031
|
+
|
|
93032
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
93033
|
+
this.OnMouseMove(x,y,{});
|
|
93034
|
+
|
|
93035
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
93036
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93037
|
+
|
|
93038
|
+
return true;
|
|
93039
93039
|
}
|
|
93040
93040
|
|
|
93041
93041
|
this.SendPageChangedEvent=function()
|
|
@@ -94391,11 +94391,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94391
94391
|
this.CurrentChartDrawPicture=null;
|
|
94392
94392
|
}
|
|
94393
94393
|
break;
|
|
94394
|
-
case 38:
|
|
94395
|
-
case 40:
|
|
94394
|
+
case 38: //up
|
|
94395
|
+
case 40: //down
|
|
94396
94396
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
94397
94397
|
this.OnCustomKeyDown(keyID, e)
|
|
94398
94398
|
break;
|
|
94399
|
+
case 35: //END
|
|
94400
|
+
case 36: //HOME
|
|
94401
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
94402
|
+
break;
|
|
94399
94403
|
default:
|
|
94400
94404
|
return;
|
|
94401
94405
|
}
|
|
@@ -94419,6 +94423,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94419
94423
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
94420
94424
|
return true;
|
|
94421
94425
|
}
|
|
94426
|
+
else if (keyID==36) //HOME 第1条
|
|
94427
|
+
{
|
|
94428
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
94429
|
+
return this.ChartOperator(option);
|
|
94430
|
+
}
|
|
94431
|
+
else if (keyID==35) //END 最后一条
|
|
94432
|
+
{
|
|
94433
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
94434
|
+
return this.ChartOperator(option);
|
|
94435
|
+
}
|
|
94422
94436
|
else
|
|
94423
94437
|
{
|
|
94424
94438
|
return false;
|
|
@@ -145299,8 +145313,8 @@ function ChartReport()
|
|
|
145299
145313
|
drawInfo.Tooltip=
|
|
145300
145314
|
{
|
|
145301
145315
|
Type:4,
|
|
145302
|
-
Data:{ AryText:item.Tooltip.AryText }
|
|
145303
|
-
}
|
|
145316
|
+
Data:{ AryText:item.Tooltip.AryText , Callback:item.Tooltip.Callback },
|
|
145317
|
+
};
|
|
145304
145318
|
}
|
|
145305
145319
|
}
|
|
145306
145320
|
else if (IFrameSplitOperator.IsString(item))
|
|
@@ -146928,7 +146942,7 @@ function ChartReport()
|
|
|
146928
146942
|
|
|
146929
146943
|
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
146930
146944
|
{
|
|
146931
|
-
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
146945
|
+
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data, Callback:item.Callback };
|
|
146932
146946
|
}
|
|
146933
146947
|
}
|
|
146934
146948
|
|
|
@@ -151187,7 +151201,7 @@ function ScrollBarBGChart()
|
|
|
151187
151201
|
|
|
151188
151202
|
|
|
151189
151203
|
|
|
151190
|
-
var HQCHART_VERSION="1.1.
|
|
151204
|
+
var HQCHART_VERSION="1.1.14936";
|
|
151191
151205
|
|
|
151192
151206
|
function PrintHQChartVersion()
|
|
151193
151207
|
{
|
|
@@ -59583,7 +59583,7 @@ function FrameSplitY()
|
|
|
59583
59583
|
else
|
|
59584
59584
|
{
|
|
59585
59585
|
var floatPrecision=this.GetFloatPrecision(absValue,this.FloatPrecision); //数据比小数位数还小, 调整小数位数
|
|
59586
|
-
text = IFrameSplitOperator.
|
|
59586
|
+
text = IFrameSplitOperator.FormatValueStringV2(value, floatPrecision,2, this.LanguageID);
|
|
59587
59587
|
}
|
|
59588
59588
|
}
|
|
59589
59589
|
|
|
@@ -93002,84 +93002,84 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
93002
93002
|
this.SendPageChangedEvent();
|
|
93003
93003
|
return true;
|
|
93004
93004
|
}
|
|
93005
|
-
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在
|
|
93005
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_GOTO) //{ Type:1 如果不存在 就隐藏十字光标, Time:, Date:-1=忽略日期 }
|
|
93006
93006
|
{
|
|
93007
|
-
|
|
93008
|
-
if (!
|
|
93009
|
-
|
|
93010
|
-
|
|
93011
|
-
|
|
93007
|
+
var kData=this.GetKData();
|
|
93008
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93009
|
+
if (!IFrameSplitOperator.IsNumber(obj.Time) || !IFrameSplitOperator.IsNumber(obj.Date)) return false;
|
|
93010
|
+
var findIndex=-1, findItem=null;
|
|
93011
|
+
for(var i=0;i<this.SourceData.Data.length;++i)
|
|
93012
93012
|
{
|
|
93013
|
-
var
|
|
93014
|
-
|
|
93015
|
-
{
|
|
93016
|
-
var item=this.SourceData.Data[i];
|
|
93017
|
-
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
93018
|
-
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
93019
|
-
{
|
|
93020
|
-
findIndex=i;
|
|
93021
|
-
value=item.Close;
|
|
93022
|
-
break;
|
|
93023
|
-
}
|
|
93024
|
-
}
|
|
93013
|
+
var item=this.SourceData.Data[i];
|
|
93014
|
+
if (!IFrameSplitOperator.IsNumber(item.Close)) continue;
|
|
93025
93015
|
|
|
93026
|
-
|
|
93027
|
-
|
|
93028
|
-
|
|
93029
|
-
|
|
93030
|
-
|
|
93031
|
-
if (timeData[i]==obj.Time)
|
|
93032
|
-
{
|
|
93033
|
-
findIndex=i;
|
|
93034
|
-
value=lastPrice;
|
|
93035
|
-
break;
|
|
93036
|
-
}
|
|
93037
|
-
}
|
|
93038
|
-
}
|
|
93016
|
+
var bFind=false;
|
|
93017
|
+
if (obj.Date==-1 && item.Time==obj.Time)
|
|
93018
|
+
bFind=true;
|
|
93019
|
+
else if (item.Time==obj.Time && item.Date==obj.Date)
|
|
93020
|
+
bFind=true;
|
|
93039
93021
|
|
|
93040
|
-
if (
|
|
93022
|
+
if (bFind)
|
|
93041
93023
|
{
|
|
93042
|
-
|
|
93043
|
-
|
|
93044
|
-
|
|
93045
|
-
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93046
|
-
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93047
|
-
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93048
|
-
|
|
93049
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93050
|
-
var titleChart=this.TitlePaint[0];
|
|
93051
|
-
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93052
|
-
|
|
93053
|
-
var e={clientX:x, clientY:y};
|
|
93054
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
93055
|
-
this.OnMouseMove(x,y,e);
|
|
93056
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
93057
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93058
|
-
}
|
|
93059
|
-
|
|
93060
|
-
return;
|
|
93024
|
+
findIndex=i;
|
|
93025
|
+
findItem=item;
|
|
93026
|
+
break;
|
|
93061
93027
|
}
|
|
93062
93028
|
}
|
|
93063
93029
|
|
|
93064
|
-
|
|
93065
|
-
|
|
93066
|
-
|
|
93067
|
-
|
|
93068
|
-
|
|
93069
|
-
this.
|
|
93070
|
-
|
|
93030
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
93031
|
+
return true;
|
|
93032
|
+
}
|
|
93033
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
93034
|
+
{
|
|
93035
|
+
var kData=this.GetKData();
|
|
93036
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93071
93037
|
|
|
93072
|
-
var
|
|
93073
|
-
var
|
|
93074
|
-
|
|
93075
|
-
|
|
93076
|
-
this.MoveOnPoint={X:x, Y:y};
|
|
93077
|
-
this.OnMouseMove(x,y,{});
|
|
93078
|
-
|
|
93079
|
-
this.LastMouseStatus.MoveOnPoint=null;
|
|
93080
|
-
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93038
|
+
var startIndex=kData.DataOffset;
|
|
93039
|
+
var kItem=kData.Data[startIndex];
|
|
93040
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
93041
|
+
return true;
|
|
93081
93042
|
|
|
93082
93043
|
}
|
|
93044
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
93045
|
+
{
|
|
93046
|
+
var kData=this.GetKData();
|
|
93047
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93048
|
+
|
|
93049
|
+
var index=kData.Data.length-1;
|
|
93050
|
+
var kItem=kData.Data[index];
|
|
93051
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
93052
|
+
return true;
|
|
93053
|
+
}
|
|
93054
|
+
|
|
93055
|
+
}
|
|
93056
|
+
|
|
93057
|
+
//index=-1 隐藏十字光标
|
|
93058
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
93059
|
+
{
|
|
93060
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
93061
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
93062
|
+
|
|
93063
|
+
var x=-1,y=-1;
|
|
93064
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
93065
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
93066
|
+
|
|
93067
|
+
//保存最后一次鼠标移动信息
|
|
93068
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93069
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93070
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93071
|
+
|
|
93072
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93073
|
+
var titleChart=this.TitlePaint[0];
|
|
93074
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93075
|
+
|
|
93076
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
93077
|
+
this.OnMouseMove(x,y,{});
|
|
93078
|
+
|
|
93079
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
93080
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93081
|
+
|
|
93082
|
+
return true;
|
|
93083
93083
|
}
|
|
93084
93084
|
|
|
93085
93085
|
this.SendPageChangedEvent=function()
|
|
@@ -94435,11 +94435,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94435
94435
|
this.CurrentChartDrawPicture=null;
|
|
94436
94436
|
}
|
|
94437
94437
|
break;
|
|
94438
|
-
case 38:
|
|
94439
|
-
case 40:
|
|
94438
|
+
case 38: //up
|
|
94439
|
+
case 40: //down
|
|
94440
94440
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
94441
94441
|
this.OnCustomKeyDown(keyID, e)
|
|
94442
94442
|
break;
|
|
94443
|
+
case 35: //END
|
|
94444
|
+
case 36: //HOME
|
|
94445
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
94446
|
+
break;
|
|
94443
94447
|
default:
|
|
94444
94448
|
return;
|
|
94445
94449
|
}
|
|
@@ -94463,6 +94467,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94463
94467
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
94464
94468
|
return true;
|
|
94465
94469
|
}
|
|
94470
|
+
else if (keyID==36) //HOME 第1条
|
|
94471
|
+
{
|
|
94472
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
94473
|
+
return this.ChartOperator(option);
|
|
94474
|
+
}
|
|
94475
|
+
else if (keyID==35) //END 最后一条
|
|
94476
|
+
{
|
|
94477
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
94478
|
+
return this.ChartOperator(option);
|
|
94479
|
+
}
|
|
94466
94480
|
else
|
|
94467
94481
|
{
|
|
94468
94482
|
return false;
|
|
@@ -145343,8 +145357,8 @@ function ChartReport()
|
|
|
145343
145357
|
drawInfo.Tooltip=
|
|
145344
145358
|
{
|
|
145345
145359
|
Type:4,
|
|
145346
|
-
Data:{ AryText:item.Tooltip.AryText }
|
|
145347
|
-
}
|
|
145360
|
+
Data:{ AryText:item.Tooltip.AryText , Callback:item.Tooltip.Callback },
|
|
145361
|
+
};
|
|
145348
145362
|
}
|
|
145349
145363
|
}
|
|
145350
145364
|
else if (IFrameSplitOperator.IsString(item))
|
|
@@ -146972,7 +146986,7 @@ function ChartReport()
|
|
|
146972
146986
|
|
|
146973
146987
|
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
146974
146988
|
{
|
|
146975
|
-
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
146989
|
+
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data, Callback:item.Callback };
|
|
146976
146990
|
}
|
|
146977
146991
|
}
|
|
146978
146992
|
|
|
@@ -159580,8 +159594,20 @@ function JSFloatTooltip()
|
|
|
159580
159594
|
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
159581
159595
|
|
|
159582
159596
|
this.AryText=tooltipData.Data.AryText;
|
|
159583
|
-
this.UpdateTableDOM();
|
|
159584
159597
|
|
|
159598
|
+
if (tooltipData.Data.Callback)
|
|
159599
|
+
{
|
|
159600
|
+
var callback=tooltipData.Data.Callback;
|
|
159601
|
+
var sendData={ AryText:null, data, PreventDefault:false };
|
|
159602
|
+
callback(sendData, this);
|
|
159603
|
+
if (sendData.PreventDefault)
|
|
159604
|
+
{
|
|
159605
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(sendData.AryText)) return;
|
|
159606
|
+
this.AryText=sendData.AryText;
|
|
159607
|
+
}
|
|
159608
|
+
}
|
|
159609
|
+
|
|
159610
|
+
this.UpdateTableDOM();
|
|
159585
159611
|
this.ShowTooltip(data);
|
|
159586
159612
|
}
|
|
159587
159613
|
|
|
@@ -162536,7 +162562,7 @@ function HQChartScriptWorker()
|
|
|
162536
162562
|
|
|
162537
162563
|
|
|
162538
162564
|
|
|
162539
|
-
var HQCHART_VERSION="1.1.
|
|
162565
|
+
var HQCHART_VERSION="1.1.14936";
|
|
162540
162566
|
|
|
162541
162567
|
function PrintHQChartVersion()
|
|
162542
162568
|
{
|