hqchart 1.1.12804 → 1.1.12813

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.
@@ -7591,7 +7591,8 @@ self.AutoUpdate();});if(obj.PreventDefault==true)return;//已被上层替换,不
7591
7591
  }JSNetwork.HttpRequest({url:url,data:postData,type:"post",dataType:"json",async:true,success:function success(data){self.RecvPreviousMinuteData(data,option);download.Status=0;self.AutoUpdateEvent(true,funcName);//自动更新
7592
7592
  self.AutoUpdate();}});};this.RecvPreviousMinuteData=function(data,option){var download=option.Download;var aryDayData=KLineChartContainer.JsonDataToMinuteHistoryData(data);if(!aryDayData||aryDayData.length<=0){download.IsEnd=true;JSConsole.Chart.Log('[KLineChartContainer.RecvPreviousMinuteData] '+this.Symbol+' data end. FuncName='+option.FuncName);this.Draw();return;}var lastDataCount=this.GetHistoryDataCount();//保存下上一次的数据个数
7593
7593
  var firstData=this.SourceData.Data[0];var endIndex=null;for(var i=aryDayData.length-1;i>=0;--i){var item=aryDayData[i];if(firstData.Date>item.Date||firstData.Date==item.Date&&firstData.Time>item.Time){endIndex=i;break;}else if(firstData.Date==item.Date&&firstData.Time==item.Time){firstData.YClose=item.YClose;endIndex=i-1;break;}}if(endIndex==null&&endIndex<0)return;for(var i=0;i<aryDayData.length&&i<=endIndex;++i)//数据往前插
7594
- {var item=aryDayData[i];this.SourceData.Data.splice(i,0,item);}var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;bindData.DataType=this.SourceData.DataType;bindData.Symbol=this.Symbol;if(!this.IsApiPeriod){if(ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))//周期数据 (0= 日线,4=1分钟线 不需要处理)
7594
+ {var item=aryDayData[i];this.SourceData.Data.splice(i,0,item);}var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;bindData.DataType=this.SourceData.DataType;bindData.Symbol=this.Symbol;if(!this.IsApiPeriod){if(bindData.Right>0&&this.RightFormula>=1)//复权
7595
+ {var rightData=bindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});bindData.Data=rightData;}if(ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))//周期数据 (0= 日线,4=1分钟线 不需要处理)
7595
7596
  {var periodData=bindData.GetPeriodData(bindData.Period);bindData.Data=periodData;}}var kLineCalculate=this.GetKLineCalulate();if(kLineCalculate)//额外的K线图形计算
7596
7597
  {var newBindData=kLineCalculate.RecvHistoryData(bindData,{Symbol:this.Symbol,Function:option.RecvFuncName});bindData=newBindData;this.FlowCapitalReady=true;}//绑定数据
7597
7598
  this.UpdateMainData(bindData,lastDataCount);if(option)//缩放需要调整当前屏的位置
@@ -7614,18 +7615,19 @@ this.RequestPreviousDayData=function(option){var funcName=option.FuncName;var fu
7614
7615
  var self=this;this.AutoUpdateEvent(false,funcName);//停止自动更新
7615
7616
  this.CancelAutoUpdate();download.Status=1;var firstItem=this.SourceData.Data[0];//最新的一条数据
7616
7617
  var postData={"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"enddate":firstItem.Date,"count":count,"first":{date:firstItem.Date}};if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){postData.overlay=[];for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];postData.overlay.push({symbol:item.Symbol});}}if(this.NetworkFilter){var obj={Name:funcName,//类名::函数
7617
- Explain:funcExplain,Request:{Url:url,Type:'POST',Data:postData,Period:this.Period,Right:this.Right},DragDownload:download,Self:this,PreventDefault:false,ZoomData:option.ZoomData};this.NetworkFilter(obj,function(data){self.RecvPreviousDayData(data,option);download.Status=0;self.AutoUpdateEvent(true,funcName);//自动更新
7618
+ Explain:funcExplain,Request:{Url:url,Type:'POST',Data:postData,Period:this.Period,Right:this.Right},DragDownload:download,Option:option,Self:this,PreventDefault:false,ZoomData:option.ZoomData};this.NetworkFilter(obj,function(data){self.RecvPreviousDayData(data,option);download.Status=0;self.AutoUpdateEvent(true,funcName);//自动更新
7618
7619
  self.AutoUpdate();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
7619
7620
  }JSNetwork.HttpRequest({url:url,data:postData,type:"post",dataType:"json",async:true,success:function success(data){self.RecvPreviousDayData(data,option);download.Status=0;self.AutoUpdateEvent(true,funcName);//自动更新
7620
7621
  self.AutoUpdate();}});};this.RecvPreviousDayData=function(data,option){var download=option.Download;var aryDayData=KLineChartContainer.JsonDataToHistoryData(data);if(!aryDayData||aryDayData.length<=0){download.IsEnd=true;//下完了
7621
7622
  JSConsole.Chart.Log('[KLineChartContainer.RecvPreviousDayData] '+this.Symbol+' data end. FuncName='+option.FuncName);return;}var lastDataCount=this.GetHistoryDataCount();//保存下上一次的数据个数
7622
7623
  var firstData=this.SourceData.Data[0];var endIndex=null;for(var i=aryDayData.length-1;i>=0;--i){var item=aryDayData[i];if(firstData.Date>item.Date){endIndex=i;break;}else if(firstData.Date==item.Date){firstData.YClose=item.YClose;endIndex=i-1;break;}}if(endIndex==null&&endIndex<0)return;for(var i=0;i<aryDayData.length&&i<=endIndex;++i)//数据往前插
7623
- {var item=aryDayData[i];this.SourceData.Data.splice(i,0,item);}var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;bindData.DataType=this.SourceData.DataType;bindData.Symbol=this.Symbol;if(!this.IsApiPeriod){if(ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))//周期数据 (0= 日线,4=1分钟线 不需要处理)
7624
+ {var item=aryDayData[i];this.SourceData.Data.splice(i,0,item);}var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;bindData.DataType=this.SourceData.DataType;bindData.Symbol=this.Symbol;if(!this.IsApiPeriod){if(bindData.Right>0)//复权
7625
+ {var rightData=bindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});bindData.Data=rightData;}if(ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))//周期数据 (0= 日线,4=1分钟线 不需要处理)
7624
7626
  {var periodData=bindData.GetPeriodData(bindData.Period);bindData.Data=periodData;}}var kLineCalculate=this.GetKLineCalulate();if(kLineCalculate)//额外的K线图形计算
7625
7627
  {var newBindData=kLineCalculate.RecvHistoryData(bindData,{Symbol:this.Symbol,Function:option.RecvFuncName});bindData=newBindData;this.FlowCapitalReady=true;}//绑定数据
7626
- this.UpdateMainData(bindData,lastDataCount);if(option&&option.ZoomData)//缩放需要调整当前屏的位置
7627
- {var zoomData=option.ZoomData;var showCount=zoomData.PageSize-zoomData.RightSpaceCount;//一屏显示的数据个数
7628
- bindData.DataOffset=bindData.Data.length-showCount;if(bindData.DataOffset<0)bindData.DataOffset=0;}this.UpdateOverlayDragDayData(data);this.BindInstructionIndexData(bindData);//执行指示脚本
7628
+ this.UpdateMainData(bindData,lastDataCount);if(option)//缩放需要调整当前屏的位置
7629
+ {if(option.ZoomData){var zoomData=option.ZoomData;var showCount=zoomData.PageSize-zoomData.RightSpaceCount;//一屏显示的数据个数
7630
+ bindData.DataOffset=bindData.Data.length-showCount;if(bindData.DataOffset<0)bindData.DataOffset=0;}else if(IFrameSplitOperator.IsNumber(option.DataOffset)){bindData.DataOffset+=option.DataOffset;if(bindData.DataOffset<0)bindData.DataOffset=0;}}this.UpdateOverlayDragDayData(data);this.BindInstructionIndexData(bindData);//执行指示脚本
7629
7631
  for(var i=0;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}//刷新画图
7630
7632
  this.UpdataDataoffset();//更新数据偏移
7631
7633
  this.UpdatePointByCursorIndex();//更新十字光标位子
@@ -7633,7 +7635,7 @@ this.UpdateFrameMaxMin();//调整坐标最大 最小值
7633
7635
  this.Frame.SetSizeChage(true);this.UpdateChartDrawXValue();//更新画图工具X轴索引
7634
7636
  this.Draw();//更新信息地雷
7635
7637
  this.ReqeustKLineInfoData({FunctionName:option.RecvFuncName,StartDate:firstData.Date});//叠加指标计算
7636
- this.BindAllOverlayIndexData(bindData);};this.RequestZoomDayData=function(requestData){var count=this.MaxRequestDataCount;if(requestData.Count>count)count=requestData.Count;var zoomData={PageSize:requestData.PageSize,DataCount:requestData.DataCount,RightSpaceCount:requestData.RightSpaceCount};var option={FuncName:'KLineChartContainer::RequestZoomDayData',FuncExplain:"缩放日K数据下载",RecvFuncName:"RecvZoomDayData",Download:this.ZoomDownload.Day,Url:this.ZoomKLineApiUrl,Count:count,ZoomData:zoomData};this.RequestPreviousDayData(option);};this.RequestDragDayData=function(){var option={FuncName:'KLineChartContainer::RequestDragDayData',FuncExplain:"拖拽日K数据下载",RecvFuncName:"RecvDragDayData",Download:this.DragDownload.Day,Url:this.DragKLineApiUrl,Count:this.MaxRequestDataCount};this.RequestPreviousDayData(option);};//更新叠加数据
7638
+ this.BindAllOverlayIndexData(bindData);};this.RequestZoomDayData=function(requestData){var count=this.MaxRequestDataCount;if(requestData.Count>count)count=requestData.Count;var zoomData={PageSize:requestData.PageSize,DataCount:requestData.DataCount,RightSpaceCount:requestData.RightSpaceCount};var option={FuncName:'KLineChartContainer::RequestZoomDayData',FuncExplain:"缩放日K数据下载",RecvFuncName:"RecvZoomDayData",Download:this.ZoomDownload.Day,Url:this.ZoomKLineApiUrl,XShowCount:this.Frame.GetXShowCount(),Count:count,ZoomData:zoomData};this.RequestPreviousDayData(option);};this.RequestDragDayData=function(){var option={FuncName:'KLineChartContainer::RequestDragDayData',FuncExplain:"拖拽日K数据下载",RecvFuncName:"RecvDragDayData",Download:this.DragDownload.Day,Url:this.DragKLineApiUrl,Count:this.MaxRequestDataCount,XShowCount:this.Frame.GetXShowCount()};this.RequestPreviousDayData(option);};//更新叠加数据
7637
7639
  this.UpdateOverlayDragDayData=function(data){if(!IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint))return;var aryRecvOverlayData=data.overlay;if(!IFrameSplitOperator.IsNonEmptyArray(aryRecvOverlayData))return;for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol)continue;if(!item.MainData)continue;//等待主图股票数据未下载完
7638
7640
  if(item.Status!=OVERLAY_STATUS_ID.STATUS_FINISHED_ID)continue;var findData=null;for(var j=0;j<aryRecvOverlayData.length;++j)//查找对应的叠加股票数据
7639
7641
  {var overlayItem=aryRecvOverlayData[j];if(overlayItem.symbol==item.Symbol){findData=overlayItem;break;}}if(!findData)continue;var aryDayData=KLineChartContainer.JsonDataToHistoryData(findData);var sourceData=item.SourceData;//叠加股票的所有数据
@@ -13009,7 +13011,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13009
13011
  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);};}/********************************************************************************
13010
13012
  * 版本信息输出
13011
13013
  *
13012
- */var HQCHART_VERSION="1.1.12803";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13014
+ */var HQCHART_VERSION="1.1.12812";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13013
13015
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13014
13016
  // BaseIndex:BaseIndex,
13015
13017
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.12804",
3
+ "version": "1.1.12813",
4
4
  "description": "stock chart",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -71729,6 +71729,12 @@ function KLineChartContainer(uielement,OffscreenElement)
71729
71729
 
71730
71730
  if (!this.IsApiPeriod)
71731
71731
  {
71732
+ if (bindData.Right>0 && this.RightFormula>=1) //复权
71733
+ {
71734
+ var rightData=bindData.GetRightData(bindData.Right, { AlgorithmType: this.RightFormula } );
71735
+ bindData.Data=rightData;
71736
+ }
71737
+
71732
71738
  if (ChartData.IsDayPeriod(bindData.Period,false) || ChartData.IsMinutePeriod(bindData.Period,false)) //周期数据 (0= 日线,4=1分钟线 不需要处理)
71733
71739
  {
71734
71740
  var periodData=bindData.GetPeriodData(bindData.Period);
@@ -71938,6 +71944,7 @@ function KLineChartContainer(uielement,OffscreenElement)
71938
71944
  Explain:funcExplain,
71939
71945
  Request:{ Url:url, Type:'POST' , Data: postData, Period:this.Period, Right:this.Right },
71940
71946
  DragDownload:download,
71947
+ Option:option,
71941
71948
  Self:this,
71942
71949
  PreventDefault:false,
71943
71950
  ZoomData:option.ZoomData
@@ -72015,6 +72022,12 @@ function KLineChartContainer(uielement,OffscreenElement)
72015
72022
 
72016
72023
  if (!this.IsApiPeriod)
72017
72024
  {
72025
+ if (bindData.Right>0) //复权
72026
+ {
72027
+ var rightData=bindData.GetRightData(bindData.Right, { AlgorithmType: this.RightFormula });
72028
+ bindData.Data=rightData;
72029
+ }
72030
+
72018
72031
  if (ChartData.IsDayPeriod(bindData.Period,false) || ChartData.IsMinutePeriod(bindData.Period,false)) //周期数据 (0= 日线,4=1分钟线 不需要处理)
72019
72032
  {
72020
72033
  var periodData=bindData.GetPeriodData(bindData.Period);
@@ -72032,12 +72045,20 @@ function KLineChartContainer(uielement,OffscreenElement)
72032
72045
 
72033
72046
  //绑定数据
72034
72047
  this.UpdateMainData(bindData,lastDataCount);
72035
- if (option && option.ZoomData) //缩放需要调整当前屏的位置
72048
+ if (option) //缩放需要调整当前屏的位置
72036
72049
  {
72037
- var zoomData=option.ZoomData;
72038
- var showCount=zoomData.PageSize-zoomData.RightSpaceCount; //一屏显示的数据个数
72039
- bindData.DataOffset= bindData.Data.length-showCount;
72040
- if (bindData.DataOffset<0) bindData.DataOffset=0;
72050
+ if (option.ZoomData)
72051
+ {
72052
+ var zoomData=option.ZoomData;
72053
+ var showCount=zoomData.PageSize-zoomData.RightSpaceCount; //一屏显示的数据个数
72054
+ bindData.DataOffset= bindData.Data.length-showCount;
72055
+ if (bindData.DataOffset<0) bindData.DataOffset=0;
72056
+ }
72057
+ else if (IFrameSplitOperator.IsNumber(option.DataOffset))
72058
+ {
72059
+ bindData.DataOffset+=option.DataOffset;
72060
+ if (bindData.DataOffset<0) bindData.DataOffset=0;
72061
+ }
72041
72062
  }
72042
72063
 
72043
72064
  this.UpdateOverlayDragDayData(data);
@@ -72076,6 +72097,7 @@ function KLineChartContainer(uielement,OffscreenElement)
72076
72097
  RecvFuncName:"RecvZoomDayData",
72077
72098
  Download:this.ZoomDownload.Day,
72078
72099
  Url:this.ZoomKLineApiUrl,
72100
+ XShowCount:this.Frame.GetXShowCount(),
72079
72101
  Count:count,
72080
72102
  ZoomData:zoomData
72081
72103
  };
@@ -72093,7 +72115,8 @@ function KLineChartContainer(uielement,OffscreenElement)
72093
72115
  RecvFuncName:"RecvDragDayData",
72094
72116
  Download:this.DragDownload.Day,
72095
72117
  Url:this.DragKLineApiUrl,
72096
- Count:this.MaxRequestDataCount
72118
+ Count:this.MaxRequestDataCount,
72119
+ XShowCount:this.Frame.GetXShowCount(),
72097
72120
  };
72098
72121
 
72099
72122
  this.RequestPreviousDayData(option);