hqchart 1.1.12557 → 1.1.12565
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
|
@@ -1327,7 +1327,7 @@ for(var i=0;i<chart.Frame.SubFrame.length;++i){chart.Frame.SubFrame[i].Frame.Cha
|
|
|
1327
1327
|
};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;else option.Border.Left=chart.Frame.ChartBorder.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;else option.Border.Right=chart.Frame.ChartBorder.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;else option.Border.Top=chart.Frame.ChartBorder.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;else option.Border.Bottom=chart.Frame.ChartBorder.Bottom;if(item.AutoLeft){chart.Frame.AutoLeftBorder={};if(IFrameSplitOperator.IsNumber(item.AutoLeft.Blank))chart.Frame.AutoLeftBorder.Blank=item.AutoLeft.Blank;if(IFrameSplitOperator.IsNumber(item.AutoLeft.MinWidth))chart.Frame.AutoLeftBorder.MinWidth=item.AutoLeft.MinWidth;}if(item.AutoRight){chart.Frame.AutoRightBorder={};if(IFrameSplitOperator.IsNumber(item.AutoRight.Blank))chart.Frame.AutoRightBorder.Blank=item.AutoRight.Blank;if(IFrameSplitOperator.IsNumber(item.AutoRight.MinWidth))chart.Frame.AutoRightBorder.MinWidth=item.AutoRight.MinWidth;}};this.SetEventCallback=function(chart,aryCallback){if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryCallback))return;for(var i=0;i<aryCallback.length;++i){var item=aryCallback[i];chart.AddEventCallback(item);}};//历史K线图
|
|
1328
1328
|
this.CreateKLineChartContainer=function(option){var _this2=this;var chart=null;if(option.Type==="历史K线图横屏")chart=new KLineChartHScreenContainer(this.CanvasElement);else chart=new KLineChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this2.GetExtraCanvas(name);};var extraElement=this.GetExtraCanvas(JSChart.CorssCursorCanvasKey);if(extraElement)chart.SetCorssCursorElement(extraElement);if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;//创建改参数div
|
|
1329
1329
|
chart.ModifyIndexDialog=this.ModifyIndexDialog;chart.ChangeIndexDialog=this.ChangeIndexDialog;chart.MinuteDialog=this.MinuteDialog;//右键菜单
|
|
1330
|
-
if(option.IsShowRightMenu==true)chart.RightMenu=new KLineRightMenu(this.DivElement);if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;chart.SelectRectRightMenu=new KLineSelectRightMenu(this.DivElement);if(option.EnableScrollUpDown==true)chart.EnableScrollUpDown=option.EnableScrollUpDown;if(option.DisableMouse==true)chart.DisableMouse=option.DisableMouse;if(option.TouchMoveMinAngle)chart.TouchMoveMinAngle=option.TouchMoveMinAngle;if(option.EnableZoomUpDown)chart.EnableZoomUpDown=option.EnableZoomUpDown;if(IFrameSplitOperator.IsString(option.SplashTitle))chart.LoadDataSplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow))chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;if(IFrameSplitOperator.IsBool(option.IsDrawPictureXY))chart.IsDrawPictureXY=option.IsDrawPictureXY;if(IFrameSplitOperator.IsNumber(option.CtrlMoveStep))chart.CtrlMoveStep=option.CtrlMoveStep;if(IFrameSplitOperator.IsBool(option.EnableIndexChartDrag))chart.EnableIndexChartDrag=option.EnableIndexChartDrag;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;}if(option.KLine)//k线图的属性设置
|
|
1330
|
+
if(option.IsShowRightMenu==true)chart.RightMenu=new KLineRightMenu(this.DivElement);if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;chart.SelectRectRightMenu=new KLineSelectRightMenu(this.DivElement);if(option.EnableScrollUpDown==true)chart.EnableScrollUpDown=option.EnableScrollUpDown;if(option.DisableMouse==true)chart.DisableMouse=option.DisableMouse;if(option.TouchMoveMinAngle)chart.TouchMoveMinAngle=option.TouchMoveMinAngle;if(option.EnableZoomUpDown)chart.EnableZoomUpDown=option.EnableZoomUpDown;if(IFrameSplitOperator.IsString(option.SplashTitle))chart.LoadDataSplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow))chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;if(IFrameSplitOperator.IsBool(option.IsDrawPictureXY))chart.IsDrawPictureXY=option.IsDrawPictureXY;if(IFrameSplitOperator.IsNumber(option.CtrlMoveStep))chart.CtrlMoveStep=option.CtrlMoveStep;if(IFrameSplitOperator.IsBool(option.EnableIndexChartDrag))chart.EnableIndexChartDrag=option.EnableIndexChartDrag;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;if(option.GlobalOption){var item=option.GlobalOption;if(IFrameSplitOperator.IsBool(item.IsValueFullRange))chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;}if(option.KLine)//k线图的属性设置
|
|
1331
1331
|
{if(option.KLine.DragMode>=0)chart.DragMode=option.KLine.DragMode;if(option.KLine.Right>=0)chart.Right=option.KLine.Right;if(option.KLine.Period>=0)chart.Period=option.KLine.Period;if(option.KLine.MaxReqeustDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxReqeustDataCount;//兼容老版本
|
|
1332
1332
|
if(option.KLine.MaxRequestDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxRequestDataCount;if(option.KLine.Info&&option.KLine.Info.length>0)chart.SetKLineInfo(option.KLine.Info,false);if(option.KLine.KLineDoubleClick==false)chart.MinuteDialog=this.MinuteDialog=null;if(option.KLine.IsShowTooltip==false)chart.IsShowTooltip=false;if(option.KLine.MaxRequestMinuteDayCount>0)chart.MaxRequestMinuteDayCount=option.KLine.MaxRequestMinuteDayCount;if(option.KLine.DrawType)chart.KLineDrawType=option.KLine.DrawType;if(option.KLine.FirstShowDate>19910101)chart.CustomShow={Date:option.KLine.FirstShowDate,PageSize:option.KLine.PageSize};if(option.KLine.RightSpaceCount>0)chart.RightSpaceCount=option.KLine.RightSpaceCount;if(option.KLine.ZoomType>0)chart.ZoomType=option.KLine.ZoomType;if(option.KLine.DataWidth>=1)chart.KLineSize={DataWidth:option.KLine.DataWidth};if(IFrameSplitOperator.IsNumber(option.KLine.RightFormula))chart.RightFormula=option.KLine.RightFormula;}if(option.EnableFlowCapital){var item=option.EnableFlowCapital;if(item.BIT==true)chart.EnableFlowCapital.BIT=item.BIT;}if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}if(option.Page){if(option.Page.Day&&option.Page.Day.Enable==true)chart.Page.Day.Enable=true;if(option.Page.Minute&&option.Page.Minute.Enable==true)chart.Page.Minute.Enable=true;}if(option.DragDownload){if(option.DragDownload.Day&&option.DragDownload.Day.Enable==true)chart.DragDownload.Day.Enable=true;if(option.DragDownload.Minute&&option.DragDownload.Minute.Enable==true)chart.DragDownload.Minute.Enable=true;}if(option.ZoomDownload){if(option.ZoomDownload.Day&&IFrameSplitOperator.IsBool(option.ZoomDownload.Day.Enable))chart.ZoomDownload.Day.Enable=option.ZoomDownload.Day.Enable;if(option.ZoomDownload.Minute&&IFrameSplitOperator.IsBool(option.ZoomDownload.Minute.Enable))chart.ZoomDownload.Minute.Enable=option.ZoomDownload.Minute.Enable;}if(option.Language){var value=g_JSChartLocalization.GetLanguageID(option.Language);if(IFrameSplitOperator.IsNumber(value))chart.LanguageID=value;}if(option.SourceDatatLimit)chart.SetSourceDatatLimit(option.SourceDatatLimit);if(option.DrawPicture)//画图工具
|
|
1333
1333
|
{if(option.DrawPicture.StorageKey&&chart.ChartDrawStorage)chart.ChartDrawStorage.Load(option.DrawPicture.StorageKey);}if(option.DrawTool)//画图工具
|
|
@@ -2436,8 +2436,9 @@ this.GetXData=function(x,isLimit){var distanceWidth=this.DistanceWidth;var dataW
|
|
|
2436
2436
|
return index;}};//计算数据宽度
|
|
2437
2437
|
this.CalculateDataWidth=function(){if(this.XPointCount<2)return;//JSConsole.Chart.Log(`[KLineFrame::CalculateDataWidth] ZoomIndex=${this.ZoomIndex}, XPointCount=${this.XPointCount}, DataWidth=${this.DataWidth}, DistanceWidth=${this.DistanceWidth}`);
|
|
2438
2438
|
var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;if(this.ZoomIndex>=0&&this.LastCalculateStatus.Width==width&&this.LastCalculateStatus.XPointCount==this.XPointCount)//宽度没变 尝试使用原来的柱子宽度
|
|
2439
|
-
{var caclWidth=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth)*(this.XPointCount-1);var caclWidth2=(this.DataWidth+this.DistanceWidth)*this.XPointCount;if(
|
|
2440
|
-
return;}
|
|
2439
|
+
{var caclWidth=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth)*(this.XPointCount-1);var caclWidth2=(this.DataWidth+this.DistanceWidth)*this.XPointCount;if(this.DataWidth<2){if(caclWidth2<=width)//当前的柱子宽度够用 就不调整了
|
|
2440
|
+
return;}else{if(caclWidth<=width)//当前的柱子宽度够用 就不调整了
|
|
2441
|
+
return;}}this.LastCalculateStatus.Width=width;this.LastCalculateStatus.XPointCount=this.XPointCount;for(var i=0;i<ZOOM_SEED.length;++i){if((ZOOM_SEED[i][0]+ZOOM_SEED[i][1])*this.XPointCount<width){this.ZoomIndex=i;this.DataWidth=ZOOM_SEED[i][0];this.DistanceWidth=ZOOM_SEED[i][1];this.TrimKLineDataWidth(width);JSConsole.Chart.Log('[KLineFrame::CalculateDataWidth] ZOOM_SEED, DataWidth, DistanceWidth, XPointCount',ZOOM_SEED[this.ZoomIndex],this.DataWidth,this.DistanceWidth,this.XPointCount);return;}}//太多了 就平均分了
|
|
2441
2442
|
this.ZoomIndex=ZOOM_SEED.length-1;this.DataWidth=width/this.XPointCount;this.DistanceWidth=0;};this.OnSize=function(obj){var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;var xPointCount=0;var y=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth);for(;y<width;y+=this.DataWidth+this.DistanceWidth,++xPointCount){}obj.CurCount=this.XPointCount;obj.CalcCount=xPointCount;obj.DataWidth=this.DataWidth;obj.DistanceWidth=this.DistanceWidth;obj.Changed=false;this.LastCalculateStatus.Width=width;if(obj.CurCount==obj.CalcCount)return obj;this.XPointCount=xPointCount;this.LastCalculateStatus.XPointCount=this.XPointCount;if(this.Data){this.Data.DataOffset+=obj.CurCount-obj.CalcCount;if(this.Data.DataOffset<0)this.Data.DataOffset=0;obj.Changed=true;}return obj;};this.SetDataWidth=function(dataWidth){var zoomIndex=ZOOM_SEED.length-1;for(var i in ZOOM_SEED){var item=ZOOM_SEED[i];if(item[0]<=dataWidth){zoomIndex=parseInt(i)-1;break;}}this.ZoomIndex=zoomIndex;this.DataWidth=ZOOM_SEED[this.ZoomIndex][0];this.DistanceWidth=ZOOM_SEED[this.ZoomIndex][1];var width=this.GetFrameWidth()-g_JSChartResource.FrameMargin;var xPointCount=0;var y=this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin+(this.DataWidth+this.DistanceWidth);for(;y<=width;y+=this.DataWidth+this.DistanceWidth,++xPointCount){}this.XPointCount=xPointCount;this.LastCalculateStatus.XPointCount=this.XPointCount;this.LastCalculateStatus.Width=width;var obj={XPointCount:this.XPointCount,DataWidth:this.DataWidth,DistanceWidth:this.DistanceWidth};return obj;};this.TrimKLineDataWidth=function(width){var dataWidth=ZOOM_SEED[this.ZoomIndex][0];var distanceWidth=ZOOM_SEED[this.ZoomIndex][1];if(dataWidth==1&&distanceWidth==0){this.DataWidth=width/this.XPointCount;return;}while(true){if((this.DistanceWidth+this.DataWidth)*this.XPointCount+this.DistanceWidth>width){this.DistanceWidth-=0.01;break;}this.DistanceWidth+=0.01;}};//当前坐标信息 是否覆盖最大 最小值输出
|
|
2442
2443
|
this.IsOverlayMaxMin=function(obj){if(!this.ChartKLine)return false;if(!this.ChartKLine.Max||!this.ChartKLine.Min)return false;var textWidth=this.Canvas.measureText(obj.Text.Value).width+4;//刻度文字宽度
|
|
2443
2444
|
if(obj.Text.TextAlign==='right')obj.X-=textWidth;var max=this.ChartKLine.Max,min=this.ChartKLine.Min;var isOverlayMax=false,isOverlayMin=false;var textHeight=20;//字体高度
|
|
@@ -3564,8 +3565,8 @@ return true;}}for(var i in this.InfoTooltipRect){var item=this.InfoTooltipRect[i
|
|
|
3564
3565
|
tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;//信息地雷
|
|
3565
3566
|
return true;}}for(var i in this.TooltipRect){var rect=this.TooltipRect[i][1];this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;tooltip.Type=0;//K线信息
|
|
3566
3567
|
return true;}}return false;};//计算当天显示数据的最大最小值
|
|
3567
|
-
this.GetMaxMin=function(){if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.GetMaxMin){return this.FFKChart.GetMaxMin(this);}}var xPointCount=this.ChartFrame.XPointCount;var
|
|
3568
|
-
{for(var i=
|
|
3568
|
+
this.GetMaxMin=function(){if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.GetMaxMin){return this.FFKChart.GetMaxMin(this);}}var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Max:null,Min:null};if(this.DrawType==1||this.DrawType==4)// 1=收盘价线 4=收盘价面积图
|
|
3569
|
+
{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(data.Close))continue;if(range.Max==null)range.Max=data.Close;if(range.Min==null)range.Min=data.Close;if(range.Max<data.Close)range.Max=data.Close;if(range.Min>data.Close)range.Min=data.Close;}}else{for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(this.DrawType==5&&data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset)){var high=data.High;var low=data.Low;if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.High)){for(var k=0;k<data.OrderFlow.High.length;++k){var item=data.OrderFlow.High[k];if(high<item.Price)high=item.Price;}}if(IFrameSplitOperator.IsNonEmptyArray(data.OrderFlow.Low)){for(var k=0;k<data.OrderFlow.Low.length;++k){var item=data.OrderFlow.Low[k];if(low>item.Price)low=item.Price;}}high+=data.OrderFlow.PriceOffset;low-=data.OrderFlow.PriceOffset;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}else{if(range.Max==null)range.Max=data.High;if(range.Min==null)range.Min=data.Low;if(range.Max<data.High)range.Max=data.High;if(range.Min>data.Low)range.Min=data.Low;}}}return range;};//获取所有的价格
|
|
3569
3570
|
this.GetAllPrice=function(){var xPointCount=this.ChartFrame.XPointCount;var setPrice=new _set2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var value=data.Close;setPrice.add(value);}var aryPrice=[];var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{for(var _iterator4=(0,_getIterator3.default)(setPrice),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){var item=_step4.value;aryPrice.push(item);}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}aryPrice.sort(function(a,b){return a-b;});//排序 升序
|
|
3570
3571
|
return aryPrice;};this.DrawLastPointEvent=function(ptLast){if(!this.GetEventCallback)return;//通知外部绘制最后一个点
|
|
3571
3572
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_KLINE_LAST_POINT);if(event){var kWidth={Data:this.ChartFrame.DataWidth,Distance:this.ChartFrame.DistanceWidth};if(ptLast)var data={LastPoint:{X:ptLast.X,Y:ptLast.Y,XLeft:ptLast.XLeft,XRight:ptLast.XRight},KItem:ptLast.KItem,DrawType:this.DrawType,KWidth:kWidth,ChartRight:ptLast.ChartRight};else var data={LastPoint:null,KItem:null,KWidth:kWidth};event.Callback(event,data,this);}};this.DrawOrderFlow=function(){var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var upColor=this.UpColor;var downColor=this.DownColor;var unchagneColor=this.UnchagneColor;this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;var ptLast=null;this.DrawOrderFlowHBar();//横向柱子
|
|
@@ -3871,7 +3872,7 @@ if(bUp&&(this.KLineDrawType==1||this.KLineDrawType==2||this.KLineDrawType==3))//
|
|
|
3871
3872
|
{this.Canvas.strokeStyle=this.UpColor;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}else{this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}}}else//太细了直接话线
|
|
3872
3873
|
{var preKItem=null;var barColor=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartBottom)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
3873
3874
|
else barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3874
|
-
this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var
|
|
3875
|
+
this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem){if(kItem.Close>=kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
3875
3876
|
else return{Color:this.DownColor,IsUp:false};};this.GetMinuteBarColor=function(kItem,preItem){var prePrice=kItem.YClose;if(preItem)prePrice=preItem.Close;if(kItem.Close>=prePrice)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
3876
3877
|
else return{Color:this.DownColor,IsUp:false};};this.GetItemData=function(indexData){if(!indexData)return null;if(!IFrameSplitOperator.IsNumber(indexData.Index))return null;if(!this.HistoryData||!IFrameSplitOperator.IsNonEmptyArray(this.HistoryData.Data))return null;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=indexData.Index;if(index<0||index>=this.Data.Data.length||index>=this.HistoryData.Data.length)return null;var item=this.Data.Data[index];var kItem=this.HistoryData.Data[index];return[{Value:item,Color:this.GetBarColor(kItem).Color,Name:this.Name}];};}// VERTLINE(HIGH>=HHV(HIGH,20),1)表示在创20天新高画垂直虚线。
|
|
3877
3878
|
// 支持横屏
|
|
@@ -6763,12 +6764,12 @@ if(this.CursorIndex+step+data.DataOffset+1>data.Data.length)//数据不够步长
|
|
|
6763
6764
|
this.GetKLineChart=function(){if(!this.ChartPaint[0])return null;return this.ChartPaint[0];};//创建子窗口
|
|
6764
6765
|
this.CreateChildWindow=function(windowCount){var _this18=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=g_ChartFrameFactory.Create("KLineFrame",{ID:i});frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=i;//窗口序号
|
|
6765
6766
|
frame.RightSpaceCount=this.RightSpaceCount;//右边
|
|
6766
|
-
frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
|
|
6767
|
+
frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
|
|
6767
6768
|
if(this.ChangeIndexDialog)frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;frame.HorizontalMax=20;frame.HorizontalMin=10;if(i==0){frame.YSplitOperator=new FrameSplitKLinePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.FrameSplitData2=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this18.GetKLineChart();};frame.YSplitOperator.HQChart=this;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
6768
6769
|
border.BottomSpace=15*pixelTatio;//主图上下留空间
|
|
6769
6770
|
border.TopSpace=15*pixelTatio;frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};}else{frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this18.GetKLineChart();};frame.YSplitOperator.HQChart=this;//frame.IsLocked = true;
|
|
6770
6771
|
}frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitKLineX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.LanguageID=this.LanguageID;frame.XSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};if(i!=windowCount-1)frame.XSplitOperator.ShowText=false;for(var j=frame.HorizontalMin;j<=frame.HorizontalMax;j+=1){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=j;if(i==0&&j==frame.HorizontalMin)continue;frame.HorizontalInfo[j].Message[1]=j.toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();subFrame.Frame=frame;if(i==0)subFrame.Height=20;else subFrame.Height=10;this.Frame.SubFrame[i]=subFrame;if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}};this.CreateSubFrameItem=function(id){var _this19=this;var border=new ChartBorder();border.UIElement=this.UIElement;var frameClassName="KLineFrame";if(this.ClassName=="KLineChartHScreenContainer")frameClassName="KLineHScreenFrame";var frame=g_ChartFrameFactory.Create(frameClassName,{ID:id});frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=id;//窗口序号
|
|
6771
|
-
frame.GetEventCallback=function(id){return _this19.GetEventCallback(id);};if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
|
|
6772
|
+
frame.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
|
|
6772
6773
|
if(this.ChangeIndexDialog)frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;frame.HorizontalMax=20;frame.HorizontalMin=10;frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitKLineX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.ShowText=false;frame.YSplitOperator.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this19.GetKLineChart();};frame.YSplitOperator.HQChart=this;frame.XSplitOperator.Symbol=this.Symbol;frame.XSplitOperator.Period=this.Period;//K线数据绑定
|
|
6773
6774
|
var xPointCouont=this.Frame.SubFrame[0].Frame.XPointCount;frame.XPointCount=xPointCouont;frame.Data=this.ChartPaint[0].Data;for(var j=frame.HorizontalMin;j<=frame.HorizontalMax;j+=1){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=j;frame.HorizontalInfo[j].Message[1]=j.toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();subFrame.Frame=frame;subFrame.Height=10;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);if(event&&event.Callback){var sendData={SubFrame:subFrame,WindowIndex:id};event.Callback(event,sendData,this);}return subFrame;};//创建主图K线画法
|
|
6774
6775
|
this.CreateMainKLine=function(){var _this20=this;var kline=g_ChartPaintFactory.Create("ChartKLine");kline.Canvas=this.Canvas;kline.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;kline.ChartFrame=this.Frame.SubFrame[0].Frame;kline.Name="Main-KLine";kline.DrawType=this.KLineDrawType;kline.Identify="Main-KLine";kline.GetEventCallback=function(id){return _this20.GetEventCallback(id);};this.ChartPaint[0]=kline;this.TitlePaint[0]=new DynamicKLineTitlePainting();this.TitlePaint[0].Frame=this.Frame.SubFrame[0].Frame;this.TitlePaint[0].Canvas=this.Canvas;this.TitlePaint[0].OverlayChartPaint=this.OverlayChartPaint;//绑定叠加
|
|
@@ -12656,7 +12657,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
|
|
|
12656
12657
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
12657
12658
|
* 版本信息输出
|
|
12658
12659
|
*
|
|
12659
|
-
*/var HQCHART_VERSION="1.1.
|
|
12660
|
+
*/var HQCHART_VERSION="1.1.12564";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();//把给外界调用的方法暴露出来
|
|
12660
12661
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12661
12662
|
// BaseIndex:BaseIndex,
|
|
12662
12663
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -281,6 +281,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
281
281
|
if (IFrameSplitOperator.IsBool(option.EnableIndexChartDrag)) chart.EnableIndexChartDrag=option.EnableIndexChartDrag;
|
|
282
282
|
if (IFrameSplitOperator.IsBool(option.EnableVerifyRecvData)) chart.EnableVerifyRecvData=option.EnableVerifyRecvData;
|
|
283
283
|
|
|
284
|
+
if (option.GlobalOption)
|
|
285
|
+
{
|
|
286
|
+
var item=option.GlobalOption;
|
|
287
|
+
if (IFrameSplitOperator.IsBool(item.IsValueFullRange)) chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;
|
|
288
|
+
}
|
|
289
|
+
|
|
284
290
|
if (option.EnableYDrag)
|
|
285
291
|
{
|
|
286
292
|
var item=option.EnableYDrag;
|
|
@@ -13620,8 +13626,16 @@ function KLineFrame()
|
|
|
13620
13626
|
{
|
|
13621
13627
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
13622
13628
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
13623
|
-
if (
|
|
13624
|
-
|
|
13629
|
+
if (this.DataWidth<2)
|
|
13630
|
+
{
|
|
13631
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
13632
|
+
return;
|
|
13633
|
+
}
|
|
13634
|
+
else
|
|
13635
|
+
{
|
|
13636
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
13637
|
+
return;
|
|
13638
|
+
}
|
|
13625
13639
|
}
|
|
13626
13640
|
|
|
13627
13641
|
this.LastCalculateStatus.Width=width;
|
|
@@ -24321,12 +24335,18 @@ function ChartKLine()
|
|
|
24321
24335
|
}
|
|
24322
24336
|
|
|
24323
24337
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
24324
|
-
var
|
|
24325
|
-
|
|
24326
|
-
|
|
24338
|
+
var start=this.Data.DataOffset;
|
|
24339
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
24340
|
+
{
|
|
24341
|
+
start=0;
|
|
24342
|
+
xPointCount=this.Data.Data.length;
|
|
24343
|
+
}
|
|
24344
|
+
|
|
24345
|
+
var range={ Max:null, Min:null };
|
|
24346
|
+
|
|
24327
24347
|
if (this.DrawType==1 || this.DrawType==4 ) // 1=收盘价线 4=收盘价面积图
|
|
24328
24348
|
{
|
|
24329
|
-
for(var i=
|
|
24349
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
24330
24350
|
{
|
|
24331
24351
|
var data=this.Data.Data[i];
|
|
24332
24352
|
if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
|
|
@@ -24340,7 +24360,7 @@ function ChartKLine()
|
|
|
24340
24360
|
}
|
|
24341
24361
|
else
|
|
24342
24362
|
{
|
|
24343
|
-
for(var i=
|
|
24363
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
24344
24364
|
{
|
|
24345
24365
|
var data=this.Data.Data[i];
|
|
24346
24366
|
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
@@ -29280,10 +29300,15 @@ function ChartVolStick()
|
|
|
29280
29300
|
this.GetMaxMin=function()
|
|
29281
29301
|
{
|
|
29282
29302
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
29283
|
-
var
|
|
29284
|
-
|
|
29285
|
-
|
|
29286
|
-
|
|
29303
|
+
var start=this.Data.DataOffset;
|
|
29304
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
29305
|
+
{
|
|
29306
|
+
start=0;
|
|
29307
|
+
xPointCount=this.Data.Data.length;
|
|
29308
|
+
}
|
|
29309
|
+
|
|
29310
|
+
var range={ Min:null, Max:null };
|
|
29311
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
29287
29312
|
{
|
|
29288
29313
|
var value=this.Data.Data[i];
|
|
29289
29314
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
@@ -65213,6 +65238,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
65213
65238
|
frame.Identify=i; //窗口序号
|
|
65214
65239
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
65215
65240
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
65241
|
+
frame.GlobalOption=this.GlobalOption;
|
|
65216
65242
|
|
|
65217
65243
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
65218
65244
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -65295,6 +65321,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
65295
65321
|
frame.ChartBorder=border;
|
|
65296
65322
|
frame.Identify=id; //窗口序号
|
|
65297
65323
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
65324
|
+
frame.GlobalOption=this.GlobalOption;
|
|
65298
65325
|
|
|
65299
65326
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
65300
65327
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -4361,6 +4361,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4361
4361
|
if (IFrameSplitOperator.IsBool(option.EnableIndexChartDrag)) chart.EnableIndexChartDrag=option.EnableIndexChartDrag;
|
|
4362
4362
|
if (IFrameSplitOperator.IsBool(option.EnableVerifyRecvData)) chart.EnableVerifyRecvData=option.EnableVerifyRecvData;
|
|
4363
4363
|
|
|
4364
|
+
if (option.GlobalOption)
|
|
4365
|
+
{
|
|
4366
|
+
var item=option.GlobalOption;
|
|
4367
|
+
if (IFrameSplitOperator.IsBool(item.IsValueFullRange)) chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;
|
|
4368
|
+
}
|
|
4369
|
+
|
|
4364
4370
|
if (option.EnableYDrag)
|
|
4365
4371
|
{
|
|
4366
4372
|
var item=option.EnableYDrag;
|
|
@@ -17700,8 +17706,16 @@ function KLineFrame()
|
|
|
17700
17706
|
{
|
|
17701
17707
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
17702
17708
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
17703
|
-
if (
|
|
17704
|
-
|
|
17709
|
+
if (this.DataWidth<2)
|
|
17710
|
+
{
|
|
17711
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
17712
|
+
return;
|
|
17713
|
+
}
|
|
17714
|
+
else
|
|
17715
|
+
{
|
|
17716
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
17717
|
+
return;
|
|
17718
|
+
}
|
|
17705
17719
|
}
|
|
17706
17720
|
|
|
17707
17721
|
this.LastCalculateStatus.Width=width;
|
|
@@ -28401,12 +28415,18 @@ function ChartKLine()
|
|
|
28401
28415
|
}
|
|
28402
28416
|
|
|
28403
28417
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
28404
|
-
var
|
|
28405
|
-
|
|
28406
|
-
|
|
28418
|
+
var start=this.Data.DataOffset;
|
|
28419
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
28420
|
+
{
|
|
28421
|
+
start=0;
|
|
28422
|
+
xPointCount=this.Data.Data.length;
|
|
28423
|
+
}
|
|
28424
|
+
|
|
28425
|
+
var range={ Max:null, Min:null };
|
|
28426
|
+
|
|
28407
28427
|
if (this.DrawType==1 || this.DrawType==4 ) // 1=收盘价线 4=收盘价面积图
|
|
28408
28428
|
{
|
|
28409
|
-
for(var i=
|
|
28429
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28410
28430
|
{
|
|
28411
28431
|
var data=this.Data.Data[i];
|
|
28412
28432
|
if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
|
|
@@ -28420,7 +28440,7 @@ function ChartKLine()
|
|
|
28420
28440
|
}
|
|
28421
28441
|
else
|
|
28422
28442
|
{
|
|
28423
|
-
for(var i=
|
|
28443
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28424
28444
|
{
|
|
28425
28445
|
var data=this.Data.Data[i];
|
|
28426
28446
|
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
@@ -33360,10 +33380,15 @@ function ChartVolStick()
|
|
|
33360
33380
|
this.GetMaxMin=function()
|
|
33361
33381
|
{
|
|
33362
33382
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
33363
|
-
var
|
|
33364
|
-
|
|
33365
|
-
|
|
33366
|
-
|
|
33383
|
+
var start=this.Data.DataOffset;
|
|
33384
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
33385
|
+
{
|
|
33386
|
+
start=0;
|
|
33387
|
+
xPointCount=this.Data.Data.length;
|
|
33388
|
+
}
|
|
33389
|
+
|
|
33390
|
+
var range={ Min:null, Max:null };
|
|
33391
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
33367
33392
|
{
|
|
33368
33393
|
var value=this.Data.Data[i];
|
|
33369
33394
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
@@ -69293,6 +69318,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69293
69318
|
frame.Identify=i; //窗口序号
|
|
69294
69319
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
69295
69320
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
69321
|
+
frame.GlobalOption=this.GlobalOption;
|
|
69296
69322
|
|
|
69297
69323
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
69298
69324
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -69375,6 +69401,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69375
69401
|
frame.ChartBorder=border;
|
|
69376
69402
|
frame.Identify=id; //窗口序号
|
|
69377
69403
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
69404
|
+
frame.GlobalOption=this.GlobalOption;
|
|
69378
69405
|
|
|
69379
69406
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
69380
69407
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -129422,7 +129449,7 @@ function ScrollBarBGChart()
|
|
|
129422
129449
|
|
|
129423
129450
|
|
|
129424
129451
|
|
|
129425
|
-
var HQCHART_VERSION="1.1.
|
|
129452
|
+
var HQCHART_VERSION="1.1.12564";
|
|
129426
129453
|
|
|
129427
129454
|
function PrintHQChartVersion()
|
|
129428
129455
|
{
|
|
@@ -4405,6 +4405,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4405
4405
|
if (IFrameSplitOperator.IsBool(option.EnableIndexChartDrag)) chart.EnableIndexChartDrag=option.EnableIndexChartDrag;
|
|
4406
4406
|
if (IFrameSplitOperator.IsBool(option.EnableVerifyRecvData)) chart.EnableVerifyRecvData=option.EnableVerifyRecvData;
|
|
4407
4407
|
|
|
4408
|
+
if (option.GlobalOption)
|
|
4409
|
+
{
|
|
4410
|
+
var item=option.GlobalOption;
|
|
4411
|
+
if (IFrameSplitOperator.IsBool(item.IsValueFullRange)) chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;
|
|
4412
|
+
}
|
|
4413
|
+
|
|
4408
4414
|
if (option.EnableYDrag)
|
|
4409
4415
|
{
|
|
4410
4416
|
var item=option.EnableYDrag;
|
|
@@ -17744,8 +17750,16 @@ function KLineFrame()
|
|
|
17744
17750
|
{
|
|
17745
17751
|
var caclWidth=(this.DistanceWidth/2+g_JSChartResource.FrameLeftMargin)+(this.DataWidth + this.DistanceWidth)*(this.XPointCount-1);
|
|
17746
17752
|
var caclWidth2=(this.DataWidth + this.DistanceWidth) * this.XPointCount;
|
|
17747
|
-
if (
|
|
17748
|
-
|
|
17753
|
+
if (this.DataWidth<2)
|
|
17754
|
+
{
|
|
17755
|
+
if (caclWidth2<= width) //当前的柱子宽度够用 就不调整了
|
|
17756
|
+
return;
|
|
17757
|
+
}
|
|
17758
|
+
else
|
|
17759
|
+
{
|
|
17760
|
+
if (caclWidth<= width) //当前的柱子宽度够用 就不调整了
|
|
17761
|
+
return;
|
|
17762
|
+
}
|
|
17749
17763
|
}
|
|
17750
17764
|
|
|
17751
17765
|
this.LastCalculateStatus.Width=width;
|
|
@@ -28445,12 +28459,18 @@ function ChartKLine()
|
|
|
28445
28459
|
}
|
|
28446
28460
|
|
|
28447
28461
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
28448
|
-
var
|
|
28449
|
-
|
|
28450
|
-
|
|
28462
|
+
var start=this.Data.DataOffset;
|
|
28463
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
28464
|
+
{
|
|
28465
|
+
start=0;
|
|
28466
|
+
xPointCount=this.Data.Data.length;
|
|
28467
|
+
}
|
|
28468
|
+
|
|
28469
|
+
var range={ Max:null, Min:null };
|
|
28470
|
+
|
|
28451
28471
|
if (this.DrawType==1 || this.DrawType==4 ) // 1=收盘价线 4=收盘价面积图
|
|
28452
28472
|
{
|
|
28453
|
-
for(var i=
|
|
28473
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28454
28474
|
{
|
|
28455
28475
|
var data=this.Data.Data[i];
|
|
28456
28476
|
if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
|
|
@@ -28464,7 +28484,7 @@ function ChartKLine()
|
|
|
28464
28484
|
}
|
|
28465
28485
|
else
|
|
28466
28486
|
{
|
|
28467
|
-
for(var i=
|
|
28487
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
28468
28488
|
{
|
|
28469
28489
|
var data=this.Data.Data[i];
|
|
28470
28490
|
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
@@ -33404,10 +33424,15 @@ function ChartVolStick()
|
|
|
33404
33424
|
this.GetMaxMin=function()
|
|
33405
33425
|
{
|
|
33406
33426
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
33407
|
-
var
|
|
33408
|
-
|
|
33409
|
-
|
|
33410
|
-
|
|
33427
|
+
var start=this.Data.DataOffset;
|
|
33428
|
+
if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange)
|
|
33429
|
+
{
|
|
33430
|
+
start=0;
|
|
33431
|
+
xPointCount=this.Data.Data.length;
|
|
33432
|
+
}
|
|
33433
|
+
|
|
33434
|
+
var range={ Min:null, Max:null };
|
|
33435
|
+
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
33411
33436
|
{
|
|
33412
33437
|
var value=this.Data.Data[i];
|
|
33413
33438
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
@@ -69337,6 +69362,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69337
69362
|
frame.Identify=i; //窗口序号
|
|
69338
69363
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
69339
69364
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
69365
|
+
frame.GlobalOption=this.GlobalOption;
|
|
69340
69366
|
|
|
69341
69367
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
69342
69368
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -69419,6 +69445,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
69419
69445
|
frame.ChartBorder=border;
|
|
69420
69446
|
frame.Identify=id; //窗口序号
|
|
69421
69447
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
69448
|
+
frame.GlobalOption=this.GlobalOption;
|
|
69422
69449
|
|
|
69423
69450
|
if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
|
|
69424
69451
|
if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
|
|
@@ -129575,7 +129602,7 @@ function HQChartScriptWorker()
|
|
|
129575
129602
|
|
|
129576
129603
|
|
|
129577
129604
|
|
|
129578
|
-
var HQCHART_VERSION="1.1.
|
|
129605
|
+
var HQCHART_VERSION="1.1.12564";
|
|
129579
129606
|
|
|
129580
129607
|
function PrintHQChartVersion()
|
|
129581
129608
|
{
|