hqchart 1.1.14452 → 1.1.14457
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
CHANGED
|
@@ -5659,7 +5659,7 @@ if(this.IsShowCorss){var pixel=GetDevicePixelRatio();this.Canvas.save();this.Can
|
|
|
5659
5659
|
this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),top);this.Canvas.lineTo(ToFixedPoint(x),bottom);this.Canvas.stroke();this.Canvas.restore();//画横线
|
|
5660
5660
|
this.Canvas.save();this.Canvas.strokeStyle=this.VPenColor;if(this.VPenType==0){this.Canvas.setLineDash(this.LineDash);//虚线
|
|
5661
5661
|
}else if(this.VPenType==2){var barWidth=this.Frame.SubFrame[0].Frame.DataWidth;//和K线一样宽度
|
|
5662
|
-
if(barWidth>2*pixel)this.Canvas.lineWidth=barWidth;}this.Canvas.beginPath();if(this.VLineType==1){this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}else{if(this.Frame.SubFrame.length>0){for(var i in this.Frame.SubFrame){var frame=this.Frame.SubFrame[i].Frame;var subBorder=frame.ChartBorder.GetHScreenBorder();this.Canvas.moveTo(subBorder.Left,ToFixedPoint(y));this.Canvas.lineTo(subBorder.RightEx,ToFixedPoint(y));}}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}}this.Canvas.stroke();this.Canvas.restore();}var xValue=this.Frame.GetXData(y);var yValueExtend={};var yValue=this.Frame.GetYData(x,yValueExtend);this.StringFormatX.Value=xValue;this.StringFormatX.Point={X:x,Y:y};this.StringFormatX.ClientPos=this.ClientPos;this.StringFormatY.Value=yValue;this.StringFormatY.FrameID=yValueExtend.FrameID;this.StringFormatY.RValue=yValueExtend.RightYValue;//右侧子坐标
|
|
5662
|
+
if(barWidth>2*pixel)this.Canvas.lineWidth=barWidth;}this.Canvas.beginPath();if(this.VLineType==1){this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}else{if(this.Frame.SubFrame.length>0){for(var i in this.Frame.SubFrame){var frame=this.Frame.SubFrame[i].Frame;var subBorder=frame.ChartBorder.GetHScreenBorder();this.Canvas.moveTo(subBorder.Left,ToFixedPoint(y));this.Canvas.lineTo(subBorder.RightEx,ToFixedPoint(y));}}else{this.Canvas.moveTo(left,ToFixedPoint(y));this.Canvas.lineTo(right,ToFixedPoint(y));}}this.Canvas.stroke();this.Canvas.restore();this.Canvas.save();this.DrawCorssPoint(x,y);this.Canvas.restore();}var xValue=this.Frame.GetXData(y);var yValueExtend={};var yValue=this.Frame.GetYData(x,yValueExtend);this.StringFormatX.Value=xValue;this.StringFormatX.Point={X:x,Y:y};this.StringFormatX.ClientPos=this.ClientPos;this.StringFormatY.Value=yValue;this.StringFormatY.FrameID=yValueExtend.FrameID;this.StringFormatY.RValue=yValueExtend.RightYValue;//右侧子坐标
|
|
5663
5663
|
this.StringFormatY.Point={X:x,Y:y};this.StringFormatY.ClientPos=this.ClientPos;this.Canvas.font=this.Font;var textHeight=this.GetFontHeight();if(textHeight>this.TextHeight)this.TextHeight=textHeight;if((this.ShowTextMode.Left==1&&this.Frame.ChartBorder.Top>=30||this.ShowTextMode.Left==2||this.ShowTextMode.Right==1&&this.Frame.ChartBorder.Bottom>=30||this.ShowTextMode.Right==2)&&this.StringFormatY.Operator()){var text=this.StringFormatY.Text;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(text).width+4;//前后各空2个像素
|
|
5664
5664
|
if(this.Frame.ChartBorder.Top>=30&&this.ShowTextMode.Left==1){var xText=x;var yText=top;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);//数据和框子旋转180度
|
|
5665
5665
|
this.Canvas.fillStyle=this.TextBGColor;if(top>=textWidth){this.Canvas.fillRect(0,-(this.TextHeight/2),-textWidth,this.TextHeight);this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,-2,0,textWidth);}else{this.Canvas.fillRect(textWidth-top,-(this.TextHeight/2),-textWidth,this.TextHeight);this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,textWidth-top-2,0,textWidth);}this.Canvas.restore();}else if(this.ShowTextMode.Left==2){var xText=x;var yText=top;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);//数据和框子旋转180度
|
|
@@ -7187,7 +7187,7 @@ this.ChartDrawStorage=new ChartDrawStorage();this.ChartDrawStorageCache=null;//
|
|
|
7187
7187
|
this.RightSpaceCount=0;//右侧空白个数
|
|
7188
7188
|
this.SourceDataLimit=new _map2.default();//每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
7189
7189
|
this.CtrlMoveStep=5;//Ctrl+(Left/Right) 移动数据个数
|
|
7190
|
-
this.CustomShow=null;//首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:}
|
|
7190
|
+
this.CustomShow=null;//首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:, Position:0=left 1=center }
|
|
7191
7191
|
this.ZoomType=0;//缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
7192
7192
|
this.IsZoomLockRight=false;this.KLineSize=null;//{ DataWidth:, }
|
|
7193
7193
|
//this.EnableYDrag={ Left:false, Right:true };
|
|
@@ -7266,11 +7266,12 @@ var firstPoint,secondPoint,subFirstPoint,subSecondPoint;for(var i=0;i<hisData.Da
|
|
|
7266
7266
|
if(obj.Type==0)//滑块移动
|
|
7267
7267
|
{hisData.DataOffset=obj.Start.Index;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}else if(obj.Type==1||obj.Type==2)//左,右
|
|
7268
7268
|
{var startIndex=obj.Start.Index;var showCount=obj.End.Index-obj.Start.Index+1;var start=hisData.Data[obj.Start.Index];var end=hisData.Data[obj.End.Index];//设置X轴显示数据个数
|
|
7269
|
-
this.Frame.SetXShowCount(showCount);hisData.DataOffset=obj.Start.Index;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}}else if(id==JSCHART_OPERATOR_ID.OP_GOTO)//{ Date:日期, Time:, PageSize
|
|
7270
|
-
{if(!IFrameSplitOperator.IsNumber(obj.Date))return;var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData)return;//数据还没有到达
|
|
7271
|
-
var index=this.ChartOperator_GetIndex_ByDateTime(hisData,obj,this.Period,0);if(index===null){JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO can\'t find date='+obj.Date+' time='+obj.Time);return;}var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;var xPointCount=oldXPointCount;if(obj.PageSize>0)//调整一屏显示的个数
|
|
7269
|
+
this.Frame.SetXShowCount(showCount);hisData.DataOffset=obj.Start.Index;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}}else if(id==JSCHART_OPERATOR_ID.OP_GOTO)//{ Date:日期, Time:, PageSize:可选, Position:0=left 1=center }
|
|
7270
|
+
{if(!IFrameSplitOperator.IsNumber(obj.Date))return;var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData||!IFrameSplitOperator.IsNonEmptyArray(hisData.Data))return;//数据还没有到达
|
|
7271
|
+
var index=this.ChartOperator_GetIndex_ByDateTime(hisData,obj,this.Period,0);if(index===null){JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO can\'t find date='+obj.Date+' time='+obj.Time);return;}var position=0;if(IFrameSplitOperator.IsNumber(obj.Position))position=obj.Position;var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;var xPointCount=oldXPointCount;if(obj.PageSize>0)//调整一屏显示的个数
|
|
7272
7272
|
{xPointCount=obj.PageSize;}if(xPointCount!=oldXPointCount){//设置X轴显示数据个数
|
|
7273
|
-
this.Frame.SetXShowCount(xPointCount);}
|
|
7273
|
+
this.Frame.SetXShowCount(xPointCount);}if(position==1)//居中
|
|
7274
|
+
{var moveStep=parseInt(xPointCount/2);index-=moveStep;if(index<0)index=0;}else{}hisData.DataOffset=index;this.CursorIndex=0;this.LastPoint.X=null;this.LastPoint.Y=null;this.ChartOperator_Temp_Update();}else if(id==JSCHART_OPERATOR_ID.OP_GOTO_BY_DATAINDEX)//{PageSize:可选, DataIndex:起始位置数据索引}
|
|
7274
7275
|
{if(!IFrameSplitOperator.IsNumber(obj.DataIndex))return;var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData)return;//数据还没有到达
|
|
7275
7276
|
if(obj.DataIndex<0||obj.DataIndex>=hisData.Data.length){JSConsole.Chart.Log('[KLineChartContainer::ChartOperator] OP_GOTO_BY_DATAINDEX obj.DataIndex='+obj.DataIndex+' error.}');return;}var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;var xPointCount=oldXPointCount;if(obj.PageSize>0)xPointCount=obj.PageSize;//调整一屏显示的个数
|
|
7276
7277
|
if(xPointCount!=oldXPointCount)this.Frame.SetXShowCount(xPointCount);//设置X轴显示数据个数
|
|
@@ -7354,7 +7355,7 @@ this.TitlePaint[0].Symbol=this.Symbol;this.TitlePaint[0].Name=this.Name;this.Cha
|
|
|
7354
7355
|
this.Frame.Data=this.ChartPaint[0].Data;for(var i in this.OverlayChartPaint)//主图股票数据绑定到叠加股票上
|
|
7355
7356
|
{var item=this.OverlayChartPaint[i];item.MainData=this.ChartPaint[0].Data;}this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;};this.SetCustomShow=function(customShow,hisData){if(customShow.Callback)//预留给外部回调,可以定制移动
|
|
7356
7357
|
{customShow.Callback(chart,hisData);return;}var index=this.ChartOperator_GetIndex_ByDateTime(hisData,customShow,this.Period,0);if(index===null){JSConsole.Chart.Log("[KLineChartContainer::SetCustomShow] Can't find index by customShow=",customShow);return;}if(IFrameSplitOperator.IsPlusNumber(customShow.PageSize))//调整一屏显示个数 否则使用默认的
|
|
7357
|
-
{var showCount=customShow.PageSize;for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;item.XPointCount=showCount;}}this.ChartPaint[0].Data.DataOffset=index;this.CursorIndex=0;};this.OnDragSelectRectMouseUp=function(e){var paint=this.GetRectSelectPaint();if(!paint)return;var selectData=paint.GetSelectRectData();if(!selectData)return;var pixelTatio=GetDevicePixelRatio();var corssCursor=this.ChartCorssCursor;//十字光标
|
|
7358
|
+
{var showCount=customShow.PageSize;for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;item.XPointCount=showCount;}}if(IFrameSplitOperator.IsNumber(customShow.Position)){var xCount=this.Frame.SubFrame[0].Frame.XPointCount;var moveStep=parseInt(xCount/2);index-=moveStep;if(index<0)index=0;}this.ChartPaint[0].Data.DataOffset=index;this.CursorIndex=0;};this.OnDragSelectRectMouseUp=function(e){var paint=this.GetRectSelectPaint();if(!paint)return;var selectData=paint.GetSelectRectData();if(!selectData)return;var pixelTatio=GetDevicePixelRatio();var corssCursor=this.ChartCorssCursor;//十字光标
|
|
7358
7359
|
var x=corssCursor.LastPoint.X/pixelTatio;var y=corssCursor.LastPoint.Y/pixelTatio;var isShowMenu=true;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAG_SELECT_RECT_MOUSEUP);if(event){var data={X:x,Y:y,SelectData:selectData,//区间选择的数据
|
|
7359
7360
|
RectSelectPaint:paint,//区间选择背景
|
|
7360
7361
|
IsShowMenu:false};event.Callback(event,data,this);isShowMenu=data.IsShowMenu;}if(this.IsShowSelectRectDialog())//区间统计
|
|
@@ -7645,7 +7646,7 @@ this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();thi
|
|
|
7645
7646
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight');//切换复权先停止更新
|
|
7646
7647
|
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.Frame.ClearYCoordinateMaxMin();this.UnlockCorssCursor();this.RequestHistoryMinuteData();//请求分钟数据
|
|
7647
7648
|
}}};//设置第1屏的起始日期
|
|
7648
|
-
this.SetFirstShowDate=function(obj){if(!obj||!obj.Date)return;var option={ID:JSCHART_OPERATOR_ID.OP_GOTO,Date:obj.Date};if(IFrameSplitOperator.IsNumber(obj.Time))option.Time=obj.Time;if(IFrameSplitOperator.IsNumber(obj.PageSize))option.PageSize=obj.PageSize;this.ChartOperator(option);};//删除某一个窗口的指标, bCallDestory=是否调用图形销毁函数
|
|
7649
|
+
this.SetFirstShowDate=function(obj){if(!obj||!obj.Date)return;var option={ID:JSCHART_OPERATOR_ID.OP_GOTO,Date:obj.Date,Position:0};if(IFrameSplitOperator.IsNumber(obj.Time))option.Time=obj.Time;if(IFrameSplitOperator.IsNumber(obj.PageSize))option.PageSize=obj.PageSize;if(IFrameSplitOperator.IsNumber(obj.Position))option.Position=obj.Position;this.ChartOperator(option);};//删除某一个窗口的指标, bCallDestory=是否调用图形销毁函数
|
|
7649
7650
|
this.DeleteIndexPaint=function(windowIndex,bCallDestroy){if(!this.Frame.SubFrame[windowIndex])return;var subFrame=this.Frame.SubFrame[windowIndex].Frame;if(!subFrame)return;var paint=[];//踢出当前窗口的指标画法
|
|
7650
7651
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];var bFind=item.ChartFrame.Guid==subFrame.Guid||item.ChartFrame==subFrame;if(i==0||!bFind){paint.push(item);}else{if(bCallDestroy===true){if(item&&item.OnDestroy)item.OnDestroy();//图形销毁
|
|
7651
7652
|
}}}subFrame.YSpecificMaxMin=null;//清空指定最大最小值
|
|
@@ -7806,7 +7807,7 @@ this.ClearIndexPaint();//清空指标
|
|
|
7806
7807
|
if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.Windows)){var windows=option.Windows;for(var i=0;i<windows.length;++i){if(i>=this.WindowIndex.length)break;//暂时不支持 动态增加/减少
|
|
7807
7808
|
var item=windows[i];if(!item)continue;if(item.Script){this.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
7808
7809
|
}else if(item.API){var apiItem=item.API;this.WindowIndex[i]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var systemScript=new JSIndexScript();var indexInfo=systemScript.Get(indexID);if(indexInfo){JSIndexScript.ModifyAttribute(indexInfo,item);indexInfo.ID=indexID;this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
7809
|
-
}}}}if(option.CustomShow&&IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date)){var item=option.CustomShow;this.CustomShow={Date:item.Date};if(IFrameSplitOperator.IsNumber(item.Time))this.CustomShow.Time=item.Time;if(IFrameSplitOperator.IsPlusNumber(item.PageSize))this.CustomShow.PageSize=item.PageSize;}}this.ReloadChartDrawPicture();this.Frame.ClearUpDonwFrameYData();if(ChartData.IsDayPeriod(this.Period,true)){this.ClearStockCache();this.RequestHistoryData();//请求日线数据
|
|
7810
|
+
}}}}if(option.CustomShow&&IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date)){var item=option.CustomShow;this.CustomShow={Date:item.Date,Position:0};if(IFrameSplitOperator.IsNumber(item.Time))this.CustomShow.Time=item.Time;if(IFrameSplitOperator.IsPlusNumber(item.PageSize))this.CustomShow.PageSize=item.PageSize;if(IFrameSplitOperator.IsNumber(item.Position))this.CustomShow.Position=item.Position;}}this.ReloadChartDrawPicture();this.Frame.ClearUpDonwFrameYData();if(ChartData.IsDayPeriod(this.Period,true)){this.ClearStockCache();this.RequestHistoryData();//请求日线数据
|
|
7810
7811
|
//this.ReqeustKLineInfoData();
|
|
7811
7812
|
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ClearStockCache();this.RequestHistoryMinuteData();//请求分钟数据
|
|
7812
7813
|
}else if(ChartData.IsTickPeriod(this.Period)){this.ClearStockCache();this.RequestTickData();}};this.ReqeustKLineInfoData=function(obj){if(obj&&obj.FunctionName=="RecvDragDayData")//增量更新
|
|
@@ -14340,7 +14341,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14340
14341
|
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);};}/********************************************************************************
|
|
14341
14342
|
* 版本信息输出
|
|
14342
14343
|
*
|
|
14343
|
-
*/var HQCHART_VERSION="1.1.
|
|
14344
|
+
*/var HQCHART_VERSION="1.1.14456";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();//把给外界调用的方法暴露出来
|
|
14344
14345
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14345
14346
|
// BaseIndex:BaseIndex,
|
|
14346
14347
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -54481,6 +54481,10 @@ function ChartCorssCursor()
|
|
|
54481
54481
|
|
|
54482
54482
|
this.Canvas.stroke();
|
|
54483
54483
|
this.Canvas.restore();
|
|
54484
|
+
|
|
54485
|
+
this.Canvas.save();
|
|
54486
|
+
this.DrawCorssPoint(x,y);
|
|
54487
|
+
this.Canvas.restore();
|
|
54484
54488
|
}
|
|
54485
54489
|
|
|
54486
54490
|
var xValue=this.Frame.GetXData(y);
|
|
@@ -75223,7 +75227,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75223
75227
|
this.SourceDataLimit=new Map(); //每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
75224
75228
|
this.CtrlMoveStep=5; //Ctrl+(Left/Right) 移动数据个数
|
|
75225
75229
|
|
|
75226
|
-
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:}
|
|
75230
|
+
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:, Position:0=left 1=center }
|
|
75227
75231
|
this.ZoomType=0; //缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
75228
75232
|
this.IsZoomLockRight=false;
|
|
75229
75233
|
this.KLineSize=null; //{ DataWidth:, }
|
|
@@ -75811,12 +75815,12 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75811
75815
|
this.ChartOperator_Temp_Update();
|
|
75812
75816
|
}
|
|
75813
75817
|
}
|
|
75814
|
-
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize
|
|
75818
|
+
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize:可选, Position:0=left 1=center }
|
|
75815
75819
|
{
|
|
75816
75820
|
if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
|
|
75817
75821
|
|
|
75818
75822
|
var hisData=this.ChartOperator_Temp_GetHistoryData();
|
|
75819
|
-
if (!hisData) return; //数据还没有到达
|
|
75823
|
+
if (!hisData || !IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return; //数据还没有到达
|
|
75820
75824
|
|
|
75821
75825
|
var index=this.ChartOperator_GetIndex_ByDateTime(hisData, obj, this.Period, 0);
|
|
75822
75826
|
|
|
@@ -75826,6 +75830,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75826
75830
|
return;
|
|
75827
75831
|
}
|
|
75828
75832
|
|
|
75833
|
+
var position=0;
|
|
75834
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) position=obj.Position;
|
|
75829
75835
|
var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
75830
75836
|
var xPointCount=oldXPointCount;
|
|
75831
75837
|
if (obj.PageSize>0) //调整一屏显示的个数
|
|
@@ -75839,6 +75845,17 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75839
75845
|
this.Frame.SetXShowCount(xPointCount);
|
|
75840
75846
|
}
|
|
75841
75847
|
|
|
75848
|
+
if (position==1) //居中
|
|
75849
|
+
{
|
|
75850
|
+
var moveStep=parseInt(xPointCount/2);
|
|
75851
|
+
index-=moveStep;
|
|
75852
|
+
if (index<0) index=0;
|
|
75853
|
+
}
|
|
75854
|
+
else
|
|
75855
|
+
{
|
|
75856
|
+
|
|
75857
|
+
}
|
|
75858
|
+
|
|
75842
75859
|
hisData.DataOffset=index;
|
|
75843
75860
|
this.CursorIndex=0;
|
|
75844
75861
|
this.LastPoint.X=null;
|
|
@@ -76744,6 +76761,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76744
76761
|
item.XPointCount=showCount;
|
|
76745
76762
|
}
|
|
76746
76763
|
}
|
|
76764
|
+
|
|
76765
|
+
if (IFrameSplitOperator.IsNumber(customShow.Position))
|
|
76766
|
+
{
|
|
76767
|
+
var xCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
76768
|
+
var moveStep=parseInt(xCount/2);
|
|
76769
|
+
index-=moveStep;
|
|
76770
|
+
if (index<0) index=0;
|
|
76771
|
+
}
|
|
76772
|
+
|
|
76747
76773
|
|
|
76748
76774
|
this.ChartPaint[0].Data.DataOffset=index;
|
|
76749
76775
|
this.CursorIndex=0;
|
|
@@ -78769,9 +78795,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
78769
78795
|
{
|
|
78770
78796
|
if (!obj || !obj.Date) return;
|
|
78771
78797
|
|
|
78772
|
-
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date };
|
|
78798
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date, Position:0 };
|
|
78773
78799
|
if (IFrameSplitOperator.IsNumber(obj.Time)) option.Time=obj.Time;
|
|
78774
78800
|
if (IFrameSplitOperator.IsNumber(obj.PageSize)) option.PageSize=obj.PageSize;
|
|
78801
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) option.Position=obj.Position;
|
|
78775
78802
|
|
|
78776
78803
|
this.ChartOperator(option);
|
|
78777
78804
|
}
|
|
@@ -80169,9 +80196,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80169
80196
|
if (option.CustomShow && IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date))
|
|
80170
80197
|
{
|
|
80171
80198
|
var item=option.CustomShow;
|
|
80172
|
-
this.CustomShow={ Date:item.Date };
|
|
80199
|
+
this.CustomShow={ Date:item.Date, Position:0 };
|
|
80173
80200
|
if (IFrameSplitOperator.IsNumber(item.Time)) this.CustomShow.Time=item.Time;
|
|
80174
80201
|
if (IFrameSplitOperator.IsPlusNumber(item.PageSize)) this.CustomShow.PageSize=item.PageSize;
|
|
80202
|
+
if (IFrameSplitOperator.IsNumber(item.Position)) this.CustomShow.Position=item.Position;
|
|
80175
80203
|
}
|
|
80176
80204
|
}
|
|
80177
80205
|
|
|
@@ -58406,6 +58406,10 @@ function ChartCorssCursor()
|
|
|
58406
58406
|
|
|
58407
58407
|
this.Canvas.stroke();
|
|
58408
58408
|
this.Canvas.restore();
|
|
58409
|
+
|
|
58410
|
+
this.Canvas.save();
|
|
58411
|
+
this.DrawCorssPoint(x,y);
|
|
58412
|
+
this.Canvas.restore();
|
|
58409
58413
|
}
|
|
58410
58414
|
|
|
58411
58415
|
var xValue=this.Frame.GetXData(y);
|
|
@@ -79148,7 +79152,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79148
79152
|
this.SourceDataLimit=new Map(); //每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
79149
79153
|
this.CtrlMoveStep=5; //Ctrl+(Left/Right) 移动数据个数
|
|
79150
79154
|
|
|
79151
|
-
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:}
|
|
79155
|
+
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:, Position:0=left 1=center }
|
|
79152
79156
|
this.ZoomType=0; //缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
79153
79157
|
this.IsZoomLockRight=false;
|
|
79154
79158
|
this.KLineSize=null; //{ DataWidth:, }
|
|
@@ -79736,12 +79740,12 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79736
79740
|
this.ChartOperator_Temp_Update();
|
|
79737
79741
|
}
|
|
79738
79742
|
}
|
|
79739
|
-
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize
|
|
79743
|
+
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize:可选, Position:0=left 1=center }
|
|
79740
79744
|
{
|
|
79741
79745
|
if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
|
|
79742
79746
|
|
|
79743
79747
|
var hisData=this.ChartOperator_Temp_GetHistoryData();
|
|
79744
|
-
if (!hisData) return; //数据还没有到达
|
|
79748
|
+
if (!hisData || !IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return; //数据还没有到达
|
|
79745
79749
|
|
|
79746
79750
|
var index=this.ChartOperator_GetIndex_ByDateTime(hisData, obj, this.Period, 0);
|
|
79747
79751
|
|
|
@@ -79751,6 +79755,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79751
79755
|
return;
|
|
79752
79756
|
}
|
|
79753
79757
|
|
|
79758
|
+
var position=0;
|
|
79759
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) position=obj.Position;
|
|
79754
79760
|
var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
79755
79761
|
var xPointCount=oldXPointCount;
|
|
79756
79762
|
if (obj.PageSize>0) //调整一屏显示的个数
|
|
@@ -79764,6 +79770,17 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79764
79770
|
this.Frame.SetXShowCount(xPointCount);
|
|
79765
79771
|
}
|
|
79766
79772
|
|
|
79773
|
+
if (position==1) //居中
|
|
79774
|
+
{
|
|
79775
|
+
var moveStep=parseInt(xPointCount/2);
|
|
79776
|
+
index-=moveStep;
|
|
79777
|
+
if (index<0) index=0;
|
|
79778
|
+
}
|
|
79779
|
+
else
|
|
79780
|
+
{
|
|
79781
|
+
|
|
79782
|
+
}
|
|
79783
|
+
|
|
79767
79784
|
hisData.DataOffset=index;
|
|
79768
79785
|
this.CursorIndex=0;
|
|
79769
79786
|
this.LastPoint.X=null;
|
|
@@ -80669,6 +80686,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80669
80686
|
item.XPointCount=showCount;
|
|
80670
80687
|
}
|
|
80671
80688
|
}
|
|
80689
|
+
|
|
80690
|
+
if (IFrameSplitOperator.IsNumber(customShow.Position))
|
|
80691
|
+
{
|
|
80692
|
+
var xCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
80693
|
+
var moveStep=parseInt(xCount/2);
|
|
80694
|
+
index-=moveStep;
|
|
80695
|
+
if (index<0) index=0;
|
|
80696
|
+
}
|
|
80697
|
+
|
|
80672
80698
|
|
|
80673
80699
|
this.ChartPaint[0].Data.DataOffset=index;
|
|
80674
80700
|
this.CursorIndex=0;
|
|
@@ -82694,9 +82720,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82694
82720
|
{
|
|
82695
82721
|
if (!obj || !obj.Date) return;
|
|
82696
82722
|
|
|
82697
|
-
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date };
|
|
82723
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date, Position:0 };
|
|
82698
82724
|
if (IFrameSplitOperator.IsNumber(obj.Time)) option.Time=obj.Time;
|
|
82699
82725
|
if (IFrameSplitOperator.IsNumber(obj.PageSize)) option.PageSize=obj.PageSize;
|
|
82726
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) option.Position=obj.Position;
|
|
82700
82727
|
|
|
82701
82728
|
this.ChartOperator(option);
|
|
82702
82729
|
}
|
|
@@ -84094,9 +84121,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84094
84121
|
if (option.CustomShow && IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date))
|
|
84095
84122
|
{
|
|
84096
84123
|
var item=option.CustomShow;
|
|
84097
|
-
this.CustomShow={ Date:item.Date };
|
|
84124
|
+
this.CustomShow={ Date:item.Date, Position:0 };
|
|
84098
84125
|
if (IFrameSplitOperator.IsNumber(item.Time)) this.CustomShow.Time=item.Time;
|
|
84099
84126
|
if (IFrameSplitOperator.IsPlusNumber(item.PageSize)) this.CustomShow.PageSize=item.PageSize;
|
|
84127
|
+
if (IFrameSplitOperator.IsNumber(item.Position)) this.CustomShow.Position=item.Position;
|
|
84100
84128
|
}
|
|
84101
84129
|
}
|
|
84102
84130
|
|
|
@@ -143569,7 +143597,7 @@ function ScrollBarBGChart()
|
|
|
143569
143597
|
|
|
143570
143598
|
|
|
143571
143599
|
|
|
143572
|
-
var HQCHART_VERSION="1.1.
|
|
143600
|
+
var HQCHART_VERSION="1.1.14456";
|
|
143573
143601
|
|
|
143574
143602
|
function PrintHQChartVersion()
|
|
143575
143603
|
{
|
|
@@ -58450,6 +58450,10 @@ function ChartCorssCursor()
|
|
|
58450
58450
|
|
|
58451
58451
|
this.Canvas.stroke();
|
|
58452
58452
|
this.Canvas.restore();
|
|
58453
|
+
|
|
58454
|
+
this.Canvas.save();
|
|
58455
|
+
this.DrawCorssPoint(x,y);
|
|
58456
|
+
this.Canvas.restore();
|
|
58453
58457
|
}
|
|
58454
58458
|
|
|
58455
58459
|
var xValue=this.Frame.GetXData(y);
|
|
@@ -79192,7 +79196,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79192
79196
|
this.SourceDataLimit=new Map(); //每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
79193
79197
|
this.CtrlMoveStep=5; //Ctrl+(Left/Right) 移动数据个数
|
|
79194
79198
|
|
|
79195
|
-
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:}
|
|
79199
|
+
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:, Position:0=left 1=center }
|
|
79196
79200
|
this.ZoomType=0; //缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
79197
79201
|
this.IsZoomLockRight=false;
|
|
79198
79202
|
this.KLineSize=null; //{ DataWidth:, }
|
|
@@ -79780,12 +79784,12 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79780
79784
|
this.ChartOperator_Temp_Update();
|
|
79781
79785
|
}
|
|
79782
79786
|
}
|
|
79783
|
-
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize
|
|
79787
|
+
else if (id==JSCHART_OPERATOR_ID.OP_GOTO) //{ Date:日期, Time:, PageSize:可选, Position:0=left 1=center }
|
|
79784
79788
|
{
|
|
79785
79789
|
if (!IFrameSplitOperator.IsNumber(obj.Date)) return;
|
|
79786
79790
|
|
|
79787
79791
|
var hisData=this.ChartOperator_Temp_GetHistoryData();
|
|
79788
|
-
if (!hisData) return; //数据还没有到达
|
|
79792
|
+
if (!hisData || !IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return; //数据还没有到达
|
|
79789
79793
|
|
|
79790
79794
|
var index=this.ChartOperator_GetIndex_ByDateTime(hisData, obj, this.Period, 0);
|
|
79791
79795
|
|
|
@@ -79795,6 +79799,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79795
79799
|
return;
|
|
79796
79800
|
}
|
|
79797
79801
|
|
|
79802
|
+
var position=0;
|
|
79803
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) position=obj.Position;
|
|
79798
79804
|
var oldXPointCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
79799
79805
|
var xPointCount=oldXPointCount;
|
|
79800
79806
|
if (obj.PageSize>0) //调整一屏显示的个数
|
|
@@ -79808,6 +79814,17 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79808
79814
|
this.Frame.SetXShowCount(xPointCount);
|
|
79809
79815
|
}
|
|
79810
79816
|
|
|
79817
|
+
if (position==1) //居中
|
|
79818
|
+
{
|
|
79819
|
+
var moveStep=parseInt(xPointCount/2);
|
|
79820
|
+
index-=moveStep;
|
|
79821
|
+
if (index<0) index=0;
|
|
79822
|
+
}
|
|
79823
|
+
else
|
|
79824
|
+
{
|
|
79825
|
+
|
|
79826
|
+
}
|
|
79827
|
+
|
|
79811
79828
|
hisData.DataOffset=index;
|
|
79812
79829
|
this.CursorIndex=0;
|
|
79813
79830
|
this.LastPoint.X=null;
|
|
@@ -80713,6 +80730,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80713
80730
|
item.XPointCount=showCount;
|
|
80714
80731
|
}
|
|
80715
80732
|
}
|
|
80733
|
+
|
|
80734
|
+
if (IFrameSplitOperator.IsNumber(customShow.Position))
|
|
80735
|
+
{
|
|
80736
|
+
var xCount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
80737
|
+
var moveStep=parseInt(xCount/2);
|
|
80738
|
+
index-=moveStep;
|
|
80739
|
+
if (index<0) index=0;
|
|
80740
|
+
}
|
|
80741
|
+
|
|
80716
80742
|
|
|
80717
80743
|
this.ChartPaint[0].Data.DataOffset=index;
|
|
80718
80744
|
this.CursorIndex=0;
|
|
@@ -82738,9 +82764,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82738
82764
|
{
|
|
82739
82765
|
if (!obj || !obj.Date) return;
|
|
82740
82766
|
|
|
82741
|
-
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date };
|
|
82767
|
+
var option={ ID:JSCHART_OPERATOR_ID.OP_GOTO, Date:obj.Date, Position:0 };
|
|
82742
82768
|
if (IFrameSplitOperator.IsNumber(obj.Time)) option.Time=obj.Time;
|
|
82743
82769
|
if (IFrameSplitOperator.IsNumber(obj.PageSize)) option.PageSize=obj.PageSize;
|
|
82770
|
+
if (IFrameSplitOperator.IsNumber(obj.Position)) option.Position=obj.Position;
|
|
82744
82771
|
|
|
82745
82772
|
this.ChartOperator(option);
|
|
82746
82773
|
}
|
|
@@ -84138,9 +84165,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84138
84165
|
if (option.CustomShow && IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date))
|
|
84139
84166
|
{
|
|
84140
84167
|
var item=option.CustomShow;
|
|
84141
|
-
this.CustomShow={ Date:item.Date };
|
|
84168
|
+
this.CustomShow={ Date:item.Date, Position:0 };
|
|
84142
84169
|
if (IFrameSplitOperator.IsNumber(item.Time)) this.CustomShow.Time=item.Time;
|
|
84143
84170
|
if (IFrameSplitOperator.IsPlusNumber(item.PageSize)) this.CustomShow.PageSize=item.PageSize;
|
|
84171
|
+
if (IFrameSplitOperator.IsNumber(item.Position)) this.CustomShow.Position=item.Position;
|
|
84144
84172
|
}
|
|
84145
84173
|
}
|
|
84146
84174
|
|
|
@@ -153381,7 +153409,7 @@ function HQChartScriptWorker()
|
|
|
153381
153409
|
|
|
153382
153410
|
|
|
153383
153411
|
|
|
153384
|
-
var HQCHART_VERSION="1.1.
|
|
153412
|
+
var HQCHART_VERSION="1.1.14456";
|
|
153385
153413
|
|
|
153386
153414
|
function PrintHQChartVersion()
|
|
153387
153415
|
{
|