hqchart 1.1.14929 → 1.1.14933
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 +78 -71
- package/src/jscommon/umychart.report.js +3 -3
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +82 -75
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +95 -76
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: }
|
|
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))lastPrice=item.Close;if(item.Time==obj.Time&&item.Date==obj.Date){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.14932";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,77 @@ 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: }
|
|
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
|
-
|
|
88873
|
+
var item=this.SourceData.Data[i];
|
|
88874
|
+
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
88875
|
+
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
88875
88876
|
{
|
|
88876
|
-
|
|
88877
|
-
|
|
88878
|
-
|
|
88879
|
-
{
|
|
88880
|
-
findIndex=i;
|
|
88881
|
-
value=item.Close;
|
|
88882
|
-
break;
|
|
88883
|
-
}
|
|
88877
|
+
findIndex=i;
|
|
88878
|
+
findItem=item;
|
|
88879
|
+
break;
|
|
88884
88880
|
}
|
|
88881
|
+
}
|
|
88885
88882
|
|
|
88886
|
-
|
|
88887
|
-
|
|
88888
|
-
|
|
88889
|
-
|
|
88890
|
-
|
|
88891
|
-
|
|
88892
|
-
|
|
88893
|
-
findIndex=i;
|
|
88894
|
-
value=lastPrice;
|
|
88895
|
-
break;
|
|
88896
|
-
}
|
|
88897
|
-
}
|
|
88898
|
-
}
|
|
88883
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
88884
|
+
return true;
|
|
88885
|
+
}
|
|
88886
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
88887
|
+
{
|
|
88888
|
+
var kData=this.GetKData();
|
|
88889
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
88899
88890
|
|
|
88900
|
-
|
|
88901
|
-
|
|
88902
|
-
|
|
88903
|
-
|
|
88904
|
-
|
|
88905
|
-
|
|
88906
|
-
|
|
88907
|
-
|
|
88908
|
-
|
|
88909
|
-
|
|
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
|
-
}
|
|
88891
|
+
var startIndex=kData.DataOffset;
|
|
88892
|
+
var kItem=kData.Data[startIndex];
|
|
88893
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
88894
|
+
return true;
|
|
88895
|
+
|
|
88896
|
+
}
|
|
88897
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
88898
|
+
{
|
|
88899
|
+
var kData=this.GetKData();
|
|
88900
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
88919
88901
|
|
|
88920
|
-
|
|
88921
|
-
|
|
88922
|
-
|
|
88902
|
+
var index=kData.Data.length-1;
|
|
88903
|
+
var kItem=kData.Data[index];
|
|
88904
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
88905
|
+
return true;
|
|
88906
|
+
}
|
|
88907
|
+
|
|
88908
|
+
}
|
|
88909
|
+
|
|
88910
|
+
//index=-1 隐藏十字光标
|
|
88911
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
88912
|
+
{
|
|
88913
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
88914
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
88923
88915
|
|
|
88924
|
-
|
|
88925
|
-
|
|
88916
|
+
var x=-1,y=-1;
|
|
88917
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
88918
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
88926
88919
|
|
|
88927
|
-
|
|
88928
|
-
|
|
88929
|
-
|
|
88930
|
-
|
|
88920
|
+
//保存最后一次鼠标移动信息
|
|
88921
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
88922
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
88923
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
88931
88924
|
|
|
88932
|
-
|
|
88933
|
-
|
|
88934
|
-
|
|
88935
|
-
|
|
88936
|
-
|
|
88937
|
-
|
|
88938
|
-
|
|
88939
|
-
|
|
88940
|
-
|
|
88941
|
-
|
|
88942
|
-
|
|
88925
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
88926
|
+
var titleChart=this.TitlePaint[0];
|
|
88927
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
88928
|
+
|
|
88929
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
88930
|
+
this.OnMouseMove(x,y,{});
|
|
88931
|
+
|
|
88932
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
88933
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
88934
|
+
|
|
88935
|
+
return true;
|
|
88943
88936
|
}
|
|
88944
88937
|
|
|
88945
88938
|
this.SendPageChangedEvent=function()
|
|
@@ -90295,11 +90288,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90295
90288
|
this.CurrentChartDrawPicture=null;
|
|
90296
90289
|
}
|
|
90297
90290
|
break;
|
|
90298
|
-
case 38:
|
|
90299
|
-
case 40:
|
|
90291
|
+
case 38: //up
|
|
90292
|
+
case 40: //down
|
|
90300
90293
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
90301
90294
|
this.OnCustomKeyDown(keyID, e)
|
|
90302
90295
|
break;
|
|
90296
|
+
case 35: //END
|
|
90297
|
+
case 36: //HOME
|
|
90298
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
90299
|
+
break;
|
|
90303
90300
|
default:
|
|
90304
90301
|
return;
|
|
90305
90302
|
}
|
|
@@ -90323,6 +90320,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90323
90320
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
90324
90321
|
return true;
|
|
90325
90322
|
}
|
|
90323
|
+
else if (keyID==36) //HOME 第1条
|
|
90324
|
+
{
|
|
90325
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
90326
|
+
return this.ChartOperator(option);
|
|
90327
|
+
}
|
|
90328
|
+
else if (keyID==35) //END 最后一条
|
|
90329
|
+
{
|
|
90330
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
90331
|
+
return this.ChartOperator(option);
|
|
90332
|
+
}
|
|
90326
90333
|
else
|
|
90327
90334
|
{
|
|
90328
90335
|
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,77 @@ 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: }
|
|
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
|
-
|
|
92969
|
+
var item=this.SourceData.Data[i];
|
|
92970
|
+
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
92971
|
+
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
92971
92972
|
{
|
|
92972
|
-
|
|
92973
|
-
|
|
92974
|
-
|
|
92975
|
-
{
|
|
92976
|
-
findIndex=i;
|
|
92977
|
-
value=item.Close;
|
|
92978
|
-
break;
|
|
92979
|
-
}
|
|
92973
|
+
findIndex=i;
|
|
92974
|
+
findItem=item;
|
|
92975
|
+
break;
|
|
92980
92976
|
}
|
|
92977
|
+
}
|
|
92981
92978
|
|
|
92982
|
-
|
|
92983
|
-
|
|
92984
|
-
|
|
92985
|
-
|
|
92986
|
-
|
|
92987
|
-
|
|
92988
|
-
|
|
92989
|
-
findIndex=i;
|
|
92990
|
-
value=lastPrice;
|
|
92991
|
-
break;
|
|
92992
|
-
}
|
|
92993
|
-
}
|
|
92994
|
-
}
|
|
92979
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
92980
|
+
return true;
|
|
92981
|
+
}
|
|
92982
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
92983
|
+
{
|
|
92984
|
+
var kData=this.GetKData();
|
|
92985
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
92995
92986
|
|
|
92996
|
-
|
|
92997
|
-
|
|
92998
|
-
|
|
92999
|
-
|
|
93000
|
-
|
|
93001
|
-
|
|
93002
|
-
|
|
93003
|
-
|
|
93004
|
-
|
|
93005
|
-
|
|
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
|
-
}
|
|
92987
|
+
var startIndex=kData.DataOffset;
|
|
92988
|
+
var kItem=kData.Data[startIndex];
|
|
92989
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
92990
|
+
return true;
|
|
92991
|
+
|
|
92992
|
+
}
|
|
92993
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
92994
|
+
{
|
|
92995
|
+
var kData=this.GetKData();
|
|
92996
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93015
92997
|
|
|
93016
|
-
|
|
93017
|
-
|
|
93018
|
-
|
|
92998
|
+
var index=kData.Data.length-1;
|
|
92999
|
+
var kItem=kData.Data[index];
|
|
93000
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
93001
|
+
return true;
|
|
93002
|
+
}
|
|
93019
93003
|
|
|
93020
|
-
|
|
93021
|
-
var y=frame.GetYFromData(value);
|
|
93004
|
+
}
|
|
93022
93005
|
|
|
93023
|
-
|
|
93024
|
-
|
|
93025
|
-
|
|
93026
|
-
|
|
93006
|
+
//index=-1 隐藏十字光标
|
|
93007
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
93008
|
+
{
|
|
93009
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
93010
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
93027
93011
|
|
|
93028
|
-
|
|
93029
|
-
|
|
93030
|
-
|
|
93031
|
-
|
|
93032
|
-
|
|
93033
|
-
|
|
93034
|
-
|
|
93035
|
-
|
|
93036
|
-
|
|
93037
|
-
|
|
93038
|
-
|
|
93012
|
+
var x=-1,y=-1;
|
|
93013
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
93014
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
93015
|
+
|
|
93016
|
+
//保存最后一次鼠标移动信息
|
|
93017
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93018
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93019
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93020
|
+
|
|
93021
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93022
|
+
var titleChart=this.TitlePaint[0];
|
|
93023
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93024
|
+
|
|
93025
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
93026
|
+
this.OnMouseMove(x,y,{});
|
|
93027
|
+
|
|
93028
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
93029
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93030
|
+
|
|
93031
|
+
return true;
|
|
93039
93032
|
}
|
|
93040
93033
|
|
|
93041
93034
|
this.SendPageChangedEvent=function()
|
|
@@ -94391,11 +94384,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94391
94384
|
this.CurrentChartDrawPicture=null;
|
|
94392
94385
|
}
|
|
94393
94386
|
break;
|
|
94394
|
-
case 38:
|
|
94395
|
-
case 40:
|
|
94387
|
+
case 38: //up
|
|
94388
|
+
case 40: //down
|
|
94396
94389
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
94397
94390
|
this.OnCustomKeyDown(keyID, e)
|
|
94398
94391
|
break;
|
|
94392
|
+
case 35: //END
|
|
94393
|
+
case 36: //HOME
|
|
94394
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
94395
|
+
break;
|
|
94399
94396
|
default:
|
|
94400
94397
|
return;
|
|
94401
94398
|
}
|
|
@@ -94419,6 +94416,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94419
94416
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
94420
94417
|
return true;
|
|
94421
94418
|
}
|
|
94419
|
+
else if (keyID==36) //HOME 第1条
|
|
94420
|
+
{
|
|
94421
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
94422
|
+
return this.ChartOperator(option);
|
|
94423
|
+
}
|
|
94424
|
+
else if (keyID==35) //END 最后一条
|
|
94425
|
+
{
|
|
94426
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
94427
|
+
return this.ChartOperator(option);
|
|
94428
|
+
}
|
|
94422
94429
|
else
|
|
94423
94430
|
{
|
|
94424
94431
|
return false;
|
|
@@ -145299,8 +145306,8 @@ function ChartReport()
|
|
|
145299
145306
|
drawInfo.Tooltip=
|
|
145300
145307
|
{
|
|
145301
145308
|
Type:4,
|
|
145302
|
-
Data:{ AryText:item.Tooltip.AryText }
|
|
145303
|
-
}
|
|
145309
|
+
Data:{ AryText:item.Tooltip.AryText , Callback:item.Tooltip.Callback },
|
|
145310
|
+
};
|
|
145304
145311
|
}
|
|
145305
145312
|
}
|
|
145306
145313
|
else if (IFrameSplitOperator.IsString(item))
|
|
@@ -146928,7 +146935,7 @@ function ChartReport()
|
|
|
146928
146935
|
|
|
146929
146936
|
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
146930
146937
|
{
|
|
146931
|
-
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
146938
|
+
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data, Callback:item.Callback };
|
|
146932
146939
|
}
|
|
146933
146940
|
}
|
|
146934
146941
|
|
|
@@ -151187,7 +151194,7 @@ function ScrollBarBGChart()
|
|
|
151187
151194
|
|
|
151188
151195
|
|
|
151189
151196
|
|
|
151190
|
-
var HQCHART_VERSION="1.1.
|
|
151197
|
+
var HQCHART_VERSION="1.1.14932";
|
|
151191
151198
|
|
|
151192
151199
|
function PrintHQChartVersion()
|
|
151193
151200
|
{
|
|
@@ -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,77 @@ 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: }
|
|
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
|
-
|
|
93013
|
+
var item=this.SourceData.Data[i];
|
|
93014
|
+
if (IFrameSplitOperator.IsNumber(item.Close)) lastPrice=item.Close;
|
|
93015
|
+
if (item.Time==obj.Time && item.Date==obj.Date)
|
|
93015
93016
|
{
|
|
93016
|
-
|
|
93017
|
-
|
|
93018
|
-
|
|
93019
|
-
{
|
|
93020
|
-
findIndex=i;
|
|
93021
|
-
value=item.Close;
|
|
93022
|
-
break;
|
|
93023
|
-
}
|
|
93017
|
+
findIndex=i;
|
|
93018
|
+
findItem=item;
|
|
93019
|
+
break;
|
|
93024
93020
|
}
|
|
93021
|
+
}
|
|
93025
93022
|
|
|
93026
|
-
|
|
93027
|
-
|
|
93028
|
-
|
|
93029
|
-
|
|
93030
|
-
|
|
93031
|
-
|
|
93032
|
-
|
|
93033
|
-
findIndex=i;
|
|
93034
|
-
value=lastPrice;
|
|
93035
|
-
break;
|
|
93036
|
-
}
|
|
93037
|
-
}
|
|
93038
|
-
}
|
|
93023
|
+
this.ChartOperator_Temp_SetChartCorssCursor(findIndex, findItem);
|
|
93024
|
+
return true;
|
|
93025
|
+
}
|
|
93026
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START) //当前屏第1条数据
|
|
93027
|
+
{
|
|
93028
|
+
var kData=this.GetKData();
|
|
93029
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93039
93030
|
|
|
93040
|
-
|
|
93041
|
-
|
|
93042
|
-
|
|
93043
|
-
|
|
93044
|
-
|
|
93045
|
-
|
|
93046
|
-
|
|
93047
|
-
|
|
93048
|
-
|
|
93049
|
-
|
|
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
|
-
}
|
|
93031
|
+
var startIndex=kData.DataOffset;
|
|
93032
|
+
var kItem=kData.Data[startIndex];
|
|
93033
|
+
this.ChartOperator_Temp_SetChartCorssCursor(0, kItem);
|
|
93034
|
+
return true;
|
|
93035
|
+
|
|
93036
|
+
}
|
|
93037
|
+
else if (id==JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END) //当前屏最后1条数据
|
|
93038
|
+
{
|
|
93039
|
+
var kData=this.GetKData();
|
|
93040
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
93059
93041
|
|
|
93060
|
-
|
|
93061
|
-
|
|
93062
|
-
|
|
93042
|
+
var index=kData.Data.length-1;
|
|
93043
|
+
var kItem=kData.Data[index];
|
|
93044
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
93045
|
+
return true;
|
|
93046
|
+
}
|
|
93063
93047
|
|
|
93064
|
-
|
|
93065
|
-
var y=frame.GetYFromData(value);
|
|
93048
|
+
}
|
|
93066
93049
|
|
|
93067
|
-
|
|
93068
|
-
|
|
93069
|
-
|
|
93070
|
-
|
|
93050
|
+
//index=-1 隐藏十字光标
|
|
93051
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
93052
|
+
{
|
|
93053
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
93054
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
93071
93055
|
|
|
93072
|
-
|
|
93073
|
-
|
|
93074
|
-
|
|
93075
|
-
|
|
93076
|
-
|
|
93077
|
-
|
|
93078
|
-
|
|
93079
|
-
|
|
93080
|
-
|
|
93081
|
-
|
|
93082
|
-
|
|
93056
|
+
var x=-1,y=-1;
|
|
93057
|
+
if (IFrameSplitOperator.IsNumber(index) && index>=0) x=frame.GetXFromIndex(index);
|
|
93058
|
+
if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) y=frame.GetYFromData(kItem.Close);
|
|
93059
|
+
|
|
93060
|
+
//保存最后一次鼠标移动信息
|
|
93061
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
93062
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
93063
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
93064
|
+
|
|
93065
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
93066
|
+
var titleChart=this.TitlePaint[0];
|
|
93067
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
93068
|
+
|
|
93069
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
93070
|
+
this.OnMouseMove(x,y,{});
|
|
93071
|
+
|
|
93072
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
93073
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
93074
|
+
|
|
93075
|
+
return true;
|
|
93083
93076
|
}
|
|
93084
93077
|
|
|
93085
93078
|
this.SendPageChangedEvent=function()
|
|
@@ -94435,11 +94428,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94435
94428
|
this.CurrentChartDrawPicture=null;
|
|
94436
94429
|
}
|
|
94437
94430
|
break;
|
|
94438
|
-
case 38:
|
|
94439
|
-
case 40:
|
|
94431
|
+
case 38: //up
|
|
94432
|
+
case 40: //down
|
|
94440
94433
|
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
94441
94434
|
this.OnCustomKeyDown(keyID, e)
|
|
94442
94435
|
break;
|
|
94436
|
+
case 35: //END
|
|
94437
|
+
case 36: //HOME
|
|
94438
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
94439
|
+
break;
|
|
94443
94440
|
default:
|
|
94444
94441
|
return;
|
|
94445
94442
|
}
|
|
@@ -94463,6 +94460,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94463
94460
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
94464
94461
|
return true;
|
|
94465
94462
|
}
|
|
94463
|
+
else if (keyID==36) //HOME 第1条
|
|
94464
|
+
{
|
|
94465
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_START };
|
|
94466
|
+
return this.ChartOperator(option);
|
|
94467
|
+
}
|
|
94468
|
+
else if (keyID==35) //END 最后一条
|
|
94469
|
+
{
|
|
94470
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_CORSSCURSOR_PAGE_END };
|
|
94471
|
+
return this.ChartOperator(option);
|
|
94472
|
+
}
|
|
94466
94473
|
else
|
|
94467
94474
|
{
|
|
94468
94475
|
return false;
|
|
@@ -145343,8 +145350,8 @@ function ChartReport()
|
|
|
145343
145350
|
drawInfo.Tooltip=
|
|
145344
145351
|
{
|
|
145345
145352
|
Type:4,
|
|
145346
|
-
Data:{ AryText:item.Tooltip.AryText }
|
|
145347
|
-
}
|
|
145353
|
+
Data:{ AryText:item.Tooltip.AryText , Callback:item.Tooltip.Callback },
|
|
145354
|
+
};
|
|
145348
145355
|
}
|
|
145349
145356
|
}
|
|
145350
145357
|
else if (IFrameSplitOperator.IsString(item))
|
|
@@ -146972,7 +146979,7 @@ function ChartReport()
|
|
|
146972
146979
|
|
|
146973
146980
|
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
146974
146981
|
{
|
|
146975
|
-
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
146982
|
+
return { Rect:item.Rect, Stock:item.Stock, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data, Callback:item.Callback };
|
|
146976
146983
|
}
|
|
146977
146984
|
}
|
|
146978
146985
|
|
|
@@ -159580,8 +159587,20 @@ function JSFloatTooltip()
|
|
|
159580
159587
|
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
159581
159588
|
|
|
159582
159589
|
this.AryText=tooltipData.Data.AryText;
|
|
159583
|
-
this.UpdateTableDOM();
|
|
159584
159590
|
|
|
159591
|
+
if (tooltipData.Data.Callback)
|
|
159592
|
+
{
|
|
159593
|
+
var callback=tooltipData.Data.Callback;
|
|
159594
|
+
var sendData={ AryText:null, data, PreventDefault:false };
|
|
159595
|
+
callback(sendData, this);
|
|
159596
|
+
if (sendData.PreventDefault)
|
|
159597
|
+
{
|
|
159598
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(sendData.AryText)) return;
|
|
159599
|
+
this.AryText=sendData.AryText;
|
|
159600
|
+
}
|
|
159601
|
+
}
|
|
159602
|
+
|
|
159603
|
+
this.UpdateTableDOM();
|
|
159585
159604
|
this.ShowTooltip(data);
|
|
159586
159605
|
}
|
|
159587
159606
|
|
|
@@ -162536,7 +162555,7 @@ function HQChartScriptWorker()
|
|
|
162536
162555
|
|
|
162537
162556
|
|
|
162538
162557
|
|
|
162539
|
-
var HQCHART_VERSION="1.1.
|
|
162558
|
+
var HQCHART_VERSION="1.1.14932";
|
|
162540
162559
|
|
|
162541
162560
|
function PrintHQChartVersion()
|
|
162542
162561
|
{
|