hqchart 1.1.15626 → 1.1.15635

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.
@@ -70,7 +70,7 @@ this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.g
70
70
  ]);}JSIndexScript.AddIndex=function(aryIndex)//添加自定义指标
71
71
  {for(var i in aryIndex){g_CustomIndex.Add(aryIndex[i]);}};//修改指标属性
72
72
  JSIndexScript.ModifyAttribute=function(indexInfo,attribute){if(!attribute)return;if(attribute.Args)indexInfo.Args=attribute.Args;//外部可以设置参数
73
- if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(IFrameSplitOperator.IsNumber(attribute.KLineType))indexInfo.KLineType=attribute.KLineType;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsBool(item.ExcludeValue))indexInfo.YAxis.ExcludeValue=item.ExcludeValue;//不参数Y轴的计算
73
+ if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(IFrameSplitOperator.IsNumber(attribute.KLineType))indexInfo.KLineType=attribute.KLineType;if(IFrameSplitOperator.IsBool(attribute.IsAuthorization))indexInfo.IsAuthorization=attribute.IsAuthorization;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsBool(item.ExcludeValue))indexInfo.YAxis.ExcludeValue=item.ExcludeValue;//不参数Y轴的计算
74
74
  }};JSIndexScript.prototype.Get=function(id){var data=g_CustomIndex.Get(id);if(data)return data;var func=this.DataMap.get(id);if(func){var data=func();data.ID=id;return data;}return null;};JSIndexScript.prototype.Search=function(name){var result=[];var reg=new RegExp(name,'i');this.DataMap.forEach(function(value,key){if(key.indexOf('交易系统-')!=0&&key.indexOf('五彩K线-')!=0&&key.search(reg)>=0)result.push(key);});return result;};JSIndexScript.prototype.MA=function(){var data={Name:'MA',Description:'均线',IsMainIndex:true,StringFormat:2,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10},{Name:'M3',Value:20}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"},{Name:'MA3',DynamicName:"MA{M3}"}],Script://脚本
75
75
  'MA1:MA(CLOSE,M1);\n\
76
76
  MA2:MA(CLOSE,M2);\n\
@@ -3850,6 +3850,7 @@ this.DrawType=0;// 0=实心K线柱子 1=收盘价线 2=美国线 3=空心K线
3850
3850
  // 18=订单流样式5
3851
3851
  // 19=HLC bars
3852
3852
  // 20=空心K线柱子3(阴实心 阳空心)
3853
+ // 21=订单流样式6
3853
3854
  this.CloseLineColor=g_JSChartResource.CloseLineColor;this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;this.CloseLineWidth=g_JSChartResource.CloseLineWidth;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.UnchagneColor=g_JSChartResource.UnchagneBarColor;//平盘
3854
3855
  this.ColorData;//五彩K线颜色 >0:g_JSChartResource.UpBarColor 其他:g_JSChartResource.DownBarColor
3855
3856
  this.TradeData;//交易系统 包含买卖数据{Buy:, Sell:, Name:指标名称 }
@@ -3893,9 +3894,11 @@ UpColor:g_JSChartResource.OrderFlow_Style2.UpColor,DownColor:g_JSChartResource.O
3893
3894
  UpColor:g_JSChartResource.OrderFlow_Style3.UpColor,DownColor:g_JSChartResource.OrderFlow_Style3.DownColor,UnchagneColor:g_JSChartResource.OrderFlow_Style3.UnchagneColor};this.OrderFlow_Style4={//柱子颜色
3894
3895
  UpColor:g_JSChartResource.OrderFlow_Style4.UpColor,DownColor:g_JSChartResource.OrderFlow_Style4.DownColor,UnchagneColor:g_JSChartResource.OrderFlow_Style4.UnchagneColor,KBarType:1,//0=不显示K线柱子 1=左侧显示K线
3895
3896
  VolBarSpace:g_JSChartResource.OrderFlow_Style4.VolBarSpace,//间距
3896
- KBarWidth:g_JSChartResource.OrderFlow_Style4.KBarWidth,LeftMargin:g_JSChartResource.OrderFlow_Style4.LeftMargin,RightMargin:g_JSChartResource.OrderFlow_Style4.RightMargin};this.OrderFlow_Style5={AskBarColor:g_JSChartResource.OrderFlow_Style5.AskBarColor,//左
3897
+ KBarWidth:g_JSChartResource.OrderFlow_Style4.KBarWidth,LeftMargin:g_JSChartResource.OrderFlow_Style4.LeftMargin,RightMargin:g_JSChartResource.OrderFlow_Style4.RightMargin};this.OrderFlow_Style5={BarWidth:g_JSChartResource.OrderFlow_Style5.BarWidth,UpColor:g_JSChartResource.OrderFlow_Style5.UpColor,DownColor:g_JSChartResource.OrderFlow_Style5.DownColor,UnchagneColor:g_JSChartResource.OrderFlow_Style5.UnchagneColor,BorderColor:g_JSChartResource.OrderFlow_Style5.BorderColor,AskBarColor:g_JSChartResource.OrderFlow_Style5.AskBarColor,//左
3897
3898
  BidBarColor:g_JSChartResource.OrderFlow_Style5.BidBarColor,//右
3898
- LeftMargin:g_JSChartResource.OrderFlow_Style5.LeftMargin,RightMargin:g_JSChartResource.OrderFlow_Style5.RightMargin};this.IsShowOrderText=false;this.AryOrderFlowBorder=[];//订单流边框 临时变量
3899
+ LeftMargin:g_JSChartResource.OrderFlow_Style5.LeftMargin,RightMargin:g_JSChartResource.OrderFlow_Style5.RightMargin};this.OrderFlow_Style6={BarWidth:g_JSChartResource.OrderFlow_Style6.BarWidth,BorderColor:g_JSChartResource.OrderFlow_Style6.BorderColor,MinBarWidth:g_JSChartResource.OrderFlow_Style6.MinBarWidth,UpColor:g_JSChartResource.OrderFlow_Style6.UpColor,DownColor:g_JSChartResource.OrderFlow_Style6.DownColor,UnchagneColor:g_JSChartResource.OrderFlow_Style6.UnchagneColor,AskBarColor:g_JSChartResource.OrderFlow_Style6.AskBarColor,//左
3900
+ BidBarColor:g_JSChartResource.OrderFlow_Style6.BidBarColor,//右
3901
+ LeftMargin:g_JSChartResource.OrderFlow_Style6.LeftMargin,RightMargin:g_JSChartResource.OrderFlow_Style6.RightMargin};this.IsShowOrderText=false;this.AryOrderFlowBorder=[];//订单流边框 临时变量
3899
3902
  this.ChartHeatMap;//=new ChartHeatMap();
3900
3903
  //未回补的价格缺口
3901
3904
  this.PriceGap={Enable:false,Count:1};this.PriceGapStyple={Line:{Color:g_JSChartResource.PriceGapStyple.Line.Color},Text:{Color:g_JSChartResource.PriceGapStyple.Text.Color,Font:g_JSChartResource.PriceGapStyple.Text.Font}};this.AryPriceGapCache=[];//缺口数据 { }
@@ -4089,7 +4092,7 @@ this.Canvas.clip();};this.ClearLastPoint=function(){this.LastPoint={};if(this.Ch
4089
4092
  this.PtMin={X:null,Y:null,Value:null,Align:'left'};//清空最小
4090
4093
  this.DrawKRange={Start:null,End:null};this.AryPriceGapCache=[];this.AryPredictionCache=[];this.ChartFrame.ChartKLine={Max:null,Min:null};//保存K线上 显示最大最小值坐标
4091
4094
  this.DrawHeatMap();if(!this.IsShow)return;if(this.ChartFrame.IsMinSize&&this.Name=="Self Kline")return;if(ChartData.IsTickPeriod(this.Period))//分笔图
4092
- {this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();this.DrawPredictionLine();if(this.PriceGap.Enable)this.DrawPriceGap();this.UpdateGlobalLatestPoint();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else if(this.DrawType==18){this.DrawOrderFlow_Style5();}else if(this.DrawType==19){this.DrawHLCBars();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();if(this.PriceGap.Enable)this.DrawPriceGap();this.Canvas.restore();this.UpdateGlobalLatestPoint();this.DrawPredictionLine();if(this.IsShowMaxMinPrice)//标注最大值最小值
4095
+ {this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();this.DrawPredictionLine();if(this.PriceGap.Enable)this.DrawPriceGap();this.UpdateGlobalLatestPoint();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else if(this.DrawType==18){this.DrawOrderFlow_Style5();}else if(this.DrawType==19){this.DrawHLCBars();}else if(this.DrawType==21){this.DrawOrderFlow_Style6();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();if(this.PriceGap.Enable)this.DrawPriceGap();this.Canvas.restore();this.UpdateGlobalLatestPoint();this.DrawPredictionLine();if(this.IsShowMaxMinPrice)//标注最大值最小值
4093
4096
  {if(this.ChartFrame.IsHScreen===true)this.HScreenDrawMaxMinPrice(this.PtMax,this.PtMin);else this.DrawMaxMinPrice(this.PtMax,this.PtMin);}if(this.DrawType==14)//自定义图形 标注最大最小值
4094
4097
  {if(this.FFKChart&&this.FFKChart.DrawMaxMinPrice){this.FFKChart.DrawMaxMinPrice();}}this.DrawDaySummary();};this.OnFormatHighLowTitle=function(ptMax,ptMin){if(!ptMax||!ptMin)return null;if(!IFrameSplitOperator.IsNumber(ptMax.Value)||!IFrameSplitOperator.IsNumber(ptMin.Value))return null;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//小数位数
4095
4098
  var title={High:ptMax.Value.toFixed(defaultfloatPrecision),Low:ptMin.Value.toFixed(defaultfloatPrecision)};if(!this.GetEventCallback)return title;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_HIGH_LOW_TITLE);if(!event||!event.Callback)return title;var data={Max:ptMax,Min:ptMin,Symbol:this.Symbol,Title:{High:title.High,Low:title.Low},Decimal:defaultfloatPrecision,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault)return data.Title;//使用外部回调的数值
@@ -4119,7 +4122,7 @@ tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;//信息地雷
4119
4122
  return true;}}if(IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)){for(var i=0;i<this.TooltipRect.length;++i){var rect=this.TooltipRect[i][1];var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;tooltip.Type=0;//K线信息
4120
4123
  tooltip.Symbol=this.Symbol;return true;}}}return false;};//计算当天显示数据的最大最小值
4121
4124
  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=收盘价面积图
4122
- {for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||!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||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if([5,7,8,17,18].includes(this.DrawType)&&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;};//获取所有的价格
4125
+ {for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||!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||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if([5,7,8,17,18,21].includes(this.DrawType)&&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;};//获取所有的价格
4123
4126
  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 _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{for(var _iterator6=(0,_getIterator3.default)(setPrice),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){var item=_step6.value;aryPrice.push(item);}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}aryPrice.sort(function(a,b){return a-b;});//排序 升序
4124
4127
  return aryPrice;};this.DrawLastPointEvent=function(ptLast){if(!this.GetEventCallback)return;//通知外部绘制最后一个点
4125
4128
  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();//横向柱子
@@ -4203,8 +4206,14 @@ var max=orderFlow.Summary.VolMaxMin.Max,min=orderFlow.Summary.VolMaxMin.Min;for(
4203
4206
  {this.Canvas.fillStyle=item.Vol.Color;if(item.Vol.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,barWidth/2,item.Vol.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xKLine.Center+textXOffset,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(item.Vol.Text,rtDraw.Left+2,yPrice);}}preItem={Price:item.Price,Rect:rtDraw};}else{continue;}}}this.DrawOrderFlowBarHighLow(orderFlow,xKLine,cellHeight);//绘制最高 最低点文字
4204
4207
  };////////////////////////////////////////////////////////////////////////////////
4205
4208
  //订单流样式5
4206
- this.DrawOrderFlow_Style5=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;this.AryOrderFlowBorder=[];if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var upColor=this.OrderFlow_Style2.UpColor;var downColor=this.OrderFlow_Style2.DownColor;var unchagneColor=this.OrderFlow_Style2.UnchagneColor;var barWidth=ToFixedRect(this.OrderFlow_Style2.BarWidth);var textWidth=dataWidth-barWidth;if(textWidth/7<barWidth)barWidth=textWidth/7;if(barWidth<=1)barWidth=2;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;this.DrawOrderFlowHBar();//横向柱子
4207
- for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;this.DrawKRange.End=i;var barTop=Math.min(yOpen,yClose);var barBottom=Math.max(yOpen,yClose);var barLeft=ToFixedRect(left);var barRight=barLeft+barWidth;if(data.Open<data.Close)this.Canvas.fillStyle=upColor;else if(data.Open>data.Close)this.Canvas.fillStyle=downColor;else this.Canvas.fillStyle=unchagneColor;var cellHeight=0;if(data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(data.OrderFlow.PriceOffset);this.Canvas.fillRect(barLeft,ToFixedRect(barTop-cellHeight/2),barWidth,ToFixedRect(barBottom-barTop+cellHeight));var yKline={Low:yLow,High:yHigh,Open:yOpen,Close:yClose};var xKLine={Left:barRight,Center:x,Right:right,DataWidth:right-barRight};xKLine.Center=xKLine.Left+xKLine.DataWidth/2;this.DrawOrderFlowBar_Style5(data.OrderFlow,data,xKLine,yKline,isHScreen);}};this.DrawOrderFlowBar_Style5=function(orderFlow,kItem,xKLine,yKline,isHScreen){var top=Math.min(yKline.Open,yKline.Close);var bottom=Math.max(yKline.Open,yKline.Close);var barHeight=Math.abs(yKline.Open-yKline.Close);var cellHeight=0;if(orderFlow&&IFrameSplitOperator.IsNumber(orderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(orderFlow.PriceOffset);var textFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2);this.IsShowOrderText=cellHeight>5&&xKLine.DataWidth>10;if(this.OrderFlow.AlwaysShowOrderText)this.IsShowOrderText=true;this.Canvas.textBaseline='middle';this.Canvas.font=textFont;var textWidth=xKLine.DataWidth/2;if(orderFlow&&IFrameSplitOperator.IsNonEmptyArray(orderFlow.Order)){var maxValue=orderFlow.MaxValue;for(var i=0;i<orderFlow.Order.length;++i){var item=orderFlow.Order[i];var yPrice=this.GetYFromData(item.Price,false);var rect={Left:xKLine.Left,Right:xKLine.Center,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Ask.Value)){var color=this.OrderFlow_Style5.AskBarColor;if(item.Ask.BG)color=item.Ask.BG;this.Canvas.fillStyle=color;var barWidth=rect.Width*item.Ask.Value/maxValue;this.Canvas.fillRect(ToFixedRect(rect.Right),ToFixedRect(rect.Top),ToFixedRect(-barWidth),ToFixedRect(rect.Height));var text=null;if(IFrameSplitOperator.IsString(item.Ask.Text))text=item.Ask.Text;else text=item.Ask.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Ask.Color)textColor=item.Ask.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='right';var xText=rect.Right-this.OrderFlow_Style5.LeftMargin;if(item.Ask.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Ask.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}}var rect={Left:xKLine.Center,Right:xKLine.Right,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Bid.Value)){var color=this.OrderFlow_Style5.BidBarColor;if(item.Bid.BG)color=item.Bid.BG;this.Canvas.fillStyle=color;var barWidth=rect.Width*item.Bid.Value/maxValue;this.Canvas.fillRect(ToFixedRect(rect.Left),ToFixedRect(rect.Top),ToFixedRect(barWidth),ToFixedRect(rect.Height));var text=null;if(IFrameSplitOperator.IsString(item.Bid.Text))text=item.Bid.Text;else text=item.Bid.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Bid.Color)textColor=item.Bid.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='left';var xText=rect.Left+this.OrderFlow_Style5.RightMargin;if(item.Bid.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Bid.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}}}}this.DrawOrderFlowBarHighLow(orderFlow,xKLine,cellHeight);//绘制最高 最低点文字
4209
+ this.DrawOrderFlow_Style5=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;this.AryOrderFlowBorder=[];if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var config=this.OrderFlow_Style5;var upColor=config.UpColor;var downColor=config.DownColor;var unchagneColor=config.UnchagneColor;var barWidth=ToFixedRect(config.BarWidth);var textWidth=dataWidth-barWidth;if(textWidth/7<barWidth)barWidth=textWidth/7;if(barWidth<=1)barWidth=2;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;this.DrawOrderFlowHBar();//横向柱子
4210
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;this.DrawKRange.End=i;var barTop=Math.min(yOpen,yClose);var barBottom=Math.max(yOpen,yClose);var barLeft=ToFixedRect(left);var barRight=barLeft+barWidth;if(data.Open<data.Close)this.Canvas.fillStyle=upColor;else if(data.Open>data.Close)this.Canvas.fillStyle=downColor;else this.Canvas.fillStyle=unchagneColor;var cellHeight=0;if(data.OrderFlow&&IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(data.OrderFlow.PriceOffset);this.Canvas.fillRect(barLeft,ToFixedRect(barTop-cellHeight/2),barWidth,ToFixedRect(barBottom-barTop+cellHeight));var yKline={Low:yLow,High:yHigh,Open:yOpen,Close:yClose};var xKLine={Left:barRight,Center:x,Right:right,DataWidth:right-barRight};xKLine.Center=xKLine.Left+xKLine.DataWidth/2;this.DrawOrderFlowBar_Style5(data.OrderFlow,data,xKLine,yKline,isHScreen);}};this.DrawOrderFlowBar_Style5=function(orderFlow,kItem,xKLine,yKline,isHScreen){var top=Math.min(yKline.Open,yKline.Close);var bottom=Math.max(yKline.Open,yKline.Close);var barHeight=Math.abs(yKline.Open-yKline.Close);var cellHeight=0;if(orderFlow&&IFrameSplitOperator.IsNumber(orderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(orderFlow.PriceOffset);var textFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2);this.IsShowOrderText=cellHeight>5&&xKLine.DataWidth>10;if(this.OrderFlow.AlwaysShowOrderText)this.IsShowOrderText=true;var config=this.OrderFlow_Style5;this.Canvas.textBaseline='middle';this.Canvas.font=textFont;var aryBorder=[];var textWidth=xKLine.DataWidth/2;if(orderFlow&&IFrameSplitOperator.IsNonEmptyArray(orderFlow.Order)){var maxValue=orderFlow.MaxValue;for(var i=0;i<orderFlow.Order.length;++i){var item=orderFlow.Order[i];var yPrice=this.GetYFromData(item.Price,false);var rect={Left:xKLine.Left,Right:xKLine.Center,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Ask.Value)){var color=config.AskBarColor;if(item.Ask.BG)color=item.Ask.BG;this.Canvas.fillStyle=color;var barWidth=rect.Width*item.Ask.Value/maxValue;this.Canvas.fillRect(ToFixedRect(rect.Right),ToFixedRect(rect.Top),ToFixedRect(-barWidth),ToFixedRect(rect.Height));var text=null;if(IFrameSplitOperator.IsString(item.Ask.Text))text=item.Ask.Text;else text=item.Ask.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Ask.Color)textColor=item.Ask.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='right';var xText=rect.Right-config.LeftMargin;if(item.Ask.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Ask.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}}var rect={Left:xKLine.Center,Right:xKLine.Right,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Bid.Value)){var color=config.BidBarColor;if(item.Bid.BG)color=item.Bid.BG;this.Canvas.fillStyle=color;var barWidth=rect.Width*item.Bid.Value/maxValue;this.Canvas.fillRect(ToFixedRect(rect.Left),ToFixedRect(rect.Top),ToFixedRect(barWidth),ToFixedRect(rect.Height));var text=null;if(IFrameSplitOperator.IsString(item.Bid.Text))text=item.Bid.Text;else text=item.Bid.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Bid.Color)textColor=item.Bid.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='left';var xText=rect.Left+config.RightMargin;if(item.Bid.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Bid.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}}aryBorder.push({Left:xKLine.Left,Right:xKLine.Right,Y:rect.Top});}}if(IFrameSplitOperator.IsNonEmptyArray(aryBorder)&&config.BorderColor){this.Canvas.strokeStyle=config.BorderColor;this.Canvas.beginPath();for(var i=0;i<aryBorder.length;++i){var item=aryBorder[i];this.Canvas.moveTo(ToFixedPoint(item.Left),ToFixedPoint(item.Y));this.Canvas.lineTo(ToFixedPoint(item.Right),ToFixedPoint(item.Y));}this.Canvas.stroke();}this.DrawOrderFlowBarHighLow(orderFlow,xKLine,cellHeight);//绘制最高 最低点文字
4211
+ };//////////////////////////////////////////////////////////////////////////////////////
4212
+ //订单流样式6
4213
+ this.DrawOrderFlow_Style6=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;this.AryOrderFlowBorder=[];if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var config=this.OrderFlow_Style6;var upColor=config.UpColor;var downColor=config.DownColor;var unchagneColor=config.UnchagneColor;var barWidth=ToFixedRect(config.BarWidth);var textWidth=dataWidth-barWidth;if(textWidth/7<barWidth)barWidth=textWidth/7;if(barWidth<=3)barWidth=3;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;this.DrawOrderFlowHBar();//横向柱子
4214
+ //居中K线
4215
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;this.DrawKRange.End=i;var barTop=Math.min(yOpen,yClose);var barBottom=Math.max(yOpen,yClose);var barLeft=ToFixedRect(x-barWidth/2);var barRight=barLeft+barWidth;var kColor=unchagneColor;if(data.Open<data.Close)kColor=upColor;else if(data.Open>data.Close)kColor=downColor;this.Canvas.strokeStyle=kColor;this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yLow));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.stroke();this.Canvas.fillStyle=kColor;var barHeight=ToFixedRect(barBottom-barTop);if(barHeight<1)barHeight=1;this.Canvas.fillRect(barLeft,ToFixedRect(barTop),barWidth,barHeight);var rtKLine={Left:barLeft,Right:barRight,Top:barTop,Bottom:barBottom,Center:x,DataWidth:dataWidth};rtKLine.Width=rtKLine.Right-rtKLine.Left;rtKLine.Height=rtKLine.Bottom-rtKLine.Top;var rtCell={Left:left-distanceWidth/2,Right:right-distanceWidth/2};rtCell.Width=rtCell.Right-rtCell.Left;this.DrawOrderFlowBar_Style6(data.OrderFlow,data,rtKLine,rtCell,isHScreen);}};this.DrawOrderFlowBar_Style6=function(orderFlow,kItem,rtKLine,rtCell,isHScreen){var cellWidth=(rtCell.Width-rtKLine.Width)/2;var cellHeight=0;if(orderFlow&&IFrameSplitOperator.IsNumber(orderFlow.PriceOffset))cellHeight=this.GetPriceYOffset(orderFlow.PriceOffset);var textFont=this.GetDynamicOrderFlowFont(cellHeight,cellWidth);this.IsShowOrderText=cellHeight>5&&cellWidth>10;if(this.OrderFlow.AlwaysShowOrderText)this.IsShowOrderText=true;var config=this.OrderFlow_Style6;this.Canvas.textBaseline='middle';this.Canvas.font=textFont;var minBarWidth=config.MinBarWidth;var aryBorder=[];if(orderFlow&&IFrameSplitOperator.IsNonEmptyArray(orderFlow.Order)){var maxValue=orderFlow.MaxValue;for(var i=0;i<orderFlow.Order.length;++i){var item=orderFlow.Order[i];var yPrice=this.GetYFromData(item.Price,false);//左边
4216
+ var rect={Left:rtCell.Left,Right:rtKLine.Left-1,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Ask.Value)){var color=config.AskBarColor;if(item.Ask.BG)color=item.Ask.BG;this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rect.Left+minBarWidth),rect.Top,ToFixedRect(rect.Width-minBarWidth),rect.Height);aryBorder.push({Left:rect.Left,Right:rect.Right,Y:rect.Top});var text=null;if(IFrameSplitOperator.IsString(item.Ask.Text))text=item.Ask.Text;else text=item.Ask.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Ask.Color)textColor=item.Ask.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='right';var xText=rect.Right-this.OrderFlow_Style5.LeftMargin;if(item.Ask.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Ask.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}if(item.Ask.MinBar&&item.Ask.MinBar.Color){var color=item.Ask.MinBar.Color;var rtMinBar={Left:rect.Left,Top:rect.Top,Width:minBarWidth-1,Height:rect.Height};this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rtMinBar.Left),rtMinBar.Top,ToFixedRect(rtMinBar.Width),rtMinBar.Height);}}var rect={Left:rtKLine.Right+1,Right:rtCell.Right,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;if(IFrameSplitOperator.IsNumber(item.Bid.Value)){var color=config.BidBarColor;if(item.Bid.BG)color=item.Bid.BG;this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rect.Left),rect.Top,ToFixedRect(rect.Width-minBarWidth),rect.Height);aryBorder.push({Left:rect.Left,Right:rect.Right,Y:rect.Top});var text=null;if(IFrameSplitOperator.IsString(item.Bid.Text))text=item.Bid.Text;else text=item.Bid.Value.toString();if(text&&this.IsShowOrderText){var textColor=this.OrderFlow.Text.Color;if(item.Bid.Color)textColor=item.Bid.Color;this.Canvas.fillStyle=textColor;this.Canvas.textAlign='left';var xText=rect.Left+this.OrderFlow_Style5.RightMargin;if(item.Bid.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,xKLine.DataWidth/2,item.Bid.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xText,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(text,xText,yPrice);}}if(item.Bid.MinBar&&item.Bid.MinBar.Color){var color=item.Bid.MinBar.Color;var rtMinBar={Left:rect.Right-minBarWidth+1,Top:rect.Top,Width:minBarWidth-1,Height:rect.Height};this.Canvas.fillStyle=color;this.Canvas.fillRect(ToFixedRect(rtMinBar.Left),rtMinBar.Top,ToFixedRect(rtMinBar.Width),rtMinBar.Height);}}}}if(IFrameSplitOperator.IsNonEmptyArray(aryBorder)&&config.BorderColor){this.Canvas.strokeStyle=config.BorderColor;this.Canvas.beginPath();for(var i=0;i<aryBorder.length;++i){var item=aryBorder[i];this.Canvas.moveTo(ToFixedPoint(item.Left),ToFixedPoint(item.Y));this.Canvas.lineTo(ToFixedPoint(item.Right),ToFixedPoint(item.Y));}this.Canvas.stroke();}this.DrawOrderFlowBarHighLow(orderFlow,rtKLine,cellHeight);//绘制最高 最低点文字
4208
4217
  };//////////////////////////////////////////////////////////////
4209
4218
  // high low bar
4210
4219
  //
@@ -7580,8 +7589,10 @@ UnchagneColor:{BG:"rgb(216,221,177)",Border:"rgb(209,172,129)"},//平盘
7580
7589
  Text:{Color:"rgb(92,96,89)",Family:'Arial',FontMaxSize:18,MaxValue:"8888"},//文字(风格 2,3共用)
7581
7590
  Line:{UpDownColor:"rgb(0,0,0)",MiddleColor:"rgb(211,211,211)"},//最大, 最低,中间 竖线
7582
7591
  AlwaysShowOrderText:true,//总是显示订单流文字
7583
- POCGBColor:"rgba(178,34,34,0.8)",AskBarColor:'rgb(14,209,69)',BidBarColor:'rgb(236,28,36)'};this.OrderFlow_Style2={BarWidth:10,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)"};this.OrderFlow_Style3={BarWidth:20,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)"};this.OrderFlow_Style4={KBarWidth:5,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)",VolBarSpace:1,LeftMargin:1,RightMargin:1};this.OrderFlow_Style5={AskBarColor:"rgb(176,22,22)",//左
7592
+ POCGBColor:"rgba(178,34,34,0.8)",AskBarColor:'rgb(14,209,69)',BidBarColor:'rgb(236,28,36)'};this.OrderFlow_Style2={BarWidth:10,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)"};this.OrderFlow_Style3={BarWidth:20,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)"};this.OrderFlow_Style4={KBarWidth:5,UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)",VolBarSpace:1,LeftMargin:1,RightMargin:1};this.OrderFlow_Style5={UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)",BorderColor:"rgb(255,255,255)",BarWidth:10,AskBarColor:"rgb(176,22,22)",//左
7584
7593
  BidBarColor:"rgb(98,126,176)",//右
7594
+ LeftMargin:3,RightMargin:2};this.OrderFlow_Style6={UpColor:'rgb(241,55,63)',DownColor:"rgb(75,105,150)",UnchagneColor:"rgb(79,79,79)",BarWidth:10*GetDevicePixelRatio(),BorderColor:"rgb(255,255,255)",MinBarWidth:3*GetDevicePixelRatio(),AskBarColor:"rgb(250, 161, 163)",//左
7595
+ BidBarColor:"rgb(112, 204, 189)",//右
7585
7596
  LeftMargin:3,RightMargin:2};this.Index={};//指标线段颜色
7586
7597
  this.Index.LineColor=["rgb(255,174,0)","rgb(25,199,255)","rgb(175,95,162)","rgb(236,105,65)","rgb(68,114,196)","rgb(229,0,79)","rgb(0,128,255)","rgb(252,96,154)","rgb(42,230,215)","rgb(24,71,178)"];this.OverlaySymbol={Random:0};//Random 颜色的随机数
7587
7598
  this.OverlaySymbol.Color=//叠加股票颜色
@@ -8562,7 +8573,7 @@ scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIn
8562
8573
  overlayFrame.Script=scriptIndex;}else{var scriptIndex=indexCustom.Create();scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
8563
8574
  scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);if(event&&event.Callback){var sendData={OverlayFrame:overlayFrame,WindowIndex:windowIndex,SubFrame:subFrame};event.Callback(event,sendData,this);}subFrame.OverlayIndex.push(overlayFrame);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
8564
8575
  {if(!this.DeleteOverlayIndex(identify,null))return;this.UpdateFrameMaxMin();//重新计算坐标范围
8565
- this.Frame.ResetXYSplit(true);this.Draw();};this.ChangeKLineDrawType=function(drawType,isDraw,option){if(this.KLineDrawType==drawType&&!option)return;var oldKLineType=this.KLineDrawType;this.KLineDrawType=drawType;var setKLineType=new _set2.default([5,7,8,10,11,12,17]);if(setKLineType.has(oldKLineType)||setKLineType.has(drawType)){var chart=this.ChartPaint[0];if(chart)chart.DrawType=this.KLineDrawType;this.CancelAutoUpdate();//先停止定时器
8576
+ this.Frame.ResetXYSplit(true);this.Draw();};this.ChangeKLineDrawType=function(drawType,isDraw,option){if(this.KLineDrawType==drawType&&!option)return;var oldKLineType=this.KLineDrawType;this.KLineDrawType=drawType;var setKLineType=new _set2.default([5,7,8,10,11,12,17,21]);if(setKLineType.has(oldKLineType)||setKLineType.has(drawType)){var chart=this.ChartPaint[0];if(chart)chart.DrawType=this.KLineDrawType;this.CancelAutoUpdate();//先停止定时器
8566
8577
  this.AutoUpdateEvent(false,'KLineChartContainer::ChangeKLineDrawType');if(ChartData.IsDayPeriod(this.Period,true)){this.ResetOverlaySymbolStatus();this.RequestHistoryData();//请求日线数据
8567
8578
  }else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ResetOverlaySymbolStatus();this.RequestHistoryMinuteData();//请求分钟数据
8568
8579
  }return;}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(i==0){item.DrawType=this.KLineDrawType;if(option){if(IFrameSplitOperator.IsBool(option.IsThinAKBar))item.IsThinAKBar=option.IsThinAKBar;}}else if(item.ClassName=='ChartVolStick'){item.KLineDrawType=this.KLineDrawType;}}for(var i in this.OverlayChartPaint)//叠加K线样式修改
@@ -12905,6 +12916,7 @@ this.LockTextColor=null;this.LockText=null;this.LockFont=null;this.LockCount=20;
12905
12916
  this.TitleFont=g_JSChartResource.TitleFont;//标题字体
12906
12917
  this.IsShortTitle=false;//是否显示指标参数
12907
12918
  this.IsUsePageData=false;//是否使用了K线界面数据
12919
+ this.IsAuthorization=false;//是否需要权限认证
12908
12920
  this.YAxis=null;//Y轴刻度设置 { FloatPrecision, StringFormat, EnableRemoveZero }
12909
12921
  //调试信息
12910
12922
  this.Debug;// { Callback:, Count: }
@@ -12912,7 +12924,7 @@ this.IsSync=false;//是否是同步计算 (无数据请求)
12912
12924
  this.IsShow=true;//是否显示图形
12913
12925
  this.RunCount=0;//已执行次数
12914
12926
  this.MaxRunCount=-1;//最大执行次数 -1=无限
12915
- if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
12927
+ if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(IFrameSplitOperator.IsBool(option.IsAuthorization))this.IsAuthorization=option.IsAuthorization;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
12916
12928
  if(option.Lock.Callback)this.LockCallback=option.Lock.Callback;//锁回调
12917
12929
  if(option.Lock.ID)this.LockID=option.Lock.ID;//锁ID
12918
12930
  if(option.Lock.BG)this.LockBG=option.Lock.BG;if(option.Lock.TextColor)this.LockTextColor=option.Lock.TextColor;if(option.Lock.Text)this.LockText=option.Lock.Text;if(option.Lock.Font)this.LockFont=option.Lock.Font;if(option.Lock.Count)this.LockCount=option.Lock.Count;if(option.Lock.MinWidth)this.LockMinWidth=option.Lock.MinWidth*GetDevicePixelRatio();if(IFrameSplitOperator.IsBool(option.Lock.IsFullFrame))this.IsLockFullFrame=option.Lock.IsFullFrame;}if(option&&option.YAxis){this.YAxis={};if(IFrameSplitOperator.IsNumber(option.YAxis.FloatPrecision))this.YAxis.FloatPrecision=option.YAxis.FloatPrecision;if(IFrameSplitOperator.IsNumber(option.YAxis.StringFormat))this.YAxis.StringFormat=option.YAxis.StringFormat;if(IFrameSplitOperator.IsBool(option.YAxis.EnableRemoveZero))this.YAxis.EnableRemoveZero=option.YAxis.EnableRemoveZero;if(IFrameSplitOperator.IsBool(option.YAxis.ExcludeValue))this.YAxis.ExcludeValue=option.YAxis.ExcludeValue;//不参数Y轴的计算
@@ -12932,9 +12944,11 @@ if(hqChart.ClassName==='MinuteChartContainer'||hqChart.ClassName==='MinuteChartH
12932
12944
  else hqDataType=HQ_DATA_TYPE.MINUTE_ID;//分钟数据
12933
12945
  }else if(hqChart.ClassName==='HistoryMinuteChartContainer'){hqDataType=HQ_DATA_TYPE.HISTORY_MINUTE_ID;//历史分钟
12934
12946
  }var option={HQDataType:hqDataType,Symbol:hqChart.Symbol,Name:hqChart.Name,Data:hisData,SourceData:hqChart.SourceData,Callback:function Callback(arg1,arg2){_this59.RecvResultData(arg1,arg2);},CallbackParam:param,Async:true,MaxRequestDataCount:hqChart.MaxRequestDataCount,MaxRequestMinuteDayCount:hqChart.MaxRequestMinuteDayCount,Arguments:this.Arguments,Condition:this.Condition,IsBeforeData:hqChart.IsBeforeData,IsApiPeriod:hqChart.IsApiPeriod,DrawInfo:null,Self:this};if(this.Debug&&IFrameSplitOperator.IsPlusNumber(this.Debug.Count)&&this.Debug.Callback){--this.Debug.Count;option.Debug=1;option.DebugFilter=this.Debug.Callback;}if(hqChart)//当前屏K线信息
12935
- {if(hqChart.ChartPaint[0]){var item=hqChart.ChartPaint[0];if(item&&item.DrawKRange)option.DrawInfo={Start:item.DrawKRange.Start,End:item.DrawKRange.End};}}if(hqDataType===HQ_DATA_TYPE.HISTORY_MINUTE_ID)option.TrateDate=hqChart.TradeDate;if(hqDataType===HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)option.DayCount=hqChart.DayCount;if(hqChart.NetworkFilter)option.NetworkFilter=hqChart.NetworkFilter;if(this.Condition&&!this.IsMeetCondition(param,option)){this.ShowConditionError(param,this.Condition.Message);return;}++this.RunCount;var code=this.Script;var run=JSComplier.Execute(code,option,hqChart.ScriptErrorCallback);};//是否符合限制条件
12947
+ {if(hqChart.ChartPaint[0]){var item=hqChart.ChartPaint[0];if(item&&item.DrawKRange)option.DrawInfo={Start:item.DrawKRange.Start,End:item.DrawKRange.End};}}if(hqDataType===HQ_DATA_TYPE.HISTORY_MINUTE_ID)option.TrateDate=hqChart.TradeDate;if(hqDataType===HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)option.DayCount=hqChart.DayCount;if(hqChart.NetworkFilter)option.NetworkFilter=hqChart.NetworkFilter;if(this.Condition&&!this.IsMeetCondition(param,option)){this.ShowConditionError(param,this.Condition.Message);return;}function _Temp_ExecuteScript(){++self.RunCount;var code=self.Script;var run=JSComplier.Execute(code,option,hqChart.ScriptErrorCallback);}if(this.IsAuthorization===true&&this.RunCount===0)//权限认证 执行一次
12948
+ {this.RequestAuthorization(hqChart,function(){_Temp_ExecuteScript();});}else{_Temp_ExecuteScript();}};//是否符合限制条件
12936
12949
  this.IsMeetCondition=function(param,option){JSConsole.Complier.Log('[ScriptIndex::IsMeetCondition] ',this.Condition);if(this.Condition.Period)//周期是否满足
12937
- {if(!this.IsMeetPeriodCondition(param,option))return false;if(!this.IsMeetIncludeCondition(param,option))return false;}return true;};//周期是否满足条件
12950
+ {if(!this.IsMeetPeriodCondition(param,option))return false;if(!this.IsMeetIncludeCondition(param,option))return false;}return true;};this.RequestAuthorization=function(hqChart,callback){var _this60=this;var reqData={IndexName:this.Name,IndexID:this.ID,IsOverlayIndex:this.IsOverlayIndex===true};var obj={Name:'ScriptIndex::RequestAuthorization',//类名::
12951
+ Explain:'指标权限验证',Request:{Data:reqData},Self:this,HQChart:hqChart,PreventDefault:false};if(hqChart.NetworkFilter){hqChart.NetworkFilter(obj,function(data){_this60.OnRecvAuthorization(data);callback();});}else{JSConsole.JSComplier.Warn("[ScriptIndex::RequestData] NetworkFilter error.");}};this.OnRecvAuthorization=function(recv){if(recv&&recv.Lock)this.SetLock(recv.Lock);};//周期是否满足条件
12938
12952
  this.IsMeetPeriodCondition=function(param,option){if(!this.Condition.Period)return true;for(var i in this.Condition.Period){var item=this.Condition.Period[i];switch(item){case CONDITION_PERIOD.MINUTE_ID:if(option.HQDataType==HQ_DATA_TYPE.MINUTE_ID)return true;break;case CONDITION_PERIOD.MULTIDAY_MINUTE_ID:if(option.HQDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)return true;break;case CONDITION_PERIOD.KLINE_DAY_ID:case CONDITION_PERIOD.KLINE_WEEK_ID:case CONDITION_PERIOD.KLINE_MONTH_ID:case CONDITION_PERIOD.KLINE_YEAR_ID:case CONDITION_PERIOD.KLINE_TWOWEEK_ID:case CONDITION_PERIOD.KLINE_QUARTER_ID:case CONDITION_PERIOD.KLINE_MINUTE_ID:case CONDITION_PERIOD.KLINE_5_MINUTE_ID:case CONDITION_PERIOD.KLINE_15_MINUTE_ID:case CONDITION_PERIOD.KLINE_30_MINUTE_ID:case CONDITION_PERIOD.KLINE_60_MINUTE_ID:if(param.HQChart.Period==item)return true;break;}}return false;};this.IsMeetIncludeCondition=function(param,option){if(!this.Condition.Include||this.Condition.Include.length<=0)return true;var symbol=param.HQChart.Symbol;if(symbol)symbol=symbol.toUpperCase();for(var i in this.Condition.Include){var item=this.Condition.Include[i];if(symbol==item)return true;}return false;};//显示指标不符合条件
12939
12953
  this.ShowConditionError=function(param,msg){var hqChart=param.HQChart;var windowIndex=param.WindowIndex;hqChart.DeleteIndexPaint(windowIndex);if(windowIndex==0)hqChart.ShowKLine(true);var message='指标不支持当前品种或周期';if(msg)message=msg;var line=new ChartLine();line.Canvas=hqChart.Canvas;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;line.NotSupportMessage=message;hqChart.ChartPaint.push(line);hqChart.UpdataDataoffset();//更新数据偏移
12940
12954
  hqChart.UpdateFrameMaxMin();//调整坐标最大 最小值
@@ -13184,7 +13198,7 @@ var hqDataType=HQ_DATA_TYPE.KLINE_ID;//默认K线
13184
13198
  var dateRange=null;if(hqChart.ClassName==='MinuteChartContainer'||hqChart.ClassName==='MinuteChartHScreenContainer'){if(hqChart.DayCount>1)hqDataType=HQ_DATA_TYPE.MULTIDAY_MINUTE_ID;//多日分钟
13185
13199
  else hqDataType=HQ_DATA_TYPE.MINUTE_ID;//分钟数据
13186
13200
  dateRange=hisData.GetDateRange();}else if(hqChart.ClassName==='HistoryMinuteChartContainer'){hqDataType=HQ_DATA_TYPE.HISTORY_MINUTE_ID;//历史分钟
13187
- }else{dateRange=hisData.GetDateRange();}var args=[];if(this.Arguments){for(var i in this.Arguments){var item=this.Arguments[i];args.push({name:item.Name,value:item.Value});}}var requestCount;if(hqChart.GetRequestDataCount)requestCount=hqChart.GetRequestDataCount();var self=this;var postData={indexname:this.ID,symbol:hqChart.Symbol,script:this.Script,args:args,period:hqChart.Period,right:hqChart.Right,hqdatatype:hqDataType};if(dateRange)postData.DateRange=dateRange;if(requestCount){postData.maxdatacount=requestCount.MaxRequestDataCount;postData.maxminutedaycount=requestCount.MaxRequestMinuteDayCount;}if(hqDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID||hqDataType==HQ_DATA_TYPE.MINUTE_ID)postData.daycount=hqChart.DayCount;this.HQDataType=hqDataType;++this.RunCount;if(hqChart.NetworkFilter){var obj={Name:'APIScriptIndex::ExecuteScript',//类名::
13201
+ }else{dateRange=hisData.GetDateRange();}var args=[];if(this.Arguments){for(var i in this.Arguments){var item=this.Arguments[i];args.push({name:item.Name,value:item.Value});}}var requestCount;if(hqChart.GetRequestDataCount)requestCount=hqChart.GetRequestDataCount();var self=this;var postData={indexname:this.ID,symbol:hqChart.Symbol,script:this.Script,args:args,period:hqChart.Period,right:hqChart.Right,hqdatatype:hqDataType,IsAuthorization:this.IsAuthorization};if(dateRange)postData.DateRange=dateRange;if(requestCount){postData.maxdatacount=requestCount.MaxRequestDataCount;postData.maxminutedaycount=requestCount.MaxRequestMinuteDayCount;}if(hqDataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID||hqDataType==HQ_DATA_TYPE.MINUTE_ID)postData.daycount=hqChart.DayCount;this.HQDataType=hqDataType;++this.RunCount;if(hqChart.NetworkFilter){var obj={Name:'APIScriptIndex::ExecuteScript',//类名::
13188
13202
  Explain:'指标计算',Request:{Url:self.ApiUrl,Type:'POST',Data:postData},Self:this,HQChart:hqChart,PreventDefault:false};hqChart.NetworkFilter(obj,function(data){if(self.Version==2)self.RecvAPIData2(data,hqChart,windowIndex,hisData);else self.RecvAPIData(data,hqChart,windowIndex,hisData);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
13189
13203
  }JSNetwork.HttpRequest({url:self.ApiUrl,data:postData,type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvAPIData(recvData,hqChart,windowIndex,hisData);},error:function error(request){self.RecvError(request);}});};//py 后台指标计算格式
13190
13204
  this.RecvAPIData2=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData2] recv data ',this.Name,data);//if (data.code!=0) return;
@@ -13200,7 +13214,7 @@ outItem.Type=6;break;case"LINEAREA":outItem.Type=9;//面积
13200
13214
  break;case"NODRAW"://不画该线
13201
13215
  outItem.IsShow=false;break;case"NONE_OUT_NAME"://不显示标题
13202
13216
  outItem.NoneName=true;break;case"NOTEXT"://不显示标题
13203
- outItem.IsShowTitle=false;break;}if(attr.indexOf('COLOR')==0){outItem.Color=attr;}else if(attr.indexOf('LINETHICK')==0){outItem.LineWidth=attr;}}localOutVar.push(outItem);}return localOutVar;};this.RecvAPIData=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] recv data ',this.Name,data);if(data.code!=0)return;if(hqChart.EnableVerifyRecvData){if(!data.stock||hqChart.Symbol!=data.stock.symbol){JSConsole.Chart.Warn('[APIScriptIndex::RecvAPIData] recv data symbol not match. HQChart['+hqChart.Symbol+']');return;}}if(data.error&&IFrameSplitOperator.IsString(data.error.message)){var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData,Self:this};this.ShowConditionError(param,data.error.message);return;}if(data.outdata&&data.outdata.name)this.Name=data.outdata.name;if(data.outdata.args)//外部修改参数
13217
+ outItem.IsShowTitle=false;break;}if(attr.indexOf('COLOR')==0){outItem.Color=attr;}else if(attr.indexOf('LINETHICK')==0){outItem.LineWidth=attr;}}localOutVar.push(outItem);}return localOutVar;};this.RecvAPIData=function(data,hqChart,windowIndex,hisData){JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] recv data ',this.Name,data);if(data.code!=0)return;if(hqChart.EnableVerifyRecvData){if(!data.stock||hqChart.Symbol!=data.stock.symbol){JSConsole.Chart.Warn('[APIScriptIndex::RecvAPIData] recv data symbol not match. HQChart['+hqChart.Symbol+']');return;}}if(data.error&&IFrameSplitOperator.IsString(data.error.message)){var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData,Self:this};this.ShowConditionError(param,data.error.message);return;}if(data.Lock)this.SetLock(data.Lock);if(data.outdata&&data.outdata.name)this.Name=data.outdata.name;if(data.outdata.args)//外部修改参数
13204
13218
  {this.Arguments=[];for(var i in data.outdata.args){var item=data.outdata.args[i];this.Arguments.push({Name:item.name,Value:item.value});}}if(this.HQDataType==HQ_DATA_TYPE.KLINE_ID){this.OutVar=this.FittingData(data.outdata,hqChart);JSConsole.Complier.Log('[APIScriptIndex::RecvAPIData] conver to OutVar ',this.OutVar);}else{this.OutVar=this.FittingMinuteData(data.outdata,hqChart);//走势图数据
13205
13219
  }this.BindData(hqChart,windowIndex,hisData);var frame=hqChart.Frame.SubFrame[windowIndex].Frame;if(this.IsOverlayIndex)frame=this.OverlayIndex.Frame.Frame;if(this.IsLocked==false)//不上锁
13206
13220
  {frame.SetLock(null);}else//上锁
@@ -13626,7 +13640,7 @@ var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if
13626
13640
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSDealChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSDealChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
13627
13641
  //注册事件
13628
13642
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
13629
- if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateResizeListener=function(){var _this60=this;this.ResizeListener=new ResizeObserver(function(entries){_this60.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSDealChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.ShowOrder))chart.ChartPaint[0].ShowOrder=option.ShowOrder;this.SetChartBorder(chart,option);//是否自动更新
13643
+ if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateResizeListener=function(){var _this61=this;this.ResizeListener=new ResizeObserver(function(entries){_this61.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSDealChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.ShowOrder))chart.ChartPaint[0].ShowOrder=option.ShowOrder;this.SetChartBorder(chart,option);//是否自动更新
13630
13644
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;var dealChart=chart.GetDealChart();if(dealChart){if(IFrameSplitOperator.IsNumber(option.SelectedStyle))dealChart.SelectedStyle=option.SelectedStyle;}//注册事件
13631
13645
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13632
13646
  chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};/////////////////////////////////////////////////////////////////////////////
@@ -13662,16 +13676,16 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FILTER_DEAL_DATA);if(!event|
13662
13676
  event.Callback(event,sendData,this);return sendData.Result;};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
13663
13677
  {this.EnableFilterData=bEnable;this.Data.Data=this.FilterData(this.SourceData.Data);this.Data.DataOffset=0;if(option){if(option.GotoLastPage==true)this.GotoLastPage();if(option.Redraw==true)this.Draw();}};this.CloneArray=function(aryData){var data=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return data;for(var i=0;i<aryData.length;++i){data.push(aryData[i]);}return data;};//创建
13664
13678
  //windowCount 窗口个数
13665
- this.Create=function(option){var _this61=this;this.UIElement.JSChartContainer=this;//创建等待提示
13679
+ this.Create=function(option){var _this62=this;this.UIElement.JSChartContainer=this;//创建等待提示
13666
13680
  this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);//创建框架
13667
13681
  this.Frame=new JSDealFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
13668
- var chart=new ChartDealList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this61.GetEventCallback(id);};this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsSingleTable))chart.IsSingleTable=option.IsSingleTable;//单表模式
13682
+ var chart=new ChartDealList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this62.GetEventCallback(id);};this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsSingleTable))chart.IsSingleTable=option.IsSingleTable;//单表模式
13669
13683
  if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
13670
13684
  if(IFrameSplitOperator.IsBool(option.IsShowLastPage))this.IsShowLastPage=option.IsShowLastPage;//是否显示最后一页
13671
13685
  if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
13672
- }var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}if(IFrameSplitOperator.IsBool(option.EnableSelected))chart.SelectedData.Enable=option.EnableSelected;}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this61.OnKeyDown(e);},true);//键盘消息
13673
- if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this61.OnWheel(e);},true);//上下滚动消息
13674
- this.UIElement.onmousedown=function(e){_this61.UIOnMouseDown(e);};this.UIElement.ondblclick=function(e){_this61.UIOnDblClick(e);};this.UIElement.oncontextmenu=function(e){_this61.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this61.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this61.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this61.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13686
+ }var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}if(IFrameSplitOperator.IsBool(option.EnableSelected))chart.SelectedData.Enable=option.EnableSelected;}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this62.OnKeyDown(e);},true);//键盘消息
13687
+ if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this62.OnWheel(e);},true);//上下滚动消息
13688
+ this.UIElement.onmousedown=function(e){_this62.UIOnMouseDown(e);};this.UIElement.ondblclick=function(e){_this62.UIOnDblClick(e);};this.UIElement.oncontextmenu=function(e){_this62.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this62.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this62.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this62.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13675
13689
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
13676
13690
  if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
13677
13691
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.Data={DataOffset:0,Data:[]};//分笔数据
@@ -13865,12 +13879,12 @@ var _iteratorNormalCompletion23=true;var _didIteratorError23=false;var _iterator
13865
13879
  //注册事件
13866
13880
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
13867
13881
  if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(option.KLineChartTooltip&&option.KLineChartTooltip.Enable)chart.InitalKLineChartTooltip(option.KLineChartTooltip);if(option.Symbol)chart.Symbol=option.Symbol;if(option.Name)chart.Name=option.Name;var requestOption={Callback:null};if(chart.Symbol)requestOption.Callback=function(){chart.RequestMemberListData();};if(option.LoadStockList===false){chart.ChartSplashPaint.IsEnableSplash=false;chart.Draw();}else{chart.RequestStockListData(requestOption);//下载码表
13868
- }};this.CreateJSReportChartContainer=function(option){var _this62=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this62.GetExtraCanvas(name);};chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsNumber(option.WheelPageType))chart.WheelPageConfig.Type=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;if(IFrameSplitOperator.IsBool(option.EnablePageUpdate))chart.EnablePageUpdate=option.EnablePageUpdate;if(option.WheelPage){var item=option.WheelPage;if(IFrameSplitOperator.IsNumber(item.Type))chart.WheelPageConfig.Type=item.Type;if(IFrameSplitOperator.IsPlusNumber(item.RowStep))chart.WheelPageConfig.RowStep=item.RowStep;if(IFrameSplitOperator.IsBool(item.EnableCtrlTurn))chart.WheelPageConfig.EnableCtrlTurn=item.EnableCtrlTurn;}//数据下载提示信息
13882
+ }};this.CreateJSReportChartContainer=function(option){var _this63=this;var chart=new JSReportChartContainer(this.CanvasElement);chart.GetExtraCanvas=function(name){return _this63.GetExtraCanvas(name);};chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsNumber(option.WheelPageType))chart.WheelPageConfig.Type=option.WheelPageType;if(IFrameSplitOperator.IsBool(option.PageUpDownCycle))chart.PageUpDownCycle=option.PageUpDownCycle;if(IFrameSplitOperator.IsBool(option.EnablePageUpdate))chart.EnablePageUpdate=option.EnablePageUpdate;if(option.WheelPage){var item=option.WheelPage;if(IFrameSplitOperator.IsNumber(item.Type))chart.WheelPageConfig.Type=item.Type;if(IFrameSplitOperator.IsPlusNumber(item.RowStep))chart.WheelPageConfig.RowStep=item.RowStep;if(IFrameSplitOperator.IsBool(item.EnableCtrlTurn))chart.WheelPageConfig.EnableCtrlTurn=item.EnableCtrlTurn;}//数据下载提示信息
13869
13883
  if(IFrameSplitOperator.IsObject(option.SplashTitle)){var item=option.SplashTitle;if(item)chart.SplashTitle.StockList=item.StockList;if(item)chart.SplashTitle.MemberList=item.MemberList;}if(option.VScrollbar)chart.SetVScrollbar(option.VScrollbar);if(option.SortInfo){var item=option.SortInfo;if(item.Search)chart.SortInfo.Field=chart.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}if(option.VirtualTable){var item=option.VirtualTable;if(IFrameSplitOperator.IsBool(item.Enable))chart.Data.Virtual.Enable=item.Enable;}var reportChart=chart.GetReportChart();if(reportChart){if(IFrameSplitOperator.IsNumber(option.TextOverflowStyle))reportChart.TextOverflowStyle=option.TextOverflowStyle;if(IFrameSplitOperator.IsNumber(option.MultiSelectModel))reportChart.MultiSelectModel=option.MultiSelectModel;if(IFrameSplitOperator.IsNumber(option.SelectedStyle))reportChart.SelectedStyle=option.SelectedStyle;if(option.BottomTab){var item=option.BottomTab;if(IFrameSplitOperator.IsBool(item.IsShow))reportChart.Tab.IsShow=item.IsShow;}}this.SetChartBorder(chart,option);//是否自动更新
13870
13884
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//数据筛选
13871
13885
  if(option.DataFilter){var item=option.DataFilter;if(IFrameSplitOperator.IsBool(item.Enable))chart.DataFilterConfig.Enable=item.Enable;}//注册事件
13872
13886
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13873
- chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this63=this;this.ResizeListener=new ResizeObserver(function(entries){_this63.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
13887
+ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this64=this;this.ResizeListener=new ResizeObserver(function(entries){_this64.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
13874
13888
  //对外接口
13875
13889
  //切换股票代码接口
13876
13890
  this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};this.SetSelectedRow=function(option){if(this.JSChartContainer)this.JSChartContainer.SetSelectedRow(option);};this.DeleteSymbol=function(arySymbol,option){if(this.JSChartContainer)this.JSChartContainer.DeleteSymbol(arySymbol,option);};this.AddSymbol=function(arySymbol,option){if(this.JSChartContainer)this.JSChartContainer.AddSymbol(arySymbol,option);};this.EnableDataFilter=function(bEnable,option)//启动|关闭筛选
@@ -13948,27 +13962,27 @@ this.ChartDestroy=function()//销毁
13948
13962
  {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();this.DestroyPopMenu();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
13949
13963
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
13950
13964
  this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
13951
- this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var _this64=this;this.AutoDragScrollTimer=setTimeout(function(){_this64.ChartOperator_Temp_ScrollPage(step);},300);};this.ChartOperator_Temp_ScrollPage=function(moveSetp){if(!this.EnablePageScroll)return;var reportChart=this.GetReportChart();if(!reportChart)return;if(moveSetp>0){var pageStatus=reportChart.GetCurrentPageStatus();if(pageStatus.IsEnd)return;this.MoveYOffset(moveSetp,false);++moveSetp;}else if(moveSetp<0){if(this.Data.YOffset<=0)return;this.MoveYOffset(moveSetp,false);--moveSetp;}else{return;}this.Draw();if(!this.EnablePageScroll)return;this.AutoScrollPage(moveSetp);return;};//清空画布
13965
+ this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var _this65=this;this.AutoDragScrollTimer=setTimeout(function(){_this65.ChartOperator_Temp_ScrollPage(step);},300);};this.ChartOperator_Temp_ScrollPage=function(moveSetp){if(!this.EnablePageScroll)return;var reportChart=this.GetReportChart();if(!reportChart)return;if(moveSetp>0){var pageStatus=reportChart.GetCurrentPageStatus();if(pageStatus.IsEnd)return;this.MoveYOffset(moveSetp,false);++moveSetp;}else if(moveSetp<0){if(this.Data.YOffset<=0)return;this.MoveYOffset(moveSetp,false);--moveSetp;}else{return;}this.Draw();if(!this.EnablePageScroll)return;this.AutoScrollPage(moveSetp);return;};//清空画布
13952
13966
  this.ClearCanvas=function(canvas){if(!canvas)return;if(!this.UIElement)return;canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);};//清空固定行数据
13953
13967
  this.ClearFixedRowData=function(){this.FixedRowData.Data=[];this.FixedRowData.Symbol=[];};//设置固定行
13954
13968
  this.SetFixedRowCount=function(value){var chart=this.GetReportChart();if(!chart)return;chart.FixedRowCount=value;};//创建
13955
- this.Create=function(option){var _this65=this;this.UIElement.JSChartContainer=this;//创建等待提示
13969
+ this.Create=function(option){var _this66=this;this.UIElement.JSChartContainer=this;//创建等待提示
13956
13970
  this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
13957
13971
  this.Frame=new JSReportFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
13958
- var chart=new ChartReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this65.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this65.GetStockData(symbol);};chart.GetBlockDataCallback=function(symbol){return _this65.GetBlockData(symbol);};chart.GetFlashBGDataCallback=function(symbol,time){return _this65.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;chart.Tab=new ChartReportTab();chart.Tab.Frame=this.Frame;chart.Tab.Canvas=this.Canvas;chart.Tab.ChartBorder=this.Frame.ChartBorder;chart.Tab.Report=chart;chart.VScrollbar=new ChartVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;chart.VScrollbar.IsShowCallback=function(){if(_this65.DragYScroll)return true;return _this65.IsShowVScrollbar;};this.ChartPaint[0]=chart;//页脚
13972
+ var chart=new ChartReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this66.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this66.GetStockData(symbol);};chart.GetBlockDataCallback=function(symbol){return _this66.GetBlockData(symbol);};chart.GetFlashBGDataCallback=function(symbol,time){return _this66.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;chart.Tab=new ChartReportTab();chart.Tab.Frame=this.Frame;chart.Tab.Canvas=this.Canvas;chart.Tab.ChartBorder=this.Frame.ChartBorder;chart.Tab.Report=chart;chart.VScrollbar=new ChartVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;chart.VScrollbar.IsShowCallback=function(){if(_this66.DragYScroll)return true;return _this66.IsShowVScrollbar;};this.ChartPaint[0]=chart;//页脚
13959
13973
  if(option&&option.PageInfo===true){var pageInfoChart=new ChartReportPageInfo();pageInfoChart.Frame=this.Frame;pageInfoChart.ChartBorder=this.Frame.ChartBorder;pageInfoChart.Canvas=this.Canvas;pageInfoChart.Report=chart;this.ChartPaint[1]=pageInfoChart;}if(option){if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
13960
13974
  if(IFrameSplitOperator.IsNumber(option.FixedColumn))chart.FixedColumn=option.FixedColumn;//固定列
13961
13975
  if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
13962
13976
  if(IFrameSplitOperator.IsBool(option.TabShow))chart.Tab.IsShow=option.TabShow;if(IFrameSplitOperator.IsNumber(option.FixedRowCount))chart.FixedRowCount=option.FixedRowCount;//固定行
13963
- if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}if(option.CellBorder){var item=option.CellBorder;if(IFrameSplitOperator.IsBool(item.IsShowVLine))chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;if(IFrameSplitOperator.IsBool(item.IsShowHLine))chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;if(IFrameSplitOperator.IsBool(item.IsFullLine))chart.CellBorderConfig.IsFullLine=item.IsFullLine;}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this65.OnKeyDown(e);},true);//键盘消息
13964
- if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this65.OnWheel(e);},true);//上下滚动消息
13965
- this.UIElement.ondblclick=function(e){_this65.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this65.UIOnMouseDown(e);};this.UIElement.onmouseup=function(e){_this65.UIOnMounseUp(e);};this.UIElement.oncontextmenu=function(e){_this65.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this65.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this65.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this65.UIOnMouseleave(e);};//手机拖拽
13966
- this.UIElement.ontouchstart=function(e){_this65.OnTouchStart(e);};this.UIElement.ontouchmove=function(e){_this65.OnTouchMove(e);};this.UIElement.ontouchend=function(e){_this65.OnTouchEnd(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13977
+ if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;if(IFrameSplitOperator.IsNumber(option.HeaderRowCount))chart.HeaderRowCount=option.HeaderRowCount;if(IFrameSplitOperator.IsNonEmptyArray(option.FixedSymbol)){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}}if(option.CellBorder){var item=option.CellBorder;if(IFrameSplitOperator.IsBool(item.IsShowVLine))chart.CellBorderConfig.IsShowVLine=item.IsShowVLine;if(IFrameSplitOperator.IsBool(item.IsShowHLine))chart.CellBorderConfig.IsShowHLine=item.IsShowHLine;if(IFrameSplitOperator.IsBool(item.IsFullLine))chart.CellBorderConfig.IsFullLine=item.IsFullLine;}}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this66.OnKeyDown(e);},true);//键盘消息
13978
+ if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this66.OnWheel(e);},true);//上下滚动消息
13979
+ this.UIElement.ondblclick=function(e){_this66.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this66.UIOnMouseDown(e);};this.UIElement.onmouseup=function(e){_this66.UIOnMounseUp(e);};this.UIElement.oncontextmenu=function(e){_this66.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this66.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this66.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this66.UIOnMouseleave(e);};//手机拖拽
13980
+ this.UIElement.ontouchstart=function(e){_this66.OnTouchStart(e);};this.UIElement.ontouchmove=function(e){_this66.OnTouchMove(e);};this.UIElement.ontouchend=function(e){_this66.OnTouchEnd(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
13967
13981
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
13968
13982
  this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
13969
- for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this66=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this66.Draw();},frequency);};this.ResetReportStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetReportSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;chart.MultiSelectedRow=[];}};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Virtual.Count=0;this.BlockData=new _map2.default();};this.ClearMapStockData=function(){this.MapStockData=new _map2.default();};this.ResetSortStatus=function(){this.SortInfo.Field=-1;this.SortInfo.Sort=0;};this.SetSelectedRow=function(option){var reportChart=this.GetReportChart();if(!reportChart)return false;if(!reportChart.SetSelectedRow(option))return false;this.Draw();};//设置股票列表
13970
- this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this67=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(item.Search)this.SortInfo.Field=this.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsNonEmptyArray(option.Column))//字段重新设置
13971
- {this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this67.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStatus.IsFinishStockList=false;this.RequestStatus.IsFinishMemberList=false;this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据 option={ SortInfo:{ Search:, Field:, Sort: } }
13983
+ for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw(this.LastMouseStatus);}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw(this.LastMouseStatus);}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this67=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this67.Draw();},frequency);};this.ResetReportStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetReportSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;chart.MultiSelectedRow=[];}};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Virtual.Count=0;this.BlockData=new _map2.default();};this.ClearMapStockData=function(){this.MapStockData=new _map2.default();};this.ResetSortStatus=function(){this.SortInfo.Field=-1;this.SortInfo.Sort=0;};this.SetSelectedRow=function(option){var reportChart=this.GetReportChart();if(!reportChart)return false;if(!reportChart.SetSelectedRow(option))return false;this.Draw();};//设置股票列表
13984
+ this.SetSymbolList=function(arySymbol,option){this.ClearData();this.ResetReportStatus();this.ResetSortStatus();if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);}}var chart=this.ChartPaint[0];if(chart)chart.Data=this.Data;this.Draw();};this.ChangeSymbol=function(symbol,option){var _this68=this;this.Symbol=symbol;this.ClearData();this.ResetReportStatus();this.ResetSortStatus();this.ResetReportSelectStatus();if(option){if(IFrameSplitOperator.IsNumber(option.TabSelected)){var chartTab=this.GetTabChart();if(chartTab)chartTab.SelectedTabIndex=option.TabSelected;}if(Array.isArray(option.FixedSymbol)){var chart=this.GetReportChart();if(chart){chart.FixedRowCount=0;this.FixedRowData.Type=1;this.FixedRowData.Symbol=[];var aryData=option.FixedSymbol;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.FixedRowData.Symbol.push(item.Symbol);++chart.FixedRowCount;}this.SetSizeChange(true);}}if(option.SortInfo){var item=option.SortInfo;if(item.Search)this.SortInfo.Field=this.FindFiledIndex(item.Search);if(IFrameSplitOperator.IsNumber(item.Field))this.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))this.SortInfo.Sort=item.Sort;}if(IFrameSplitOperator.IsNonEmptyArray(option.Column))//字段重新设置
13985
+ {this.SetColumn(option.Column,{Draw:false});}if(IFrameSplitOperator.IsBool(option.IsReloadStockList)&&option.IsReloadStockList){var requestOption={Callback:null};if(this.Symbol)requestOption.Callback=function(){_this68.RequestMemberListData();};this.MapStockData=new _map2.default();this.RequestStatus.IsFinishStockList=false;this.RequestStatus.IsFinishMemberList=false;this.RequestStockListData(requestOption);return;}}this.RequestMemberListData();};//更新数据 option={ SortInfo:{ Search:, Field:, Sort: } }
13972
13986
  this.UpdateFullData=function(data,option){var arySymbol=[];if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=证券代码 1=股票名称
13973
13987
  for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQReportItem();stock.OriginalSymbol=symbol;this.MapStockData.set(symbol,stock);}stock.Symbol=this.GetSymbolNoSuffix(symbol);stock.Name=item[1];this.ReadStockJsonData(stock,item);arySymbol.push(symbol);}}//设置显示数据
13974
13988
  this.Data.Data=[];this.SourceData.Data=[];if(IFrameSplitOperator.IsNonEmptyArray(arySymbol)){for(var i=0;i<arySymbol.length;++i){this.Data.Data.push(arySymbol[i]);this.SourceData.Data.push(arySymbol[i]);}}if(option&&option.SortInfo){//本地排序
@@ -14039,7 +14053,7 @@ this.GetStockData=function(symbol){if(!this.MapStockData)return null;if(!this.Ma
14039
14053
  this.SetFlashBGItem=function(symbol,obj){var item={ID:obj.ID,Color:obj.Color,Count:1};if(IFrameSplitOperator.IsNumber(obj.Count))item.Count=obj.Count;if(IFrameSplitOperator.IsNumber(obj.Time))item.Time=obj.Time;else item.Time=Date.now();if(this.FlashBG.has(symbol)){var stockItem=this.FlashBG.get(symbol);stockItem.LastTime=item.Time;stockItem.Data.set(item.ID,item);}else{var stockItem={LastTime:item.Time,Data:new _map2.default([[item.ID,item]])};this.FlashBG.set(symbol,stockItem);}};this.GetFlashBGData=function(symbol,time){if(!this.FlashBG)return null;if(!this.FlashBG.has(symbol))return null;var timeDiff=3*1000;var stockItem=this.FlashBG.get(symbol);if(time-stockItem.LastTime>=timeDiff)//超时的删除
14040
14054
  {this.FlashBG.delete(symbol);return null;}if(!stockItem.Data||stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}var aryDelID=[];//超时需要参数的
14041
14055
  var _iteratorNormalCompletion25=true;var _didIteratorError25=false;var _iteratorError25=undefined;try{for(var _iterator25=(0,_getIterator3.default)(stockItem.Data),_step25;!(_iteratorNormalCompletion25=(_step25=_iterator25.next()).done);_iteratorNormalCompletion25=true){var mapItem=_step25.value;var item=mapItem[1];if(time-item.Time>=timeDiff||item.Count<=0)aryDelID.push(item.ID);}}catch(err){_didIteratorError25=true;_iteratorError25=err;}finally{try{if(!_iteratorNormalCompletion25&&_iterator25.return){_iterator25.return();}}finally{if(_didIteratorError25){throw _iteratorError25;}}}if(IFrameSplitOperator.IsNonEmptyArray(aryDelID)){for(var i=0;i<aryDelID.length;++i){stockItem.Data.delete(aryDelID[i]);}if(stockItem.Data.size<=0){this.FlashBG.delete(symbol);return null;}}return stockItem;};//delay=是否延迟
14042
- this.DelayUpdateStockData=function(){var _this68=this;if(this.EnablePageUpdate===false)return;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this68.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
14056
+ this.DelayUpdateStockData=function(){var _this69=this;if(this.EnablePageUpdate===false)return;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this69.UpdateStockData();},frequency);};this.UpdateStockData=function(){var chart=this.ChartPaint[0];if(!chart)return;//列表还没有加载完成
14043
14057
  if(this.RequestStatus.IsFinishStockList==false||this.RequestStatus.IsFinishMemberList==false)return;if(this.Data.Virtual&&this.Data.Virtual.Enable){this.RequestVirtualStockData();//虚拟表格 全部取后台
14044
14058
  return;}//if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
14045
14059
  if(this.SortInfo&&this.SortInfo.Field>=0&&this.SortInfo.Sort>0){var column=chart.Column[this.SortInfo.Field];if(column.Sort==2){this.RequestStockSortData(column,this.SortInfo.Field,this.SortInfo.Sort);//远程排序
@@ -14128,7 +14142,7 @@ var result=this.MoveSelectedRow(-1,{EnablePageCycle:this.PageUpDownCycle});if(re
14128
14142
  var result=this.MoveSelectedRow(1,{EnablePageCycle:this.PageUpDownCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();this.MoveSelectedRowEvent(result.OldIndex,result.NewIndex);}break;case 37://left
14129
14143
  if(this.MoveXOffset(-1))this.Draw();break;case 39://right
14130
14144
  if(this.MoveXOffset(1))this.Draw();break;}//不让滚动条滚动
14131
- if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var _this69=this;this.DragXScroll=null;this.DragYScroll=null;this.DragHeader=null;this.DragColumnWidth=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var dragColumnWidth=chart.PtInHeaderDragBorder(x,y);if(dragColumnWidth){this.DragColumnWidth={ClickPoint:{X:x,Y:y},LastPoint:{X:x,Y:y},//Click:{ X:e.clientX, Y:e.clientY },
14145
+ if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var _this70=this;this.DragXScroll=null;this.DragYScroll=null;this.DragHeader=null;this.DragColumnWidth=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var dragColumnWidth=chart.PtInHeaderDragBorder(x,y);if(dragColumnWidth){this.DragColumnWidth={ClickPoint:{X:x,Y:y},LastPoint:{X:x,Y:y},//Click:{ X:e.clientX, Y:e.clientY },
14132
14146
  //LastMove:{ X:e.clientX, Y:e.clientY},
14133
14147
  ClickData:dragColumnWidth,ColumnWidth:dragColumnWidth.Column.Width};}else{var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
14134
14148
  if((clickData.Type==2||clickData.Type==4)&&(e.button==0||e.button==2))//点击行|固定行
@@ -14144,11 +14158,11 @@ if((clickData.Type==2||clickData.Type==4)&&(e.button==0||e.button==2))//点击
14144
14158
  {if(this.MoveYOffset(-1)){this.Draw();this.DelayUpdateStockData();}}else if(scroll.Type==2)//底部按钮
14145
14159
  {if(this.MoveYOffset(1)){this.Draw();this.DelayUpdateStockData();}}else if(scroll.Type==3)//滚动条
14146
14160
  {this.DragYScroll={Click:{X:x,Y:y},LastMove:{X:x,Y:y}};}else if(scroll.Type==4)//滚动条内部
14147
- {if(this.SetYOffset(scroll.Pos)){this.Draw();this.DelayUpdateStockData();}}}}}document.onmousemove=function(e){_this69.DocOnMouseMove(e);};document.onmouseup=function(e){_this69.DocOnMouseUp(e);};};this.UIOnMounseUp=function(e){console.log('"UIOnMounseUp');};//去掉右键菜单
14161
+ {if(this.SetYOffset(scroll.Pos)){this.Draw();this.DelayUpdateStockData();}}}}}document.onmousemove=function(e){_this70.DocOnMouseMove(e);};document.onmouseup=function(e){_this70.DocOnMouseUp(e);};};this.UIOnMounseUp=function(e){console.log('"UIOnMounseUp');};//去掉右键菜单
14148
14162
  this.UIOnContextMenu=function(e){e.preventDefault();if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.IsShowRightMenu)return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;if(typeof this.OnRightMenu=='function')this.OnRightMenu(x,y,e);//右键菜单事件
14149
14163
  };this.OnRightMenu=function(x,y,e){this.PopupRightMenu(x,y,e);};this.PtInReportChart=function(x,y)//Type: 2=行 3=表头 4=固定行
14150
- {var chart=this.GetReportChart();if(!chart)return null;var row=chart.PtInHeader(x,y);if(row)return{Type:3,Row:row,X:x,Y:y};row=chart.PtInFixedBody(x,y);if(row)return{Type:4,Row:row,X:x,Y:y};row=chart.PtInBody(x,y);if(row)return{Type:2,Row:row,X:x,Y:y};return{Type:-1,Row:null,X:x,Y:y};};this.PopupRightMenu=function(x,y,e){var _this70=this;var pixelTatio=GetDevicePixelRatio();var data=this.PtInReportChart(x*pixelTatio,y*pixelTatio);//x,y 需要乘以放大倍速
14151
- if(!data)return;if(!this.JSPopMenu)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this70.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
14164
+ {var chart=this.GetReportChart();if(!chart)return null;var row=chart.PtInHeader(x,y);if(row)return{Type:3,Row:row,X:x,Y:y};row=chart.PtInFixedBody(x,y);if(row)return{Type:4,Row:row,X:x,Y:y};row=chart.PtInBody(x,y);if(row)return{Type:2,Row:row,X:x,Y:y};return{Type:-1,Row:null,X:x,Y:y};};this.PopupRightMenu=function(x,y,e){var _this71=this;var pixelTatio=GetDevicePixelRatio();var data=this.PtInReportChart(x*pixelTatio,y*pixelTatio);//x,y 需要乘以放大倍速
14165
+ if(!data)return;if(!this.JSPopMenu)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this71.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
14152
14166
  this.PopupMenuByRClick=function(menuData,x,y){if(!this.JSPopMenu)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//点击右键菜单
14153
14167
  this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
14154
14168
  var aryArgs=data.Data.Args;//参数
@@ -14201,21 +14215,21 @@ break;--selected;if(selected<pageStatus.Start)--offset;if(selected<0){selected=t
14201
14215
  this.MoveXOffset=function(step){var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(maxOffset<=0)return false;if(step>0){if(this.Data.XOffset>=maxOffset)return false;for(var i=0;i<step;++i){if(this.Data.XOffset>=maxOffset)break;++this.Data.XOffset;}return true;}else if(step<0){if(this.Data.XOffset<=0)return false;step=Math.abs(step);for(var i=0;i<step;++i){if(this.Data.XOffset-1<0)break;--this.Data.XOffset;}return true;}return false;};this.SetXOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetXScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.XOffset=pos;return true;};this.SetYOffset=function(pos){if(!IFrameSplitOperator.IsNumber(pos))return false;var chart=this.ChartPaint[0];if(!chart)return false;var maxOffset=chart.GetYScrollRange();if(pos<0)pos=0;if(pos>maxOffset)pos=maxOffset;this.Data.YOffset=pos;return true;};this.GotoLastPage=function(){var chart=this.ChartPaint[0];if(!chart)return;//显示最后一屏
14202
14216
  var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(!chart)return;chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();};this.SetTab=function(aryTab,option){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SetTabList(aryTab);if(option&&option.Redraw)this.Draw();};this.SetVScrollbar=function(option){var chart=this.GetReportChart();if(!chart)return;var scrollbar=chart.VScrollbar;if(!scrollbar)return;scrollbar.SetOption(option);};this.SetSelectedTab=function(index,opiton){var chart=this.ChartPaint[0];;if(!chart)return;var chartTab=chart.Tab;if(!chartTab)return;chartTab.SelectedTabIndex=index;};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&(option.Redraw||option.Draw)){this.SetSizeChange(true);this.Draw();}if(this.TooltipMinuteChart)this.TooltipMinuteChart.ReloadResource(option);//分时图
14203
14217
  if(this.TooltipKLineChart)this.TooltipKLineChart.ReloadResource(option);};//列排序
14204
- this.SortColumn=function(index,sortType){var _this71=this;if(index<0)return false;var reportChart=this.GetReportChart();if(!reportChart)return false;var column=reportChart.Column[index];if(!column)return false;if(column.Sort!=1&&column.Sort!=2)return false;var sortInfo={Field:index,Sort:sortType};if(this.Data.Virtual&&this.Data.Virtual.Enable){this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestVirtualStockData();//虚拟表格
14218
+ this.SortColumn=function(index,sortType){var _this72=this;if(index<0)return false;var reportChart=this.GetReportChart();if(!reportChart)return false;var column=reportChart.Column[index];if(!column)return false;if(column.Sort!=1&&column.Sort!=2)return false;var sortInfo={Field:index,Sort:sortType};if(this.Data.Virtual&&this.Data.Virtual.Enable){this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestVirtualStockData();//虚拟表格
14205
14219
  return true;}else if(sortInfo.Sort==0)//不排序还原
14206
14220
  {this.Data.Data=[];if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))this.Data.Data=this.SourceData.Data.slice();}else if(sortInfo.Sort==1||sortInfo.Sort==2){if(column.Sort==1)//本地排序
14207
- {var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this71.LocalSort(left,right,column,sortInfo.Sort);});}else if(column.Sort==2)//远程排序
14221
+ {var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this72.LocalSort(left,right,column,sortInfo.Sort);});}else if(column.Sort==2)//远程排序
14208
14222
  {if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestStockSortData(column,sortInfo.Field,sortInfo.Sort);//远程排序
14209
14223
  return true;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();return true;};//点表头
14210
14224
  this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.EnablePopupHeaderMenu){this.PopupHeaderMenu(clickData,e);return;}if(header.Column&&(header.Column.Sort==1||header.Column.Sort==2)){var index=header.Index;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort};var arySortType=header.Column.SortType;if(sortInfo.Field!=index){sortInfo.Field=index;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(header.Column.Sort==1||header.Column.Sort==2){if(sortInfo.Sort==0){this.Data.Data=this.SourceData.Data.slice();this.DataFilter();}else{if(header.Column.Sort==1)//本地排序
14211
14225
  {this.DataFilter();this.LocalDataSort(header.Column,sortInfo);}else if(header.Column.Sort==2)//远程排序
14212
14226
  {if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Data.YOffset=0;this.ResetReportSelectStatus();this.RequestStockSortData(header.Column,sortInfo.Field,sortInfo.Sort);//远程排序
14213
- return;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();}}};this.LocalDataSort=function(column,sortInfo){var _this72=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this72.LocalSort(left,right,column,sortInfo.Sort);});};//数据筛选
14227
+ return;}}this.Data.YOffset=0;this.ResetReportSelectStatus();this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.Draw();this.DelayUpdateStockData();}}};this.LocalDataSort=function(column,sortInfo){var _this73=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);var bLocalSort=true;if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault){if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;bLocalSort=false;}}if(bLocalSort)this.Data.Data.sort(function(left,right){return _this73.LocalSort(left,right,column,sortInfo.Sort);});};//数据筛选
14214
14228
  this.DataFilter=function(){if(!this.DataFilterConfig.Enable)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DATA_FILTER);if(!event||!event.Callback)return false;var aryData=this.SourceData.Data.slice();//原始数据
14215
14229
  var sendData={AryData:aryData,PreventDefault:false};event.Callback(event,sendData,this);if(!sendData.PreventDefault)return false;this.Data.Data=sendData.AryData;return true;};this.EnableDataFilter=function(enable,option){if(!IFrameSplitOperator.IsBool(enable))return false;this.DataFilterConfig.Enable=enable;if(enable){this.DataFilter();}else{this.Data.Data=this.SourceData.Data.slice();}//排序
14216
- var chart=this.GetReportChart();if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];this.LocalDataSort(column,this.SortInfo);}this.ResetReportStatus();this.Draw();};this.PopupHeaderMenu=function(clickData,e){var _this73=this;if(!this.JSPopMenu)return;if(!this.GetEventCallback)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_REPORT_HEADER_MENU);if(!event||!event.Callback)return;var header=clickData.Header;var column=header.Column;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.DROPDOWN_MENU_ID};menuData.ClickCallback=function(data){_this73.OnClickHeaderMenu(column,data);};var sendData={MenuData:menuData,Column:column,Index:header.Index,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;if(!menuData.Menu)return;this.PopupMenuByDrapdown(menuData,header.Rect);};//下拉菜单
14230
+ var chart=this.GetReportChart();if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];this.LocalDataSort(column,this.SortInfo);}this.ResetReportStatus();this.Draw();};this.PopupHeaderMenu=function(clickData,e){var _this74=this;if(!this.JSPopMenu)return;if(!this.GetEventCallback)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_REPORT_HEADER_MENU);if(!event||!event.Callback)return;var header=clickData.Header;var column=header.Column;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.DROPDOWN_MENU_ID};menuData.ClickCallback=function(data){_this74.OnClickHeaderMenu(column,data);};var sendData={MenuData:menuData,Column:column,Index:header.Index,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;if(!menuData.Menu)return;this.PopupMenuByDrapdown(menuData,header.Rect);};//下拉菜单
14217
14231
  this.PopupMenuByDrapdown=function(menuData,rtButton){if(!this.JSPopMenu)return;var pixelRatio=GetDevicePixelRatio();var rtCell={Left:rtButton.Left/pixelRatio,Right:rtButton.Right/pixelRatio,Bottom:rtButton.Bottom/pixelRatio,Top:rtButton.Top/pixelRatio};rtCell.Width=rtCell.Right-rtCell.Left;rtCell.Height=rtCell.Bottom-rtCell.Top;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;rtCell.Left+=offsetLeft;rtCell.Right+=offsetLeft;rtCell.Top+=offsetTop;rtCell.Bottom+=offsetTop;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByDrapdown(rtCell);};this.GetTabPopMenu=function(tabItem){var aryMenu=[];if(IFrameSplitOperator.IsNonEmptyArray(tabItem.ArySubMenu)){for(var i=0;i<tabItem.ArySubMenu.length;++i){var item=tabItem.ArySubMenu[i];var menuItem={Name:item.Title,Data:{ID:item.CommandID,Args:[item.ID]}};if(item.Text)menuItem.Text=item.Text;if(IFrameSplitOperator.IsNonEmptyArray(item.ArySubMenu)){menuItem.SubMenu=[];for(var j=0;j<item.ArySubMenu.length;++j){var subItem=item.ArySubMenu[j];var subMenuItem={Name:subItem.Title,Data:{ID:subItem.CommandID,Args:[subItem.ID]}};if(subItem.Text)subMenuItem.Text=subItem.Text;menuItem.SubMenu.push(subMenuItem);}}aryMenu.push(menuItem);}}return aryMenu;};this.PopupTabMenu=function(menuData,tab,e){if(!this.JSPopMenu)return;var rtTab=tab.Rect;var pixelRatio=GetDevicePixelRatio();var rtCell={Left:rtTab.Left/pixelRatio,Right:rtTab.Right/pixelRatio,Bottom:rtTab.Bottom/pixelRatio,Top:rtTab.Top/pixelRatio};rtCell.Width=rtCell.Right-rtCell.Left;rtCell.Height=rtCell.Bottom-rtCell.Top;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;rtCell.Left+=offsetLeft;rtCell.Right+=offsetLeft;rtCell.Top+=offsetTop;rtCell.Bottom+=offsetTop;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByTab(rtCell);if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();};//点击标签
14218
- this.OnClickTab=function(tabData,e){var _this74=this;if(!tabData.Tab)return;var redraw=false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};if(tabData.Tab.IsMenu){var menuData={Menu:this.GetTabPopMenu(tabData.Tab),Position:JSPopMenu.POSITION_ID.TAB_MENU_ID};menuData.ClickCallback=function(data){_this74.OnClickTabPopMenu(tabData,data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);if(event&&event.Callback){var sendData={MenuData:menuData,Tab:tabData,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;}this.PopupTabMenu(menuData,tabData.Tab,e);}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);if(event&&event.Callback){var sendData={Data:tabData,IsSide:{X:x,Y:x},UIElement:uiElement,e:e,Redraw:redraw,PreventDefault:false};event.Callback(event,sendData,this);if(IFrameSplitOperator.IsBool(sendData.Redraw))redraw=sendData.Redraw;if(sendData.PreventDefault==true)return;}if(tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID){this.ExecuteMenuCommand(tabData.Tab.CommandID,[tabData.Tab.ID]);this.SetSelectedTab(tabData.Index);redraw=true;}}if(redraw)this.Draw();};this.OnClickTabPopMenu=function(tabData,data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData,data);var cmdID=data.Data.ID;//命令ID
14232
+ this.OnClickTab=function(tabData,e){var _this75=this;if(!tabData.Tab)return;var redraw=false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};if(tabData.Tab.IsMenu){var menuData={Menu:this.GetTabPopMenu(tabData.Tab),Position:JSPopMenu.POSITION_ID.TAB_MENU_ID};menuData.ClickCallback=function(data){_this75.OnClickTabPopMenu(tabData,data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TABMENU);if(event&&event.Callback){var sendData={MenuData:menuData,Tab:tabData,PreventDefault:false,e:e};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;}this.PopupTabMenu(menuData,tabData.Tab,e);}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_REPORT_TAB);if(event&&event.Callback){var sendData={Data:tabData,IsSide:{X:x,Y:x},UIElement:uiElement,e:e,Redraw:redraw,PreventDefault:false};event.Callback(event,sendData,this);if(IFrameSplitOperator.IsBool(sendData.Redraw))redraw=sendData.Redraw;if(sendData.PreventDefault==true)return;}if(tabData.Tab.CommandID==JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID){this.ExecuteMenuCommand(tabData.Tab.CommandID,[tabData.Tab.ID]);this.SetSelectedTab(tabData.Index);redraw=true;}}if(redraw)this.Draw();};this.OnClickTabPopMenu=function(tabData,data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickTabPopMenu] ',tabData,data);var cmdID=data.Data.ID;//命令ID
14219
14233
  var aryArgs=data.Data.Args;//参数
14220
14234
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
14221
14235
  if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data,TabData:tabData};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);this.SetSelectedTab(tabData.Index);this.Draw();};this.OnClickHeaderMenu=function(menuData,data){JSConsole.Chart.Log('[JSReportChartContainer::OnClickHeaderMenu] ',menuData,data);var cmdID=data.Data.ID;var aryArgs=data.Data.Args;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
@@ -14762,7 +14776,7 @@ if(option.Symbol){chart.Draw();var name=option.Symbol;if(option.Name)name=option
14762
14776
  if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}this.SetChartBorder(chart,option);//是否自动更新
14763
14777
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;//注册事件
14764
14778
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
14765
- chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this75=this;this.ResizeListener=new ResizeObserver(function(entries){_this75.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSTReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
14779
+ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this76=this;this.ResizeListener=new ResizeObserver(function(entries){_this76.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSTReportChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
14766
14780
  //对外接口
14767
14781
  //切换股票代码接口
14768
14782
  this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
@@ -14813,16 +14827,16 @@ this.ChartDestroy=function()//销毁
14813
14827
  this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:4};this.FloatTooltip.Update(sendData);};//清空固定行数据
14814
14828
  this.ClearFixedRowData=function(){this.FixedRowData.Data=[];};//设置固定行
14815
14829
  this.SetFixedRowCount=function(value){var chart=this.ChartPaint[0];if(!chart)return;chart.FixedRowCount=value;};//创建
14816
- this.Create=function(option){var _this76=this;this.UIElement.JSChartContainer=this;//创建等待提示
14830
+ this.Create=function(option){var _this77=this;this.UIElement.JSChartContainer=this;//创建等待提示
14817
14831
  this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
14818
14832
  this.Frame=new JSTReportFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//创建表格
14819
- var chart=new ChartTReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this76.GetEventCallback(id);};chart.GetExePriceDataCallback=function(exePrice){return _this76.GetExePriceData(exePrice);};chart.GetFlashBGDataCallback=function(symbol,time){return _this76.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
14833
+ var chart=new ChartTReport();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this77.GetEventCallback(id);};chart.GetExePriceDataCallback=function(exePrice){return _this77.GetExePriceData(exePrice);};chart.GetFlashBGDataCallback=function(symbol,time){return _this77.GetFlashBGData(symbol,time);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsBool(option.IsShowHeader))chart.IsShowHeader=option.IsShowHeader;//是否显示表头
14820
14834
  if(IFrameSplitOperator.IsNumber(option.FixedColumn))chart.FixedColumn=option.FixedColumn;//固定列
14821
14835
  if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
14822
14836
  if(IFrameSplitOperator.IsBool(option.ItemBorder))chart.IsDrawBorder=option.ItemBorder;//单元格边框
14823
- if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this76.OnKeyDown(e);},true);//键盘消息
14824
- if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this76.OnWheel(e);},true);//上下滚动消息
14825
- this.UIElement.ondblclick=function(e){_this76.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this76.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this76.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this76.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this76.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this76.UIOnContextMenu(e);};/*
14837
+ if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this77.OnKeyDown(e);},true);//键盘消息
14838
+ if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this77.OnWheel(e);},true);//上下滚动消息
14839
+ this.UIElement.ondblclick=function(e){_this77.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this77.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this77.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this77.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this77.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this77.UIOnContextMenu(e);};/*
14826
14840
  this.UIElement.onmouseup=(e)=>{ this.UIOnMounseUp(e); }
14827
14841
 
14828
14842
 
@@ -14834,7 +14848,7 @@ this.UIElement.ondblclick=function(e){_this76.UIOnDblClick(e);};this.UIElement.o
14834
14848
  */};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
14835
14849
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
14836
14850
  this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
14837
- for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this77=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this77.Draw();},frequency);};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Price=null;this.Data.XOffset=0;//清空偏移
14851
+ for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this78=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this78.Draw();},frequency);};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Price=null;this.Data.XOffset=0;//清空偏移
14838
14852
  this.Data.YOffset=0;this.MapStockData=new _map2.default();this.MapExePriceData=null;this.BorderData.MapData=null;};this.StopAutoUpdate=function(){this.CancelAutoUpdate();this.AutoUpdateEvent(false,'JSTReportChartContainer::StopAutoUpdate');if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};//设置事件回调
14839
14853
  //{event:事件id, callback:回调函数}
14840
14854
  this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
@@ -14845,10 +14859,10 @@ Explain:'T型报价列表数据',Request:{Data:{symbol:this.Symbol}},Self:this,P
14845
14859
  }throw{Name:'JSTReportChartContainer::RequestStockListData',Error:'(T型报价列表数据)不提供内置测试数据'};};this.RecvStockListData=function(data){this.MapExePriceData=new _map2.default();this.MapStockData=new _map2.default();if(IFrameSplitOperator.IsNonEmptyArray(data.data)){//0=行权价格 1=左边期权代码 2=右侧期权代码 3=左侧期权名称 4=右侧期权名称
14846
14860
  for(var i=0;i<data.data.length;++i){var item=data.data[i];var exePrice=item[0];var leftData=new HQTReportItem();leftData.Symbol=leftData.Name=item[1];if(item[3])leftData.Name=item[3];var rightData=new HQTReportItem();rightData.Symbol=rightData.Name=item[2];if(item[4])rightData.Name=item[4];this.MapStockData.set(leftData.Symbol,leftData);this.MapStockData.set(rightData.Symbol,rightData);var dataItem={ExePrice:exePrice,LeftData:leftData,RightData:rightData};this.MapExePriceData.set(dataItem.ExePrice,dataItem);this.SourceData.Data.push(exePrice);this.Data.Data.push(exePrice);}}if(IFrameSplitOperator.IsNumber(data.price)){this.Data.Price=data.price;}if(IFrameSplitOperator.IsNumber(data.Decimal)){var chart=this.ChartPaint[0];if(chart)chart.DefaultDecimal=data.Decimal;}this.Draw();this.UpdateStockData();};this.GetExePriceData=function(exePrice){if(!this.MapExePriceData)return null;if(!this.MapExePriceData.has(exePrice))return null;return this.MapExePriceData.get(exePrice);};this.UpdateStockData=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(this.MapStockData.size<=0)return;var arySymbol=[];var _iteratorNormalCompletion26=true;var _didIteratorError26=false;var _iteratorError26=undefined;try{for(var _iterator26=(0,_getIterator3.default)(this.MapStockData),_step26;!(_iteratorNormalCompletion26=(_step26=_iterator26.next()).done);_iteratorNormalCompletion26=true){var mapItem=_step26.value;arySymbol.push(mapItem[0]);}}catch(err){_didIteratorError26=true;_iteratorError26=err;}finally{try{if(!_iteratorNormalCompletion26&&_iterator26.return){_iterator26.return();}}finally{if(_didIteratorError26){throw _iteratorError26;}}}if(!IFrameSplitOperator.IsNonEmptyArray(arySymbol))return;this.RequestStockData(arySymbol);};//下载期权数据
14847
14861
  this.RequestStockData=function(arySymbol){var self=this;if(this.NetworkFilter){var chart=this.ChartPaint[0];var obj={Name:'JSTReportChartContainer::RequestStockData',//类名::函数名
14848
- Explain:'T型报价列表期权数据',Request:{Data:{stocks:arySymbol,symbol:this.Symbol,fixedRowCount:chart.FixedRowCount}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvStockData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}throw{Name:'JSTReportChartContainer::RequestStockData',Error:'(T型报价列表期权数据)不提供内置测试数据'};};this.RecvStockData=function(data){var _this78=this;var setUpdateSymbol=new _set2.default();//更新的股票列表
14862
+ Explain:'T型报价列表期权数据',Request:{Data:{stocks:arySymbol,symbol:this.Symbol,fixedRowCount:chart.FixedRowCount}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvStockData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}throw{Name:'JSTReportChartContainer::RequestStockData',Error:'(T型报价列表期权数据)不提供内置测试数据'};};this.RecvStockData=function(data){var _this79=this;var setUpdateSymbol=new _set2.default();//更新的股票列表
14849
14863
  if(IFrameSplitOperator.IsNonEmptyArray(data.data)){for(var i=0;i<data.data.length;++i){var item=data.data[i];var symbol=item[0];//0=证券代码;
14850
14864
  if(!symbol)continue;var stock=null;if(this.MapStockData.has(symbol)){stock=this.MapStockData.get(symbol);}else{stock=new HQTReportItem();stock.Symbol=symbol;this.MapStockData.set(symbol,stock);}this.ReadStockJsonData(stock,item);if(!setUpdateSymbol.has(symbol))setUpdateSymbol.add(symbol);}}if(IFrameSplitOperator.IsNumber(data.price)){this.Data.Price=data.price;this.Data.MatchExePrice=null;}if(IFrameSplitOperator.IsNonEmptyArray(data.fixedRowData)){for(var i=0;i<data.fixedRowData.length;++i){var item=data.fixedRowData[i];if(!item||!item.TData)continue;this.FixedRowData.Data[i]=item;}}var chart=this.ChartPaint[0];//实时数据排序
14851
- if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:this.SortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this78.LocalSort(left,right,column,_this78.SortInfo.Sort,_this78.SortInfo.CellType);});}}this.CalculateData();this.Draw();};//计算统计数据
14865
+ if(chart&&(this.SortInfo.Sort==1||this.SortInfo.Sort==2)&&IFrameSplitOperator.IsNumber(this.SortInfo.Field)&&this.SortInfo.Field>=0){var column=chart.Column[this.SortInfo.Field];var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:this.SortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this79.LocalSort(left,right,column,_this79.SortInfo.Sort,_this79.SortInfo.CellType);});}}this.CalculateData();this.Draw();};//计算统计数据
14852
14866
  this.CalculateData=function(){this.Data.MatchExePrice=null;if(!this.MapExePriceData||this.MapExePriceData.size<=0)return;var leftMaxPosition={Max:null,ExePrice:null,CellType:1};var rightMaxPosition={Max:null,ExePrice:null,CellType:2};this.BorderData.MapData=new _map2.default();var aryPrice=[];var _iteratorNormalCompletion27=true;var _didIteratorError27=false;var _iteratorError27=undefined;try{for(var _iterator27=(0,_getIterator3.default)(this.MapExePriceData),_step27;!(_iteratorNormalCompletion27=(_step27=_iterator27.next()).done);_iteratorNormalCompletion27=true){var mapItem=_step27.value;var item=mapItem[1];var leftData=item.LeftData;var rightData=item.RightData;if(leftData&&IFrameSplitOperator.IsNumber(leftData.Position)){if(leftMaxPosition.Max==null||leftMaxPosition.Max<leftData.Position){leftMaxPosition.Max=leftData.Position;leftMaxPosition.ExePrice=mapItem[0];}}if(rightData&&IFrameSplitOperator.IsNumber(rightData.Position)){if(rightMaxPosition.Max==null||rightMaxPosition.Max<rightData.Position){rightMaxPosition.Max=rightData.Position;rightMaxPosition.ExePrice=mapItem[0];}}aryPrice.push(item.ExePrice);}}catch(err){_didIteratorError27=true;_iteratorError27=err;}finally{try{if(!_iteratorNormalCompletion27&&_iterator27.return){_iterator27.return();}}finally{if(_didIteratorError27){throw _iteratorError27;}}}var aryData=[null,null,null];if(leftMaxPosition.ExePrice)aryData[1]=leftMaxPosition;if(rightMaxPosition.ExePrice)aryData[2]=rightMaxPosition;this.BorderData.MapData.set(TREPORT_COLUMN_ID.POSITION_ID,{Data:aryData});if(IFrameSplitOperator.IsNumber(this.Data.Price)){aryPrice.sort(function(left,right){return left-right;});var prePrice=null;for(var i=0;i<aryPrice.length;++i){var value=aryPrice[i];if(value>this.Data.Price){this.Data.MatchExePrice=prePrice;break;}prePrice=value;}}};//读取单条股票json数据
14853
14867
  this.ReadStockJsonData=function(stock,item){//0=证券代码 1=股票名称 2=昨收 3=开 4=高 5=低 6=收 7=成交量 8=成交金额, 9=买价 10=买量 11=卖价 12=卖量 13=均价 14=持仓 16=涨停价 17=跌停价
14854
14868
  //21=涨幅% 22=涨跌 24=振幅%
@@ -14877,7 +14891,7 @@ if(IFrameSplitOperator.IsString(item[201])||IFrameSplitOperator.IsObject(item[20
14877
14891
  var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
14878
14892
  {this.AutoUpdateTimer=setTimeout(function(){self.AutoUpdate();},frequency);}else if(marketStatus==2)//盘中
14879
14893
  {this.AutoUpdateTimer=setTimeout(function(){self.UpdateStockData();},frequency);}};//delay=是否延迟
14880
- this.DelayUpdateStockData=function(){var _this79=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this79.UpdateStockData();},frequency);};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetTReportChart();if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
14894
+ this.DelayUpdateStockData=function(){var _this80=this;if(this.DelayUpdateTimer!=null){clearTimeout(this.DelayUpdateTimer);this.DelayUpdateTimer=null;}var frequency=this.DelayUpdateFrequency;this.DelayUpdateTimer=setTimeout(function(){_this80.UpdateStockData();},frequency);};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetTReportChart();if(chart)chart.OnDblClick(x,y,e);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
14881
14895
  {if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==3&&e.button==0)//表头
14882
14896
  {this.OnClickHeader(clickData,e);}//document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
14883
14897
  //document.onmouseup=(e)=> { this.DocOnMouseUp(e); }
@@ -14893,8 +14907,8 @@ if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.S
14893
14907
  */if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;if(bShowChartTooltip){this.ShowMinuteChartTooltip(null,null,chartTooltipData);}else{this.HideMinuteChartTooltip();}if(bShowTooltip){var xTooltip=e.clientX-this.UIElement.getBoundingClientRect().left;var yTooltip=e.clientY-this.UIElement.getBoundingClientRect().top;this.DrawFloatTooltip({X:xTooltip,Y:yTooltip,YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);}else{this.HideFloatTooltip();}};this.UIOnMounseOut=function(e){this.HideMinuteChartTooltip();};this.UIOnMouseleave=function(e){this.HideMinuteChartTooltip();};this.UIOnContextMenu=function(e){e.preventDefault();var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);//右键菜单事件
14894
14908
  };this.OnRightMenu=function(x,y,e){};//点表头
14895
14909
  this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.Sort==1){var data={CellType:header.CellType,ColumnIndex:header.ColumnIndex};this.SortHeader(header.Column,data);}};//排序
14896
- this.SortHeader=function(column,sortData){var _this80=this;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort,CellType:this.SortInfo.CellType};var arySortType=column.SortType;if(sortInfo.Field!=sortData.ColumnIndex||sortInfo.CellType!=sortData.CellType){sortInfo.Field=sortData.ColumnIndex;sortInfo.CellType=sortData.CellType;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(sortInfo.Sort==0)//还原
14897
- {this.Data.Data=[];for(var i=0;i<this.SourceData.Data.length;++i){this.Data.Data.push(this.SourceData.Data[i]);}}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this80.LocalSort(left,right,column,sortInfo.Sort,sortInfo.CellType);});}}this.Data.YOffset=0;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.SortInfo.CellType=sortInfo.CellType;this.Draw();this.DelayUpdateStockData();};//本地排序
14910
+ this.SortHeader=function(column,sortData){var _this81=this;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort,CellType:this.SortInfo.CellType};var arySortType=column.SortType;if(sortInfo.Field!=sortData.ColumnIndex||sortInfo.CellType!=sortData.CellType){sortInfo.Field=sortData.ColumnIndex;sortInfo.CellType=sortData.CellType;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(sortInfo.Sort==0)//还原
14911
+ {this.Data.Data=[];for(var i=0;i<this.SourceData.Data.length;++i){this.Data.Data.push(this.SourceData.Data[i]);}}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this81.LocalSort(left,right,column,sortInfo.Sort,sortInfo.CellType);});}}this.Data.YOffset=0;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.SortInfo.CellType=sortInfo.CellType;this.Draw();this.DelayUpdateStockData();};//本地排序
14898
14912
  this.LocalSort=function(left,right,column,sortType,cellType){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:return this.LocalStringSort(left,right,column,sortType,cellType);case TREPORT_COLUMN_ID.PRICE_ID:case TREPORT_COLUMN_ID.VOL_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.BUY_PRICE_ID:case TREPORT_COLUMN_ID.SELL_PRICE_ID:case TREPORT_COLUMN_ID.AMOUNT_ID:case TREPORT_COLUMN_ID.BUY_VOL_ID:case TREPORT_COLUMN_ID.SELL_VOL_ID:case TREPORT_COLUMN_ID.YCLOSE_ID:case TREPORT_COLUMN_ID.OPEN_ID:case TREPORT_COLUMN_ID.HIGH_ID:case TREPORT_COLUMN_ID.LOW_ID:case TREPORT_COLUMN_ID.AVERAGE_PRICE_ID:case TREPORT_COLUMN_ID.EXE_PRICE_ID://行权价格
14899
14913
  case TREPORT_COLUMN_ID.POSITION_ID://持仓量
14900
14914
  case TREPORT_COLUMN_ID.AMPLITUDE_ID:case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:return this.LocalNumberSort(left,right,column,sortType,cellType);default:return 0;}};this.LocalNumberSort=function(left,right,column,sortType,cellType){var leftStock=this.GetExePriceData(left);var rightStock=this.GetExePriceData(right);var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var filedName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(cellType==0)//行权价格
@@ -15074,7 +15088,7 @@ this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSCon
15074
15088
  //注册事件
15075
15089
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();};this.CreateJSKeyboardChartContainer=function(option){var chart=new JSKeyboardChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BorderLine))chart.Frame.BorderLine=option.BorderLine;this.SetChartBorder(chart,option);//注册事件
15076
15090
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15077
- chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this81=this;this.ResizeListener=new ResizeObserver(function(entries){_this81.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSKeyboardChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
15091
+ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};this.CreateResizeListener=function(){var _this82=this;this.ResizeListener=new ResizeObserver(function(entries){_this82.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSKeyboardChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
15078
15092
  //对外接口
15079
15093
  this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
15080
15094
  this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSKeyboardChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
@@ -15110,11 +15124,11 @@ var aryFuncKeyQuery=null;this.MapSymbol.clear();this.Data.Data=[];this.Data.XOff
15110
15124
  }
15111
15125
  this.ChartPaint[0].SelectedRow=0;
15112
15126
  */};//创建
15113
- this.Create=function(option){var _this82=this;this.UIElement.JSChartContainer=this;//创建框架
15127
+ this.Create=function(option){var _this83=this;this.UIElement.JSChartContainer=this;//创建框架
15114
15128
  this.Frame=new JSKeyboardFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
15115
- var chart=new ChartSymbolList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this82.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this82.GetStockData(symbol);};chart.Data=this.Data;this.ChartPaint[0]=chart;chart.VScrollbar=new ChartKeyboardVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;if(option){}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this82.OnKeyDown(e);},true);//键盘消息
15116
- if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this82.OnWheel(e);},true);//上下滚动消息
15117
- this.UIElement.ondblclick=function(e){_this82.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this82.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this82.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this82.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this82.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this82.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15129
+ var chart=new ChartSymbolList();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this83.GetEventCallback(id);};chart.GetStockDataCallback=function(symbol){return _this83.GetStockData(symbol);};chart.Data=this.Data;this.ChartPaint[0]=chart;chart.VScrollbar=new ChartKeyboardVScrollbar();chart.VScrollbar.Frame=this.Frame;chart.VScrollbar.Canvas=this.Canvas;chart.VScrollbar.ChartBorder=this.Frame.ChartBorder;chart.VScrollbar.Report=chart;if(option){}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSKeyboardChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this83.OnKeyDown(e);},true);//键盘消息
15130
+ if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this83.OnWheel(e);},true);//上下滚动消息
15131
+ this.UIElement.ondblclick=function(e){_this83.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this83.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this83.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this83.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this83.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this83.UIOnMouseleave(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15118
15132
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
15119
15133
  this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
15120
15134
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.GetStockData=function(symbol){if(!this.MapSymbol.has(symbol))return null;return this.MapSymbol.get(symbol);};this.ResetStatus=function(){this.Data.XOffset=0;this.Data.YOffset=0;};this.ResetSelectStatus=function(){var chart=this.GetReportChart();if(chart){chart.SelectedRow=-1;chart.SelectedFixedRow=-1;}};//设置事件回调
@@ -15131,14 +15145,14 @@ var result=this.MoveSelectedRow(1);if(result){if(result.Redraw)this.Draw();}brea
15131
15145
  if(this.MoveXOffset(-1))this.Draw();break;case 39://right
15132
15146
  if(this.MoveXOffset(1))this.Draw();break;case 13://Enter
15133
15147
  this.OnSelectedSymbol();break;}//不让滚动条滚动
15134
- if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var selItem=this.MapSymbol.get(data.Symbol);if(!selItem)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data,RowData:selItem},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var _this83=this;this.DragYScroll=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
15148
+ if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnSelectedSymbol=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var data=chart.GetSelectedSymbol();var selItem=this.MapSymbol.get(data.Symbol);if(!selItem)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SELECTED);if(event&&event.Callback){event.Callback(event,{Data:data,RowData:selItem},this);}};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){if(chart.OnDblClick(x,y,e))this.OnSelectedSymbol();}};this.UIOnMouseDown=function(e){var _this84=this;this.DragYScroll=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart){var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;//if (e.button!=0) return;
15135
15149
  if(clickData.Type==2&&(e.button==0||e.button==2))//点击行
15136
15150
  {if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==5&&e.button==0)//右侧滚动条
15137
15151
  {var scroll=clickData.VScrollbar;if(scroll.Type==1)//顶部按钮
15138
15152
  {if(this.MoveYOffset(-1))this.Draw();}else if(scroll.Type==2)//底部按钮
15139
15153
  {if(this.MoveYOffset(1))this.Draw();}else if(scroll.Type==3)//滚动条
15140
15154
  {this.DragYScroll={Click:{X:x,Y:y},LastMove:{X:x,Y:y}};}else if(scroll.Type==4)//滚动条内部
15141
- {if(this.SetYOffset(scroll.Pos))this.Draw();}}}document.onmousemove=function(e){_this83.DocOnMouseMove(e);};document.onmouseup=function(e){_this83.DocOnMouseUp(e);};};//去掉右键菜单
15155
+ {if(this.SetYOffset(scroll.Pos))this.Draw();}}}document.onmousemove=function(e){_this84.DocOnMouseMove(e);};document.onmouseup=function(e){_this84.DocOnMouseUp(e);};};//去掉右键菜单
15142
15156
  this.UIOnContextMenu=function(e){e.preventDefault();};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){this.DragMove.PreMove.X=this.DragMove.Move.X;this.DragMove.PreMove.Y=this.DragMove.Move.Y;this.DragMove.Move.X=e.clientX;this.DragMove.Move.Y=e.clientX;//if (this.DragMove.Move.X!=this.DragMove.PreMove.X || this.DragMove.Move.Y!=this.DragMove.PreMove.Y)
15143
15157
  // this.StopAutoDragScrollTimer();
15144
15158
  if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.DragYScroll){var chart=this.ChartPaint[0];if(!chart||!chart.VScrollbar)return;this.DragYScroll.LastMove.X=x;this.DragYScroll.LastMove.Y=y;var pos=chart.VScrollbar.GetScrollPostionByPoint(x,y);if(this.SetYOffset(pos))this.Draw();}};this.DocOnMouseUp=function(e){//清空事件
@@ -15227,7 +15241,7 @@ var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if
15227
15241
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSScrollBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSScrollBarChartContainer(option);if(!chart)return false;this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
15228
15242
  if(option.EnableResize==true)this.CreateResizeListener();if(option.OnCreatedCallback)option.OnCreatedCallback(chart);chart.Draw();};this.CreateJSScrollBarChartContainer=function(option){var chart=new JSScrollBarChartContainer(this.CanvasElement);chart.Create(option);if(IFrameSplitOperator.IsNumber(option.DelayDragFrequency))chart.DelayDragFrequency=option.DelayDragFrequency;this.SetChartBorder(chart,option);//注册事件
15229
15243
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15230
- chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(IFrameSplitOperator.IsBool(item.AutoLeft))chart.AutoMargin.Left=item.AutoLeft;if(IFrameSplitOperator.IsBool(item.AutoRight))chart.AutoMargin.Right=item.AutoRight;};this.CreateResizeListener=function(){var _this84=this;this.ResizeListener=new ResizeObserver(function(entries){_this84.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollBarChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
15244
+ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(IFrameSplitOperator.IsBool(item.AutoLeft))chart.AutoMargin.Left=item.AutoLeft;if(IFrameSplitOperator.IsBool(item.AutoRight))chart.AutoMargin.Right=item.AutoRight;};this.CreateResizeListener=function(){var _this85=this;this.ResizeListener=new ResizeObserver(function(entries){_this85.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollBarChart::OnDivResize] entries=",entries);this.OnSize();};/////////////////////////////////////////////////////////////////////////////
15231
15245
  //对外接口
15232
15246
  //事件回调
15233
15247
  this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSScrollBarChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
@@ -15260,28 +15274,28 @@ this.HQChart=null;this.ChartDestroy=function()//销毁
15260
15274
  //{event:事件id, callback:回调函数}
15261
15275
  this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
15262
15276
  {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};//创建
15263
- this.Create=function(option){var _this85=this;this.UIElement.JSChartContainer=this;//创建等待提示
15277
+ this.Create=function(option){var _this86=this;this.UIElement.JSChartContainer=this;//创建等待提示
15264
15278
  this.ChartSplashPaint=new ChartSplashPaint();this.ChartSplashPaint.Canvas=this.Canvas;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.IsEnableSplash=true;//创建框架
15265
15279
  this.Frame=new JSScrollBarFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;this.ChartSplashPaint.Frame=this.Frame;//背景
15266
- var chart=new ScrollBarBGChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.GetEventCallback=function(id){return _this85.GetEventCallback(id);};this.ChartPaint.push(chart);//创建滑块
15267
- var chart=new SliderChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.OffsetData=this.XOffsetData;chart.GetEventCallback=function(id){return _this85.GetEventCallback(id);};this.SliderChart=chart;this.ChartPaint.push(chart);//this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
15268
- this.UIElement.onmousedown=function(e){_this85.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this85.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this85.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this85.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this85.UIOnMouseleave(e);};//手机拖拽
15280
+ var chart=new ScrollBarBGChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.GetEventCallback=function(id){return _this86.GetEventCallback(id);};this.ChartPaint.push(chart);//创建滑块
15281
+ var chart=new SliderChart();chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.OffsetData=this.XOffsetData;chart.GetEventCallback=function(id){return _this86.GetEventCallback(id);};this.SliderChart=chart;this.ChartPaint.push(chart);//this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
15282
+ this.UIElement.onmousedown=function(e){_this86.UIOnMouseDown(e);};this.UIElement.oncontextmenu=function(e){_this86.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this86.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this86.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this86.UIOnMouseleave(e);};//手机拖拽
15269
15283
  //this.UIElement.ontouchstart=(e)=> { this.OnTouchStart(e); }
15270
15284
  //this.UIElement.ontouchmove=(e)=> {this.OnTouchMove(e); }
15271
15285
  //this.UIElement.ontouchend=(e)=> {this.OnTouchEnd(e); }
15272
15286
  };//创建一个图形
15273
- this.CreateChartPaint=function(name){var _this86=this;var chart=g_ChartPaintFactory.Create(name);if(!chart)return null;chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.Data=this.Frame.Data;chart.GetEventCallback=function(id){return _this86.GetEventCallback(id);};chart.GetHQChartCallback=function(){return _this86.GetHQChart();};return chart;};this.GetChartPaintByClassName=function(name){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ClassName==name){return{Chart:item,Index:i};}}return null;};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15287
+ this.CreateChartPaint=function(name){var _this87=this;var chart=g_ChartPaintFactory.Create(name);if(!chart)return null;chart.ChartFrame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.Data=this.Frame.Data;chart.GetEventCallback=function(id){return _this87.GetEventCallback(id);};chart.GetHQChartCallback=function(){return _this87.GetHQChart();};return chart;};this.GetChartPaintByClassName=function(name){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ClassName==name){return{Chart:item,Index:i};}}return null;};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15274
15288
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
15275
15289
  if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
15276
15290
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];if(chart)chart.SizeChange=bChanged;}};this.UpdateFrameMaxMin=function(){var max=null,min=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.GetMaxMin)continue;var range=item.GetMaxMin();if(range==null||range.Max==null||range.Min==null)continue;if(max==null||max<range.Max)max=range.Max;if(min==null||min>range.Min)min=range.Min;}if(IFrameSplitOperator.IsNumber(max)&&IFrameSplitOperator.IsNumber(min)){this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;}};//未启动
15277
- this.UIOnDblClick=function(e){};this.CancelDragTimer=function(){if(this.DragTimer){clearTimeout(this.DragTimer);this.DragTimer=null;}};this.UIOnMouseDown=function(e){var _this87=this;this.CancelDragTimer();this.DragSlider=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.SliderChart){var clickData=this.SliderChart.PtInChart(x,y);if(!clickData){if(!this.Frame.PtInClient(x,y))return;//滚动块直接移动到鼠标点击的位置
15291
+ this.UIOnDblClick=function(e){};this.CancelDragTimer=function(){if(this.DragTimer){clearTimeout(this.DragTimer);this.DragTimer=null;}};this.UIOnMouseDown=function(e){var _this88=this;this.CancelDragTimer();this.DragSlider=null;this.DragMove={Click:{X:e.clientX,Y:e.clientY},Move:{X:e.clientX,Y:e.clientY},PreMove:{X:e.clientX,Y:e.clientY}};var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.SliderChart){var clickData=this.SliderChart.PtInChart(x,y);if(!clickData){if(!this.Frame.PtInClient(x,y))return;//滚动块直接移动到鼠标点击的位置
15278
15292
  var index=this.Frame.GetXData(x);index=Math.round(index);var pageRange=this.GetPageRange();var showCount=pageRange.ShowCount;var start=index-parseInt(showCount/2);if(start<0)start=0;var end=start+showCount;if(end>=this.Frame.XPointCount){end=this.Frame.XPointCount-1;start=end-showCount;}var drag={UpdateData:{StartIndex:start,EndIndex:end,Type:3}};this.DragUpdate(drag);return;}this.DragSlider={Click:{X:e.clientX,Y:e.clientY},LastMove:{X:e.clientX,Y:e.clientY},Data:clickData};this.DragSlider.DrawCount=0;//重绘次数
15279
- }document.onmousemove=function(e){_this87.DocOnMouseMove(e);};document.onmouseup=function(e){_this87.DocOnMouseUp(e);};};//去掉右键菜单
15293
+ }document.onmousemove=function(e){_this88.DocOnMouseMove(e);};document.onmouseup=function(e){_this88.DocOnMouseUp(e);};};//去掉右键菜单
15280
15294
  this.UIOnContextMenu=function(e){e.preventDefault();};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.DragSlider)return;var mouseStatus=mouseStatus={Cursor:"default"};;//鼠标状态
15281
- var item=this.SliderChart.PtInChart(x,y);if(item){switch(item.Data.Type){case 0:mouseStatus={Cursor:"grab",Name:"SliderChart"};break;case 1:case 2:mouseStatus={Cursor:"col-resize",Name:"SliderChart"};break;}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){var _this88=this;this.DragMove.PreMove.X=this.DragMove.Move.X;this.DragMove.PreMove.Y=this.DragMove.Move.Y;this.DragMove.Move.X=e.clientX;this.DragMove.Move.Y=e.clientX;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;JSConsole.Chart.Log('[JSScrollBarChartContainer::DocOnMouseMove] x='+x+', y='+y);if(this.DragSlider){var drag=this.DragSlider;var moveSetp=(e.clientX-drag.LastMove.X)*pixelTatio;if(Math.abs(moveSetp)<1)return;var pageRange=this.GetPageRange();var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();this.SliderChart.DragMode=true;var type=drag.Data.Data.Type;var xStart=this.SliderChart.XStart+moveSetp;var xEnd=this.SliderChart.XEnd+moveSetp;if(type==0)//整体移动
15295
+ var item=this.SliderChart.PtInChart(x,y);if(item){switch(item.Data.Type){case 0:mouseStatus={Cursor:"grab",Name:"SliderChart"};break;case 1:case 2:mouseStatus={Cursor:"col-resize",Name:"SliderChart"};break;}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;};this.UIOnMounseOut=function(e){};this.UIOnMouseleave=function(e){};this.DocOnMouseMove=function(e){var _this89=this;this.DragMove.PreMove.X=this.DragMove.Move.X;this.DragMove.PreMove.Y=this.DragMove.Move.Y;this.DragMove.Move.X=e.clientX;this.DragMove.Move.Y=e.clientX;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;JSConsole.Chart.Log('[JSScrollBarChartContainer::DocOnMouseMove] x='+x+', y='+y);if(this.DragSlider){var drag=this.DragSlider;var moveSetp=(e.clientX-drag.LastMove.X)*pixelTatio;if(Math.abs(moveSetp)<1)return;var pageRange=this.GetPageRange();var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();this.SliderChart.DragMode=true;var type=drag.Data.Data.Type;var xStart=this.SliderChart.XStart+moveSetp;var xEnd=this.SliderChart.XEnd+moveSetp;if(type==0)//整体移动
15282
15296
  {if(xStart<left)//第1页
15283
15297
  {xStart=pageRange.First.XStart;xEnd=pageRange.First.XEnd;}else if(xEnd>=right){xStart=pageRange.Last.XStart;xEnd=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;this.SliderChart.XEnd=xEnd;}else if(type==1)//左移动
15284
- {if(xStart<=left){xStart=pageRange.First.XStart;}else if(xStart>=right){xStart=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;}else if(type==2){if(xEnd>=right){xEnd=pageRange.Last.XEnd;}else if(xEnd<=left){xEnd=pageRange.First.XStart;}this.SliderChart.XEnd=xEnd;}drag.UpdateData={XStart:xStart,XEnd:xEnd,Type:type};drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;if(drag.DrawCount==0){this.DragUpdate(drag);}else{this.DragTimer=setTimeout(function(){_this88.DragUpdate(_this88.DragSlider);},this.DelayDragFrequency);}}};this.DocOnMouseUp=function(e){//清空事件
15298
+ {if(xStart<=left){xStart=pageRange.First.XStart;}else if(xStart>=right){xStart=pageRange.Last.XEnd;}this.SliderChart.XStart=xStart;}else if(type==2){if(xEnd>=right){xEnd=pageRange.Last.XEnd;}else if(xEnd<=left){xEnd=pageRange.First.XStart;}this.SliderChart.XEnd=xEnd;}drag.UpdateData={XStart:xStart,XEnd:xEnd,Type:type};drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;if(drag.DrawCount==0){this.DragUpdate(drag);}else{this.DragTimer=setTimeout(function(){_this89.DragUpdate(_this89.DragSlider);},this.DelayDragFrequency);}}};this.DocOnMouseUp=function(e){//清空事件
15285
15299
  document.onmousemove=null;document.onmouseup=null;this.CancelDragTimer();var dragSlider=this.DragSlider;this.DragMove=null;this.DragSlider=null;this.SliderChart.DragMode=false;this.DragUpdate(dragSlider);};this.DragUpdate=function(dragData){if(!dragData||!dragData.UpdateData)return;this.UpdateXDataOffset(dragData.UpdateData);this.Draw();++dragData.DrawCount;};this.Reset=function(option){this.SourceData=null;this.XOffsetData.Start=-1;this.XOffsetData.End=-1;this.XOffsetData.Count=0;this.Frame.Data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Data=null;}if(this.ChartSplashPaint)this.ChartSplashPaint.IsEnableSplash=true;if(option.Draw)this.Draw();};//外部更新滑块 obj={ Start: , End: }
15286
15300
  this.UpdateSlider=function(obj){if(this.SliderChart.DragMode)return;var bSizeChange=false;if((this.AutoMargin.Left||this.AutoMargin.Right)&&obj.Border){if(this.AutoMargin.Left){if(this.Frame.ChartBorder.Left!=obj.Border.Left)bSizeChange=true;}if(this.AutoMargin.Right){if(this.Frame.ChartBorder.Right!=obj.Border.Right)bSizeChange=true;}}var data=obj.Data;if(this.XOffsetData.Start==obj.Start&&this.XOffsetData.End==obj.End&&this.SourceData==data&&!bSizeChange)return;this.SourceData=data;var count=data.Data.length;if(IFrameSplitOperator.IsNumber(obj.RightSpaceCount))count+=obj.RightSpaceCount;this.Frame.XPointCount=count;this.Frame.Data=data;this.XOffsetData.Count=count;this.XOffsetData.Start=obj.Start;this.XOffsetData.End=obj.End;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Data=data;}if(this.AutoMargin.Left&&obj.Border){if(IFrameSplitOperator.IsNumber(obj.Border.Left))this.Frame.ChartBorder.Left=obj.Border.Left;}if(this.AutoMargin.Right&&obj.Border){if(IFrameSplitOperator.IsNumber(obj.Border.Right))this.Frame.ChartBorder.Right=obj.Border.Right;}this.UpdateFrameMaxMin();if(this.ChartSplashPaint)this.ChartSplashPaint.IsEnableSplash=false;if(obj.Draw)this.Draw();};//移动滑块
15287
15301
  this.UpdateXDataOffset=function(obj){if(!obj)return;var type=obj.Type;if(obj.Type==0){var start=this.Frame.GetXData(obj.XStart);start=parseInt(start+0.5);//四舍五入
@@ -15355,13 +15369,13 @@ this.SelectedClassName="UMyChart_MenuItem_Tr_Selected";this.RestoreFocusDelay=10
15355
15369
  "UMyChart_MenuItem_Td_Arrow"//箭头
15356
15370
  ];this.Inital=function(hqchart,option){this.HQChart=hqchart;this.MouseDownlistenerPtr=this.OnWindowMouseDown.bind(this);window.addEventListener('mousedown',this.MouseDownlistenerPtr);};this.Destroy=function(){if(this.MouseDownlistenerPtr){window.removeEventListener('mousedown',this.MouseDownlistenerPtr);this.MouseDownlistenerPtr=null;}};//创建菜单
15357
15371
  this.CreatePopMenu=function(data){this.Clear();if(!IFrameSplitOperator.IsNonEmptyArray(data.Menu))return;var root=document.createElement("div");root.className="UMyChart_PopMenu";var table=document.createElement("table");table.className="UMyChart_PopMenu_Table";root.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_PopMenu_Tbody";table.appendChild(tbody);var rootData={Root:root,TBody:tbody,Table:table};root.JSMenuData=rootData;for(var i=0;i<data.Menu.length;++i){var item=data.Menu[i];if(item.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)tbody.appendChild(trSeparator);continue;}var trDom=this.CreateMenu(rootData,item);tbody.appendChild(trDom);}document.body.appendChild(root);this.RootDOM=root;this.TBodyDOM=tbody;if(IFrameSplitOperator.IsNumber(data.Position))this.Data.Position=data.Position;if(data.ClickCallback)this.ClickCallback=data.ClickCallback;if(data.RestoreFocusCallback)this.RestoreFocusCallback=data.RestoreFocusCallback;};//清除菜单
15358
- this.Clear=function(){this.Data.Menu=[];this.Data.Position=JSPopMenu.POSITION_ID.RIGHT_MENU_ID;this.ClickCallback=null;if(!this.RootDOM)return;document.body.removeChild(this.RootDOM);this.RootDOM=null;this.TBodyDOM=null;for(var i=0;i<this.ArySubRootDOM.length;++i){document.body.removeChild(this.ArySubRootDOM[i]);}this.ArySubRootDOM=[];};this.CreateMenu=function(parentItem,item){var _this89=this;var trDom=document.createElement("tr");trDom.className='UMyChart_MenuItem_Tr';if(item.Disable===true)trDom.classList.add('UMyChart_DrawTool_Disable_Tr');var prtTdDom=null;var aryTDClassName=this.AryTDClassName;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTDClassName))aryTDClassName=item.AryTDClassName;for(var i=0;i<aryTDClassName.length;++i){var tdDom=document.createElement("td");tdDom.className=aryTDClassName[i];if(i==0)//图标
15372
+ this.Clear=function(){this.Data.Menu=[];this.Data.Position=JSPopMenu.POSITION_ID.RIGHT_MENU_ID;this.ClickCallback=null;if(!this.RootDOM)return;document.body.removeChild(this.RootDOM);this.RootDOM=null;this.TBodyDOM=null;for(var i=0;i<this.ArySubRootDOM.length;++i){document.body.removeChild(this.ArySubRootDOM[i]);}this.ArySubRootDOM=[];};this.CreateMenu=function(parentItem,item){var _this90=this;var trDom=document.createElement("tr");trDom.className='UMyChart_MenuItem_Tr';if(item.Disable===true)trDom.classList.add('UMyChart_DrawTool_Disable_Tr');var prtTdDom=null;var aryTDClassName=this.AryTDClassName;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTDClassName))aryTDClassName=item.AryTDClassName;for(var i=0;i<aryTDClassName.length;++i){var tdDom=document.createElement("td");tdDom.className=aryTDClassName[i];if(i==0)//图标
15359
15373
  {if(item.Checked){var spanDom=document.createElement("span");spanDom.className=this.CheckedClassName;spanDom.style["font-size"]="10px";tdDom.appendChild(spanDom);}}else if(i==1)//内容
15360
15374
  {tdDom.innerText=item.Name;}else if(i==2)//快捷方式
15361
15375
  {if(item.Text)tdDom.innerText=item.Text;}else if(i==3)//箭头
15362
15376
  {if(IFrameSplitOperator.IsNonEmptyArray(item.SubMenu)){var spanDom=document.createElement("span");spanDom.className=this.RightArrowClassName;spanDom.style["font-size"]="10px";tdDom.appendChild(spanDom);}}trDom.appendChild(tdDom);}if(IFrameSplitOperator.IsNonEmptyArray(item.SubMenu))//子菜单
15363
- {var subRoot=document.createElement("div");subRoot.className="UMyChart_PopSubMenu";var subTable=document.createElement("table");subTable.className="UMyChart_PopMenu_Table";subRoot.appendChild(subTable);var subTbody=document.createElement("tbody");subTbody.className="UMyChart_PopMenu_TBody";subTable.appendChild(subTbody);var subRootData={Root:subRoot,TBody:subTbody,Table:subTable};subRoot.JSMenuData=subRootData;var preTrDom=null;for(var i=0;i<item.SubMenu.length;++i){var subItem=item.SubMenu[i];if(subItem.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)subTbody.appendChild(trSeparator);continue;}var subTrDom=this.CreateMenu(subRootData,subItem);preTrDom=subTrDom;subTbody.appendChild(subTrDom);}trDom.onmouseover=function(e){_this89.OnMouseOver(e,parentItem,trDom,subRoot);};document.body.appendChild(subRoot);this.ArySubRootDOM.push(subRoot);}else{if(item.Disable===true){}else{trDom.onmousedown=function(e){_this89.OnClickMenu(e,item,false);};//菜单点击
15364
- trDom.onmouseover=function(e){_this89.OnMouseOver(e,parentItem);};}}return trDom;};this.CreateSeparatorTr=function(){var trSeparator=document.createElement("tr");trSeparator.className='UMyChart_MenuItem_Tr_Separator';var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Status_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);return trSeparator;};//弹tab菜单
15377
+ {var subRoot=document.createElement("div");subRoot.className="UMyChart_PopSubMenu";var subTable=document.createElement("table");subTable.className="UMyChart_PopMenu_Table";subRoot.appendChild(subTable);var subTbody=document.createElement("tbody");subTbody.className="UMyChart_PopMenu_TBody";subTable.appendChild(subTbody);var subRootData={Root:subRoot,TBody:subTbody,Table:subTable};subRoot.JSMenuData=subRootData;var preTrDom=null;for(var i=0;i<item.SubMenu.length;++i){var subItem=item.SubMenu[i];if(subItem.Name==JSPopMenu.SEPARATOR_LINE_NAME){var trSeparator=this.CreateSeparatorTr();if(trSeparator)subTbody.appendChild(trSeparator);continue;}var subTrDom=this.CreateMenu(subRootData,subItem);preTrDom=subTrDom;subTbody.appendChild(subTrDom);}trDom.onmouseover=function(e){_this90.OnMouseOver(e,parentItem,trDom,subRoot);};document.body.appendChild(subRoot);this.ArySubRootDOM.push(subRoot);}else{if(item.Disable===true){}else{trDom.onmousedown=function(e){_this90.OnClickMenu(e,item,false);};//菜单点击
15378
+ trDom.onmouseover=function(e){_this90.OnMouseOver(e,parentItem);};}}return trDom;};this.CreateSeparatorTr=function(){var trSeparator=document.createElement("tr");trSeparator.className='UMyChart_MenuItem_Tr_Separator';var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Status_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_MenuItem_Td_Separator";trSeparator.appendChild(tdDom);return trSeparator;};//弹tab菜单
15365
15379
  this.PopupMenuByTab=function(rtTab){if(!this.RootDOM)return;if(!rtTab)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var xLeft=rtTab.Left;var yTop=rtTab.Top-this.RootDOM.offsetHeight;this.RootDOM.style.visibility='visible';this.RootDOM.style.top=yTop+"px";this.RootDOM.style.left=xLeft+"px";};//弹右键菜单
15366
15380
  this.PopupMenuByRight=function(x,y){if(!this.RootDOM)return;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();//菜单在当前屏幕无法显示需要调整
15367
15381
  var scrollPos=GetScrollPosition();var menuHeight=this.RootDOM.offsetHeight;var yMenuBottom=y+menuHeight;var yBottom=window.innerHeight-15+scrollPos.Top;if(yMenuBottom>yBottom)y=yBottom-menuHeight;var menuWidth=this.RootDOM.offsetWidth;var yMenuRight=x+menuWidth;var yRight=window.innerWidth-15;if(yMenuRight>yRight)x=yRight-menuWidth;this.RootDOM.style.visibility='visible';this.RootDOM.style.top=y+"px";this.RootDOM.style.left=x+"px";};//下拉菜单
@@ -15401,27 +15415,27 @@ CMD_ZOOM_OUT_FONT_ID:12,//字体缩小
15401
15415
  CMD_MODIFY_TEXT_ID:13,//随机生成文字内容
15402
15416
  CMD_ADVANCED_SETTING_ID:14,//高级设置
15403
15417
  CMD_CROSS_PERIOD_ID:15//跨周期
15404
- };function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-bottom-arrow-solid',Type:0,Data:{ID:"箭头"}},{Title:'大箭头',ClassName:'hqchart_drawtool icon-big_arrow',Type:0,Data:{ID:"ArrowMarker"}},{Title:'趋势线',ClassName:'hqchart_drawtool icon-draw_trendline',Type:0,Data:{ID:"趋势线"}},{Title:'水平线',ClassName:'hqchart_drawtool icon-draw_hline',Type:0,Data:{ID:"水平线"}},{Title:'水平射线',ClassName:'hqchart_drawtool icon-tubiao_shuipingshexian',Type:0,Data:{ID:"水平射线"}},{Title:'涂鸦线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"涂鸦线段"}},{Title:'阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线"}},{Title:'通达信阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线2"}},{Title:'江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线"}},{Title:'通达信江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线2"}}]},{Title:"通道",AryChart:[{Title:'平行线',ClassName:'hqchart_drawtool icon-draw_parallel_lines',Type:0,Data:{ID:"平行线"}},{Title:'水平线段',ClassName:'hqchart_drawtool icon-draw_hlinesegment',Type:0,Data:{ID:"水平线段"}},{Title:'平行射线',ClassName:'hqchart_drawtool icon-draw_p_rays_lines',Type:0,Data:{ID:"平行射线"}},{Title:'平行通道',ClassName:'hqchart_drawtool icon-draw_parallelchannel',Type:0,Data:{ID:"平行通道"}},{Title:'价格通道线',ClassName:'hqchart_drawtool icon-draw_pricechannel',Type:0,Data:{ID:"价格通道线"}},{Title:'箱型线',ClassName:'hqchart_drawtool icon-draw_box',Type:0,Data:{ID:"箱型线"}},{Title:"不相交通道",ClassName:"hqchart_drawtool icon-buxiangjiaojiao",Type:0,Data:{ID:"DisjointChannel"}},{Title:"平滑顶/底",ClassName:"hqchart_drawtool icon-tubiao_buxiangjiaotongdao",Type:0,Data:{ID:"FlatTop"}},{Title:"波段线",ClassName:'hqchart_drawtool icon-draw_waveband',Type:0,Data:{ID:"波段线"}},{Title:"百分比线",ClassName:'hqchart_drawtool icon-PercentageLine',Type:0,Data:{ID:"百分比线"}},{Title:"黄金分割",ClassName:'hqchart_drawtool icon-GoldenSection',Type:0,Data:{ID:"黄金分割"}},{Title:"线形回归线",ClassName:'hqchart_drawtool icon-linear_3',Type:0,Data:{ID:"线形回归线"}},{Title:"线形回归带",ClassName:'hqchart_drawtool icon-linear_1',Type:0,Data:{ID:"线形回归带"}},{Title:"延长线形回归带",ClassName:'hqchart_drawtool icon-linear_2',Type:0,Data:{ID:"延长线形回归带"}},{Title:"Long Position",ClassName:'hqchart_drawtool icon-chart-long-position',Type:0,Data:{ID:"TVLongPosition"}},{Title:"Short Position",ClassName:'hqchart_drawtool icon-chart-short-position',Type:0,Data:{ID:"TVShortPosition"}}]},{Title:"形状",AryChart:[{Title:'圆弧线',ClassName:'hqchart_drawtool icon-draw_arc',Type:0,Data:{ID:"圆弧线"}},{Title:'矩形',ClassName:'hqchart_drawtool icon-rectangle',Type:0,Data:{ID:"矩形"}},{Title:'平行四边形',ClassName:'hqchart_drawtool icon-draw_quadrangle',Type:0,Data:{ID:"平行四边形"}},{Title:'三角形',ClassName:'hqchart_drawtool icon-draw_triangle',Type:0,Data:{ID:"三角形"}},{Title:'圆',ClassName:'hqchart_drawtool icon-draw_circle',Type:0,Data:{ID:"圆"}},{Title:'对称角度',ClassName:'hqchart_drawtool icon-draw_symangle',Type:0,Data:{ID:"对称角度"}}]},{Title:"波浪线",AryChart:[{Title:'M头W底',ClassName:'hqchart_drawtool icon-draw_wavemw',Type:0,Data:{ID:"M头W底"}},{Title:'头肩型',ClassName:'hqchart_drawtool icon-draw_head_shoulders_bt',Type:0,Data:{ID:"头肩型"}},{Title:'波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"波浪尺"}},{Title:'AB波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"AB波浪尺"}}]},{Title:"斐波那契",AryChart:[{Title:'斐波那契周期线',ClassName:'hqchart_drawtool icon-feibonaqizhouqixian',Type:0,Data:{ID:"斐波那契周期线"}},{Title:'斐波那契楔形',ClassName:'hqchart_drawtool icon-feibonaqiqixing',Type:0,Data:{ID:"FibWedge"}},{Title:'斐波那契回撤',ClassName:'hqchart_drawtool icon-feibonaqihuiche',Type:0,Data:{ID:"FibRetracement"}},{Title:'斐波那契速度阻力扇',ClassName:'hqchart_drawtool icon-feibonaqisuduzulishan',Type:0,Data:{ID:"FibSpeedResistanceFan"}}]},{Title:"测量工具",AryChart:[{Title:'价格范围',ClassName:'hqchart_drawtool icon-shijianfanwei',Type:0,Data:{ID:"PriceRange"}},{Title:'时间范围',ClassName:'hqchart_drawtool icon-jiagefanwei',Type:0,Data:{ID:"DateRange"}},{Title:"价格和时间范围",ClassName:"hqchart_drawtool icon-jiagefanwei",Type:0,Data:{ID:"DatePriceRange"}},{Title:"监测线",ClassName:"hqchart_drawtool icon-jiance",Type:0,Data:{ID:"MonitorLine"}},{Title:"固定范围成交量分布图",ClassName:"hqchart_drawtool icon-tubiao_gudingfanweichengjiaoliangfenbutu",Type:0,Data:{ID:"固定范围成交量分布图"}}]},{Title:"文字",AryChart:[{Title:"文字",ClassName:'hqchart_drawtool icon-draw_text',Type:0,Data:{ID:"文本"}},{Title:"锚点文字",ClassName:'hqchart_drawtool icon-maodianwenzi',Type:0,Data:{ID:"AnchoredText"}},{Title:"注释",ClassName:'hqchart_drawtool icon-maodian ',Type:0,Data:{ID:"Note"}},{Title:'价格标签',ClassName:'hqchart_drawtool icon-Tooltip',Type:0,Data:{ID:"PriceLabel"}},{Title:'价格注释',ClassName:'hqchart_drawtool icon-tooltiptext',Type:0,Data:{ID:"PriceNote"}},{Title:'向上箭头',ClassName:'iconfont icon-arrow_up',Type:0,Data:{ID:"icon-arrow_up"}},{Title:'向下箭头',ClassName:'iconfont icon-arrow_down',Type:0,Data:{ID:"icon-arrow_down"}},{Title:'向左箭头',ClassName:'iconfont icon-arrow_left',Type:0,Data:{ID:"icon-arrow_left"}},{Title:'向右箭头',ClassName:'iconfont icon-arrow_right',Type:0,Data:{ID:"icon-arrow_right"}}]}];this.ToolConfig={Title:"工具",AryTool:[{Title:"选中",ClassName:'hqchart_drawtool icon-arrow',Type:1,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID}},{Title:"跨周期",ClassName:'hqchart_drawtool icon-kuazhouqi',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID}},{Title:'尺子',ClassName:'hqchart_drawtool icon-ruler',Type:0,Data:{ID:"尺子"}},{Title:"磁铁",ClassName:'hqchart_drawtool icon-xifu',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID}},{Title:"点击切换颜色",ClassName:'hqchart_drawtool icon-fangkuai',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"擦除画线",ClassName:'hqchart_drawtool icon-a-xiangpicachuxiangpica',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID}},{Title:"删除所有画线",ClassName:'hqchart_drawtool icon-recycle_bin',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID}}]};this.DivDialog=null;this.AryDivChart=[];this.HQChart=null;this.LineColor='rgb(255,140,0)';this.LineWidth=1*GetDevicePixelRatio();this.ColumnCount=5;this.DragTitle=null;this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.LineColor=g_JSChartResource.DrawPicture.LineColor[0];this.HQChart=hqchart;};this.Create=function(){var _this90=this;var divDom=document.createElement("div");divDom.className='UMyChart_DrawTool_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_DrawTool_Title_Div';divTitle.innerText="画图工具";divTitle.onmousedown=function(e){_this90.OnMouseDownTitle(e);};var divClose=document.createElement("div");divClose.className='UMyChart_DrawTool_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this90.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_DrawTool_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_DrawTool_Tbody";table.appendChild(tbody);for(var i=0;i<this.AryChartGroup.length;++i){var item=this.AryChartGroup[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryChart))continue;this.CreateChartGroupItem(item,tbody);var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_End_Tr';tbody.appendChild(trDom);}//工具栏
15405
- this.CreateToolGroup(tbody);this.DivDialog=divDom;document.body.appendChild(divDom);};this.Destroy=function(){this.AryDivChart=[];if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;};this.CreateChartGroupItem=function(groupItem,tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=groupItem.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=groupItem.AryChart.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=groupItem.AryChart[i];this.CreateChartItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateChartItem=function(item,trDom){var _this91=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};tdDom.onmousedown=function(e){_this91.OnClickItem(e,data);};//点击
15418
+ };function JSDialogDrawTool(){this.AryChartGroup=[{Title:"线段",AryChart:[{Title:'线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"线段"}},{Title:'线段信息',ClassName:'hqchart_drawtool icon-infoline',Type:0,Data:{ID:"InfoLine"}},{Title:'射线',ClassName:'hqchart_drawtool icon-draw_rays',Type:0,Data:{ID:"射线"}},{Title:"趋势线角度",ClassName:"hqchart_drawtool icon-qushixianjiaodu",Type:0,Data:{ID:"TrendAngle"}},{Title:'标价线',ClassName:'hqchart_drawtool icon-price_line',Type:0,Data:{ID:"标价线"}},{Title:'垂直线',ClassName:'hqchart_drawtool icon-vertical_line',Type:0,Data:{ID:"垂直线"}},{Title:'十字线',ClassName:'hqchart_drawtool icon-tubiao_shizixian',Type:0,Data:{ID:"十字线"}},{Title:'箭头',ClassName:'hqchart_drawtool icon-bottom-arrow-solid',Type:0,Data:{ID:"箭头"}},{Title:'大箭头',ClassName:'hqchart_drawtool icon-big_arrow',Type:0,Data:{ID:"ArrowMarker"}},{Title:'趋势线',ClassName:'hqchart_drawtool icon-draw_trendline',Type:0,Data:{ID:"趋势线"}},{Title:'水平线',ClassName:'hqchart_drawtool icon-draw_hline',Type:0,Data:{ID:"水平线"}},{Title:'水平射线',ClassName:'hqchart_drawtool icon-tubiao_shuipingshexian',Type:0,Data:{ID:"水平射线"}},{Title:'涂鸦线段',ClassName:'hqchart_drawtool icon-draw_line',Type:0,Data:{ID:"涂鸦线段"}},{Title:'阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线"}},{Title:'通达信阻速线',ClassName:'hqchart_drawtool icon-draw_resline',Type:0,Data:{ID:"阻速线2"}},{Title:'江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线"}},{Title:'通达信江恩角度线',ClassName:'hqchart_drawtool icon-jiangenjiaoduxian',Type:0,Data:{ID:"江恩角度线2"}}]},{Title:"通道",AryChart:[{Title:'平行线',ClassName:'hqchart_drawtool icon-draw_parallel_lines',Type:0,Data:{ID:"平行线"}},{Title:'水平线段',ClassName:'hqchart_drawtool icon-draw_hlinesegment',Type:0,Data:{ID:"水平线段"}},{Title:'平行射线',ClassName:'hqchart_drawtool icon-draw_p_rays_lines',Type:0,Data:{ID:"平行射线"}},{Title:'平行通道',ClassName:'hqchart_drawtool icon-draw_parallelchannel',Type:0,Data:{ID:"平行通道"}},{Title:'价格通道线',ClassName:'hqchart_drawtool icon-draw_pricechannel',Type:0,Data:{ID:"价格通道线"}},{Title:'箱型线',ClassName:'hqchart_drawtool icon-draw_box',Type:0,Data:{ID:"箱型线"}},{Title:"不相交通道",ClassName:"hqchart_drawtool icon-buxiangjiaojiao",Type:0,Data:{ID:"DisjointChannel"}},{Title:"平滑顶/底",ClassName:"hqchart_drawtool icon-tubiao_buxiangjiaotongdao",Type:0,Data:{ID:"FlatTop"}},{Title:"波段线",ClassName:'hqchart_drawtool icon-draw_waveband',Type:0,Data:{ID:"波段线"}},{Title:"百分比线",ClassName:'hqchart_drawtool icon-PercentageLine',Type:0,Data:{ID:"百分比线"}},{Title:"黄金分割",ClassName:'hqchart_drawtool icon-GoldenSection',Type:0,Data:{ID:"黄金分割"}},{Title:"线形回归线",ClassName:'hqchart_drawtool icon-linear_3',Type:0,Data:{ID:"线形回归线"}},{Title:"线形回归带",ClassName:'hqchart_drawtool icon-linear_1',Type:0,Data:{ID:"线形回归带"}},{Title:"延长线形回归带",ClassName:'hqchart_drawtool icon-linear_2',Type:0,Data:{ID:"延长线形回归带"}},{Title:"Long Position",ClassName:'hqchart_drawtool icon-chart-long-position',Type:0,Data:{ID:"TVLongPosition"}},{Title:"Short Position",ClassName:'hqchart_drawtool icon-chart-short-position',Type:0,Data:{ID:"TVShortPosition"}}]},{Title:"形状",AryChart:[{Title:'圆弧线',ClassName:'hqchart_drawtool icon-draw_arc',Type:0,Data:{ID:"圆弧线"}},{Title:'矩形',ClassName:'hqchart_drawtool icon-rectangle',Type:0,Data:{ID:"矩形"}},{Title:'平行四边形',ClassName:'hqchart_drawtool icon-draw_quadrangle',Type:0,Data:{ID:"平行四边形"}},{Title:'三角形',ClassName:'hqchart_drawtool icon-draw_triangle',Type:0,Data:{ID:"三角形"}},{Title:'圆',ClassName:'hqchart_drawtool icon-draw_circle',Type:0,Data:{ID:"圆"}},{Title:'对称角度',ClassName:'hqchart_drawtool icon-draw_symangle',Type:0,Data:{ID:"对称角度"}}]},{Title:"波浪线",AryChart:[{Title:'M头W底',ClassName:'hqchart_drawtool icon-draw_wavemw',Type:0,Data:{ID:"M头W底"}},{Title:'头肩型',ClassName:'hqchart_drawtool icon-draw_head_shoulders_bt',Type:0,Data:{ID:"头肩型"}},{Title:'波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"波浪尺"}},{Title:'AB波浪尺',ClassName:'hqchart_drawtool icon-waveruler',Type:0,Data:{ID:"AB波浪尺"}}]},{Title:"斐波那契",AryChart:[{Title:'斐波那契周期线',ClassName:'hqchart_drawtool icon-feibonaqizhouqixian',Type:0,Data:{ID:"斐波那契周期线"}},{Title:'斐波那契楔形',ClassName:'hqchart_drawtool icon-feibonaqiqixing',Type:0,Data:{ID:"FibWedge"}},{Title:'斐波那契回撤',ClassName:'hqchart_drawtool icon-feibonaqihuiche',Type:0,Data:{ID:"FibRetracement"}},{Title:'斐波那契速度阻力扇',ClassName:'hqchart_drawtool icon-feibonaqisuduzulishan',Type:0,Data:{ID:"FibSpeedResistanceFan"}}]},{Title:"测量工具",AryChart:[{Title:'价格范围',ClassName:'hqchart_drawtool icon-shijianfanwei',Type:0,Data:{ID:"PriceRange"}},{Title:'时间范围',ClassName:'hqchart_drawtool icon-jiagefanwei',Type:0,Data:{ID:"DateRange"}},{Title:"价格和时间范围",ClassName:"hqchart_drawtool icon-jiagefanwei",Type:0,Data:{ID:"DatePriceRange"}},{Title:"监测线",ClassName:"hqchart_drawtool icon-jiance",Type:0,Data:{ID:"MonitorLine"}},{Title:"固定范围成交量分布图",ClassName:"hqchart_drawtool icon-tubiao_gudingfanweichengjiaoliangfenbutu",Type:0,Data:{ID:"固定范围成交量分布图"}}]},{Title:"文字",AryChart:[{Title:"文字",ClassName:'hqchart_drawtool icon-draw_text',Type:0,Data:{ID:"文本"}},{Title:"锚点文字",ClassName:'hqchart_drawtool icon-maodianwenzi',Type:0,Data:{ID:"AnchoredText"}},{Title:"注释",ClassName:'hqchart_drawtool icon-maodian ',Type:0,Data:{ID:"Note"}},{Title:'价格标签',ClassName:'hqchart_drawtool icon-Tooltip',Type:0,Data:{ID:"PriceLabel"}},{Title:'价格注释',ClassName:'hqchart_drawtool icon-tooltiptext',Type:0,Data:{ID:"PriceNote"}},{Title:'向上箭头',ClassName:'iconfont icon-arrow_up',Type:0,Data:{ID:"icon-arrow_up"}},{Title:'向下箭头',ClassName:'iconfont icon-arrow_down',Type:0,Data:{ID:"icon-arrow_down"}},{Title:'向左箭头',ClassName:'iconfont icon-arrow_left',Type:0,Data:{ID:"icon-arrow_left"}},{Title:'向右箭头',ClassName:'iconfont icon-arrow_right',Type:0,Data:{ID:"icon-arrow_right"}}]}];this.ToolConfig={Title:"工具",AryTool:[{Title:"选中",ClassName:'hqchart_drawtool icon-arrow',Type:1,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID}},{Title:"跨周期",ClassName:'hqchart_drawtool icon-kuazhouqi',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID}},{Title:'尺子',ClassName:'hqchart_drawtool icon-ruler',Type:0,Data:{ID:"尺子"}},{Title:"磁铁",ClassName:'hqchart_drawtool icon-xifu',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID}},{Title:"点击切换颜色",ClassName:'hqchart_drawtool icon-fangkuai',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"擦除画线",ClassName:'hqchart_drawtool icon-a-xiangpicachuxiangpica',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID}},{Title:"删除所有画线",ClassName:'hqchart_drawtool icon-recycle_bin',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID}}]};this.DivDialog=null;this.AryDivChart=[];this.HQChart=null;this.LineColor='rgb(255,140,0)';this.LineWidth=1*GetDevicePixelRatio();this.ColumnCount=5;this.DragTitle=null;this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.LineColor=g_JSChartResource.DrawPicture.LineColor[0];this.HQChart=hqchart;};this.Create=function(){var _this91=this;var divDom=document.createElement("div");divDom.className='UMyChart_DrawTool_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_DrawTool_Title_Div';divTitle.innerText="画图工具";divTitle.onmousedown=function(e){_this91.OnMouseDownTitle(e);};var divClose=document.createElement("div");divClose.className='UMyChart_DrawTool_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this91.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_DrawTool_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_DrawTool_Tbody";table.appendChild(tbody);for(var i=0;i<this.AryChartGroup.length;++i){var item=this.AryChartGroup[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryChart))continue;this.CreateChartGroupItem(item,tbody);var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_End_Tr';tbody.appendChild(trDom);}//工具栏
15419
+ this.CreateToolGroup(tbody);this.DivDialog=divDom;document.body.appendChild(divDom);};this.Destroy=function(){this.AryDivChart=[];if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;};this.CreateChartGroupItem=function(groupItem,tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=groupItem.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=groupItem.AryChart.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=groupItem.AryChart[i];this.CreateChartItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateChartItem=function(item,trDom){var _this92=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};tdDom.onmousedown=function(e){_this92.OnClickItem(e,data);};//点击
15406
15420
  this.AryDivChart.push(data);};this.OnClickItem=function(e,data){console.log('[JSDialogDrawTool::OnClickChartItem] ',data);if(!data.Item||!data.Item.Data)return;var type=data.Item.Type;var id=data.Item.Data.ID;if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.OnChangeLineColor(data);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_DELETE_ALL_DRAW_CHART_ID){this.DeleteAllChart();}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(true);}else if(type==1&&id==JS_DRAWTOOL_MENU_ID.CMD_SELECTED_ID){this.ClearAllSelectedChart();this.ClearCurrnetDrawPicture();this.EnableEraseChart(false);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID){this.EnableCrossPeriod(data);}else if(type==2&&id==JS_DRAWTOOL_MENU_ID.CMD_ENABLE_MAGNET_ID){this.ChangeMagnet(data);}else if(type==0){this.ClearAllSelectedChart();this.EnableEraseChart(false);data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");this.CreateDrawPicture(data);}};//清空选中状态
15407
- this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2)continue;item.Span.classList.remove("UMyChart_DrawTool_Span_Selected");item.Span.classList.add("UMyChart_DrawTool_Span");}};this.EnableCrossPeriod=function(data){if(!this.HQChart)return;if(!this.HQChart.ChartDrawStorage)return;this.HQChart.ChartDrawStorage.EnableCrossPeriod=!this.HQChart.ChartDrawStorage.EnableCrossPeriod;var enable=this.HQChart.ChartDrawStorage.EnableCrossPeriod;if(enable){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateToolGroup=function(tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=this.ToolConfig.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=this.ToolConfig.AryTool.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=this.ToolConfig.AryTool[i];this.CreateToolItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateToolItem=function(item,trDom){var _this92=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID)//颜色
15408
- {spanDom.style['color']=this.LineColor;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));inputColor.className="UMyChart_DrawTool_Input_Color";inputColor.oninput=function(e){_this92.OnChangeColor(e,data);};tdDom.appendChild(inputColor);data.InputColor=inputColor;}else if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID){if(this.HQChart&&this.HQChart.ChartDrawStorage&&this.HQChart.ChartDrawStorage.EnableCrossPeriod){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}}tdDom.onmousedown=function(e){_this92.OnClickItem(e,data);};//点击
15421
+ this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2)continue;item.Span.classList.remove("UMyChart_DrawTool_Span_Selected");item.Span.classList.add("UMyChart_DrawTool_Span");}};this.EnableCrossPeriod=function(data){if(!this.HQChart)return;if(!this.HQChart.ChartDrawStorage)return;this.HQChart.ChartDrawStorage.EnableCrossPeriod=!this.HQChart.ChartDrawStorage.EnableCrossPeriod;var enable=this.HQChart.ChartDrawStorage.EnableCrossPeriod;if(enable){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateToolGroup=function(tbody){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Group_Tr';tbody.appendChild(trDom);var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Group_Td";tdDom.innerText=this.ToolConfig.Title;tdDom.colSpan=this.ColumnCount;trDom.appendChild(tdDom);var chartCount=this.ToolConfig.AryTool.length;for(var i=0,j=0;i<chartCount;){var trDom=document.createElement("tr");trDom.className='UMyChart_DrawTool_Tr';for(j=0;j<this.ColumnCount&&i<chartCount;++j,++i){var item=this.ToolConfig.AryTool[i];this.CreateToolItem(item,trDom);}tbody.appendChild(trDom);}};this.CreateToolItem=function(item,trDom){var _this93=this;var tdDom=document.createElement("td");tdDom.className="UMyChart_DrawTool_Td";tdDom.title=item.Title;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.classList.add("UMyChart_DrawTool_Span");tdDom.appendChild(spanDom);var data={Item:item,TD:tdDom,Span:spanDom};if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID)//颜色
15422
+ {spanDom.style['color']=this.LineColor;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));inputColor.className="UMyChart_DrawTool_Input_Color";inputColor.oninput=function(e){_this93.OnChangeColor(e,data);};tdDom.appendChild(inputColor);data.InputColor=inputColor;}else if(item.Type==2&&item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CROSS_PERIOD_ID){if(this.HQChart&&this.HQChart.ChartDrawStorage&&this.HQChart.ChartDrawStorage.EnableCrossPeriod){data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}}tdDom.onmousedown=function(e){_this93.OnClickItem(e,data);};//点击
15409
15423
  this.AryDivChart.push(data);};this.OnChangeColor=function(e,data){var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);this.LineColor=color;data.Span.style['color']=this.LineColor;};this.OnChangeLineColor=function(data){data.InputColor.setAttribute("value",IChartDrawPicture.RGBToHex(this.LineColor));data.InputColor.click();//显示选色器
15410
15424
  };//清空所有画图工具
15411
- this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDrawPicture();};this.SetEraseChartButtonStatus=function(enable){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2&&item.Item.Data&&item.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){if(enable){if(item.Span.classList.contains("UMyChart_DrawTool_Span")){item.Span.classList.replace("UMyChart_DrawTool_Span","UMyChart_DrawTool_Span_Selected");}}else{if(item.Span.classList.contains("UMyChart_DrawTool_Span_Selected")){item.Span.classList.replace("UMyChart_DrawTool_Span_Selected","UMyChart_DrawTool_Span");}}break;}}};this.EnableEraseChart=function(enable){if(!this.HQChart)return;if(this.HQChart.EnableEraseChartDrawPicture==enable)return;this.HQChart.EnableEraseChartDrawPicture=enable;this.SetEraseChartButtonStatus(enable);};this.ChangeMagnet=function(data){if(!this.HQChart)return;var enable=true;if(this.HQChart.ChartDrawOption.Magnet){var item=this.HQChart.ChartDrawOption.Magnet;var enable=!item.Enable;}if(enable){this.HQChart.SetChartDrawOption({Magnet:{Enable:enable,Type:0}});data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{this.HQChart.SetChartDrawOption({Magnet:{Enable:false}});data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateDrawPicture=function(data){var _this93=this;if(!this.HQChart)return null;var option={LineColor:this.LineColor,//线段颜色
15425
+ this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDrawPicture();};this.SetEraseChartButtonStatus=function(enable){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2&&item.Item.Data&&item.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){if(enable){if(item.Span.classList.contains("UMyChart_DrawTool_Span")){item.Span.classList.replace("UMyChart_DrawTool_Span","UMyChart_DrawTool_Span_Selected");}}else{if(item.Span.classList.contains("UMyChart_DrawTool_Span_Selected")){item.Span.classList.replace("UMyChart_DrawTool_Span_Selected","UMyChart_DrawTool_Span");}}break;}}};this.EnableEraseChart=function(enable){if(!this.HQChart)return;if(this.HQChart.EnableEraseChartDrawPicture==enable)return;this.HQChart.EnableEraseChartDrawPicture=enable;this.SetEraseChartButtonStatus(enable);};this.ChangeMagnet=function(data){if(!this.HQChart)return;var enable=true;if(this.HQChart.ChartDrawOption.Magnet){var item=this.HQChart.ChartDrawOption.Magnet;var enable=!item.Enable;}if(enable){this.HQChart.SetChartDrawOption({Magnet:{Enable:enable,Type:0}});data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{this.HQChart.SetChartDrawOption({Magnet:{Enable:false}});data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateDrawPicture=function(data){var _this94=this;if(!this.HQChart)return null;var option={LineColor:this.LineColor,//线段颜色
15412
15426
  LineWidth:this.LineWidth,//线段宽度
15413
15427
  PointColor:this.LineColor//点颜色
15414
- };var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartInfoLine_FormatLabelText(lableInfo);};else if(name=="MonitorLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartDrawMonitorLine_FormatLabelText(lableInfo);};this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this93.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
15415
- this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this94=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this94.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this94.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
15428
+ };var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){_this94.ChartInfoLine_FormatLabelText(lableInfo);};else if(name=="MonitorLine")option.FormatLabelTextCallback=function(lableInfo){_this94.ChartDrawMonitorLine_FormatLabelText(lableInfo);};this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this94.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
15429
+ this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this95=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this95.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this95.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
15416
15430
  var x=labelInfo.AryPoint[1].X-labelInfo.AryPoint[0].X;var y=labelInfo.AryPoint[1].Y-labelInfo.AryPoint[0].Y;var text="--";if(x!=0)text=''+(y/x).toFixed(4);labelInfo.AryText.push({Name:"斜率: ",Text:text,NameColor:"rgb(0,0,0)",TextColor:"rgb(238, 0, 238)"});labelInfo.AryText.push({Name:"其他: ",Text:'......',NameColor:"rgb(0,0,0)",TextColor:"rgb(156, 156, 156)"});};this.ChartDrawMonitorLine_FormatLabelText=function(labelInfo){if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;if(!IFrameSplitOperator.IsNumber(labelInfo.StartIndex)||labelInfo.StartIndex<0)return;var startItem=labelInfo.Data.Data[labelInfo.StartIndex];var endItem=labelInfo.Data.Data[labelInfo.Data.Data.length-1];labelInfo.YValue=endItem.Close;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"ɑ: ",Text:"--.--",NameColor:"rgb(0, 0 ,255)",TextColor:"rgb(255, 165, 0)"});labelInfo.AryText.push({Name:"β: ",Text:"--.--",NameColor:"rgb(0 ,0 ,255)",TextColor:"rgb(238 ,121, 66)"});};}/////////////////////////////////////////////////////////////////////////////////////
15417
15431
  // 修改画图工具
15418
15432
  //
15419
15433
  //
15420
15434
  ////////////////////////////////////////////////////////////////////////////////////
15421
15435
  function JSDialogModifyDraw(){this.DivDialog=null;this.HQChart;this.ChartPicture;//按钮
15422
- this.ColorButton=null;this.BGColorButton=null;this.FontColorButton=null;this.BorderColorButton=null;this.LockButton=null;this.FontZoomButton=null;this.FontZoomOutButton=null;this.ModifyTextButton=null;this.AdvancedButton=null;this.AryButton=[{Title:"修改图形颜色",ClassName:'hqchart_drawtool icon-Vector UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"修改字体颜色",ClassName:'hqchart_drawtool icon-zitiyanse1 UMyChart_Draw_Modify_Dialog_Button_Color_Span ',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID}},{Title:"修改背景颜色",ClassName:'hqchart_drawtool icon-zitibeijingse UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID}},{Title:"修改边框颜色",ClassName:'hqchart_drawtool icon-biankuang UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID}},{Title:"字体放大",ClassName:'hqchart_drawtool icon-zoomin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID}},{Title:"字体缩小",ClassName:'hqchart_drawtool icon-zoomout UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID}},{Title:"随机生成文字内容",ClassName:'hqchart_drawtool icon-bianji UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID}},{Title:"高级设置",ClassName:'hqchart_drawtool icon-setting UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID}},{Title:"上锁",ClassName:'hqchart_drawtool icon-lock',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID}},{Title:"删除图形",ClassName:'hqchart_drawtool icon-recycle_bin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID}}];this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.ChartPicture=null;this.ColorButton=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this95=this;var divDom=document.createElement("div");divDom.className='UMyChart_Draw_Modify_Dialog_Div';var drgDiv=document.createElement("div");drgDiv.className="UMyChart_Draw_Modify_Dialog_Drag_Div";drgDiv.onmousedown=function(e){_this95.OnMouseDownTitle(e);};divDom.appendChild(drgDiv);var spanDom=document.createElement("span");spanDom.className="hqchart_drawtool icon-tuodong";spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Drag_Span");drgDiv.appendChild(spanDom);for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];this.CreateButtonItem(item,divDom);}this.DivDialog=divDom;document.body.appendChild(divDom);};this.CreateButtonItem=function(item,parentDivDom){var _this96=this;var divItem=document.createElement("div");divItem.className="UMyChart_Draw_Modify_Dialog_Button_Div";var spanTooltip=document.createElement("span");spanTooltip.className="UMyChart_Draw_Modify_Tooltip";spanTooltip.innerText=item.Title;divItem.appendChild(spanTooltip);var spanDom=document.createElement("span");spanDom.className=item.ClassName;//spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Button_Span");
15423
- divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDivDom,Item:item,Tooltip:spanTooltip};divItem.onmousedown=function(e){_this96.OnClickButton(e,data);};//点击
15424
- divItem.onmouseover=function(e){_this96.OnHoverButton(e,data);};divItem.onmouseout=function(e){_this96.OnLeaveButton(e,data);};switch(item.Data.ID){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.BGColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.FontColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.BorderColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.LockButton=data;break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.FontZoomButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.FontZoomOutButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyTextButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedButton=data;divItem.style.display="none";break;}parentDivDom.appendChild(divItem);};this.CreateInputColor=function(data){var _this97=this;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.className="UMyChart_Draw_Modify_Input_Color";data.InputColor=inputColor;inputColor.oninput=function(e){_this97.OnChangeColor(e,data);};return inputColor;};//颜色块
15436
+ this.ColorButton=null;this.BGColorButton=null;this.FontColorButton=null;this.BorderColorButton=null;this.LockButton=null;this.FontZoomButton=null;this.FontZoomOutButton=null;this.ModifyTextButton=null;this.AdvancedButton=null;this.AryButton=[{Title:"修改图形颜色",ClassName:'hqchart_drawtool icon-Vector UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID}},{Title:"修改字体颜色",ClassName:'hqchart_drawtool icon-zitiyanse1 UMyChart_Draw_Modify_Dialog_Button_Color_Span ',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID}},{Title:"修改背景颜色",ClassName:'hqchart_drawtool icon-zitibeijingse UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID}},{Title:"修改边框颜色",ClassName:'hqchart_drawtool icon-biankuang UMyChart_Draw_Modify_Dialog_Button_Color_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID}},{Title:"字体放大",ClassName:'hqchart_drawtool icon-zoomin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID}},{Title:"字体缩小",ClassName:'hqchart_drawtool icon-zoomout UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID}},{Title:"随机生成文字内容",ClassName:'hqchart_drawtool icon-bianji UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID}},{Title:"高级设置",ClassName:'hqchart_drawtool icon-setting UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID}},{Title:"上锁",ClassName:'hqchart_drawtool icon-lock',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID}},{Title:"删除图形",ClassName:'hqchart_drawtool icon-recycle_bin UMyChart_Draw_Modify_Dialog_Button_Span',Type:2,Data:{ID:JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID}}];this.RestoreFocusDelay=800;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.ChartPicture=null;this.ColorButton=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this96=this;var divDom=document.createElement("div");divDom.className='UMyChart_Draw_Modify_Dialog_Div';var drgDiv=document.createElement("div");drgDiv.className="UMyChart_Draw_Modify_Dialog_Drag_Div";drgDiv.onmousedown=function(e){_this96.OnMouseDownTitle(e);};divDom.appendChild(drgDiv);var spanDom=document.createElement("span");spanDom.className="hqchart_drawtool icon-tuodong";spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Drag_Span");drgDiv.appendChild(spanDom);for(var i=0;i<this.AryButton.length;++i){var item=this.AryButton[i];this.CreateButtonItem(item,divDom);}this.DivDialog=divDom;document.body.appendChild(divDom);};this.CreateButtonItem=function(item,parentDivDom){var _this97=this;var divItem=document.createElement("div");divItem.className="UMyChart_Draw_Modify_Dialog_Button_Div";var spanTooltip=document.createElement("span");spanTooltip.className="UMyChart_Draw_Modify_Tooltip";spanTooltip.innerText=item.Title;divItem.appendChild(spanTooltip);var spanDom=document.createElement("span");spanDom.className=item.ClassName;//spanDom.classList.add("UMyChart_Draw_Modify_Dialog_Button_Span");
15437
+ divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDivDom,Item:item,Tooltip:spanTooltip};divItem.onmousedown=function(e){_this97.OnClickButton(e,data);};//点击
15438
+ divItem.onmouseover=function(e){_this97.OnHoverButton(e,data);};divItem.onmouseout=function(e){_this97.OnLeaveButton(e,data);};switch(item.Data.ID){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.BGColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.FontColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.BorderColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.LockButton=data;break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.FontZoomButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.FontZoomOutButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyTextButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedButton=data;divItem.style.display="none";break;}parentDivDom.appendChild(divItem);};this.CreateInputColor=function(data){var _this98=this;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.className="UMyChart_Draw_Modify_Input_Color";data.InputColor=inputColor;inputColor.oninput=function(e){_this98.OnChangeColor(e,data);};return inputColor;};//颜色块
15425
15439
  this.CreateColorBar=function(data){var divColor=document.createElement("div");divColor.className="UMyChart_Draw_Modify_Dialog_Button_ColorBar_Div";data.DivColorBar=divColor;return divColor;};this.OnClickButton=function(e,data){console.log('[JSDialogModifyDraw::OnClickButton] ',data);if(!data.Item||!data.Item.Data)return;var id=data.Item.Data.ID;switch(id){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ModifyLineColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID:this.DeleteDrawPicture();break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.ModifyBGColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.ModifyFontColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.ModifyBorderColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.ModifyLockChart();break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.ModifyFontZoom(1);break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.ModifyFontZoom(-1);break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyText();break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedSetting();break;}};this.OnHoverButton=function(e,data){//var x=e.clientX;
15426
15440
  //data.Tooltip.style.left=x+"px";
15427
15441
  data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
@@ -15431,7 +15445,7 @@ this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_B
15431
15445
  this.HQChart.Draw();}};this.ShowColorPicker=function(data,defaultColor){if(!data.InputColor)return;data.InputColor.setAttribute("value",IChartDrawPicture.RGBToHex(defaultColor));data.InputColor.click();//显示选色器
15432
15446
  };this.ModifyLineColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.LineColor;this.ShowColorPicker(data,color);};this.ModifyFontColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.TextColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteTextColor;this.ShowColorPicker(data,color);};this.ModifyBGColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.BGColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteBGColor;this.ShowColorPicker(data,color);};this.ModifyLockChart=function(){if(!this.ChartPicture||!this.HQChart)return;this.ChartPicture.EnableMove=!this.ChartPicture.EnableMove;return this.UpdateLockButtonStyle();};this.UpdateLockButtonStyle=function(){if(!this.LockButton)return;if(this.ChartPicture.EnableMove){this.LockButton.Span.classList.remove("UMyChart_Draw_Modify_Dialog_Button_Span");this.LockButton.Span.classList.add("UMyChart_Draw_Modify_Dialog_Unlock_Button_Span");}else{this.LockButton.Span.classList.remove("UMyChart_Draw_Modify_Dialog_Unlock_Button_Span");this.LockButton.Span.classList.add("UMyChart_Draw_Modify_Dialog_Button_Span");}};this.ModifyBorderColor=function(data){if(!this.ChartPicture||!this.HQChart)return;var color=this.ChartPicture.BorderColor;if(this.ChartPicture.ClassName=="ChartDrawNote")color=this.ChartPicture.NoteBorderColor;this.ShowColorPicker(data,color);};this.ModifyFontZoom=function(step){if(!this.ChartPicture||!this.HQChart)return;if(this.ChartPicture.FontOption.Size+step<=2)return;var chart=this.ChartPicture;chart.FontOption.Size+=step;if(chart.ClassName=="ChartDrawNote")chart.NoteFontOption.Size+=step;this.HQChart.Draw();};this.ModifyText=function(){if(!this.ChartPicture||!this.HQChart)return;var chart=this.ChartPicture;switch(chart.ClassName){case"ChartDrawPictureText":chart.Text=this.GetRandomText(chart.Text);break;case"ChartDrawAnchoredText":var text=null;if(IFrameSplitOperator.IsNonEmptyArray(chart.AryText))text=chart.AryText[0].Text;chart.AryText=[{Text:this.GetRandomText(text)},{Text:this.GetRandomText(null)}];break;case"ChartDrawNote":var text=null;if(IFrameSplitOperator.IsNonEmptyArray(chart.AryNoteText))text=chart.AryNoteText[0].Text;chart.AryNoteText=[{Text:this.GetRandomText(text)},{Text:this.GetRandomText(null)}];break;default:return;}this.HQChart.Draw();};this.AdvancedSetting=function(){};this.GetRandomText=function(text){var ARY_TEXT=["下跌形态","反转十字星","低位档五阳线","倒V型反转","双顶","持续整理形态"];var index=this.GetRandomTestData(0,ARY_TEXT.length-1);for(var i=index;i<10;++i){var value=ARY_TEXT[i%ARY_TEXT.length];if(value!=text)return value;}};this.GetRandomTestData=function(min,max)//测试数据
15433
15447
  {min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min;//含最大值,含最小值
15434
- };this.Show=function(x,y){if(!this.DivDialog)this.Create();this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.SetChartPicture=function(chart){this.ChartPicture=chart;var bShowLineColor=true,bShowBGColor=false,bShowFontColor=false,bShowBorderColor=false,bShowFontZoom=false,bModifyText=false,bAdvanced=false;;var bgColor=null,fontColor=null,borderColor=null;var ARRAY_TEXT_CHART=['ChartDrawPriceLabel',"ChartDrawAnchoredText","ChartDrawPriceNote"];if(ARRAY_TEXT_CHART.includes(chart.ClassName)){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bShowFontZoom=true;if(chart.ClassName=="ChartDrawAnchoredText")bModifyText=true;bgColor=chart.BGColor;fontColor=chart.TextColor;borderColor=chart.BorderColor;}else if(chart.ClassName=="ChartDrawPictureText"){bModifyText=true;bShowFontZoom=true;bShowLineColor=true;}else if(chart.ClassName=="ChartDrawNote"){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bModifyText=true;bShowFontZoom=true;bgColor=chart.NoteBGColor;fontColor=chart.NoteTextColor;borderColor=chart.NoteBorderColor;}else if(chart.ClassName=="ChartDrawVolProfile"){bShowLineColor=false;bAdvanced=true;}else if(chart.ClassName=="ChartDrawPictureIconFont"){bShowFontZoom=true;}if(this.ColorButton){var item=this.ColorButton;this.ShowButton(item.Div,bShowLineColor?"inline":"none");if(bShowLineColor){item.DivColorBar.style['background-color']=chart.LineColor;}}if(this.BGColorButton){var item=this.BGColorButton;this.ShowButton(item.Div,bShowBGColor?"inline":"none");if(bShowBGColor){item.DivColorBar.style['background-color']=bgColor;}}if(this.FontColorButton){var item=this.FontColorButton;this.ShowButton(item.Div,bShowFontColor?"inline":"none");if(bShowFontColor){item.DivColorBar.style['background-color']=fontColor;}}if(this.BorderColorButton){var item=this.BorderColorButton;this.ShowButton(item.Div,bShowBorderColor?"inline":"none");if(bShowBorderColor){item.DivColorBar.style['background-color']=borderColor;}}if(this.LockButton){this.UpdateLockButtonStyle();}if(this.FontZoomButton){var item=this.FontZoomButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.FontZoomOutButton){var item=this.FontZoomOutButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.ModifyTextButton){var item=this.ModifyTextButton;this.ShowButton(item.Div,bModifyText?"inline":"none");}if(this.AdvancedButton){var item=this.AdvancedButton;this.ShowButton(item.Div,bAdvanced?"inline":"none");}};this.OnMouseDownTitle=function(e){var _this98=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this98.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this98.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};}/*
15448
+ };this.Show=function(x,y){if(!this.DivDialog)this.Create();this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.SetChartPicture=function(chart){this.ChartPicture=chart;var bShowLineColor=true,bShowBGColor=false,bShowFontColor=false,bShowBorderColor=false,bShowFontZoom=false,bModifyText=false,bAdvanced=false;;var bgColor=null,fontColor=null,borderColor=null;var ARRAY_TEXT_CHART=['ChartDrawPriceLabel',"ChartDrawAnchoredText","ChartDrawPriceNote"];if(ARRAY_TEXT_CHART.includes(chart.ClassName)){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bShowFontZoom=true;if(chart.ClassName=="ChartDrawAnchoredText")bModifyText=true;bgColor=chart.BGColor;fontColor=chart.TextColor;borderColor=chart.BorderColor;}else if(chart.ClassName=="ChartDrawPictureText"){bModifyText=true;bShowFontZoom=true;bShowLineColor=true;}else if(chart.ClassName=="ChartDrawNote"){bShowBGColor=true;bShowFontColor=true;bShowBorderColor=true;bModifyText=true;bShowFontZoom=true;bgColor=chart.NoteBGColor;fontColor=chart.NoteTextColor;borderColor=chart.NoteBorderColor;}else if(chart.ClassName=="ChartDrawVolProfile"){bShowLineColor=false;bAdvanced=true;}else if(chart.ClassName=="ChartDrawPictureIconFont"){bShowFontZoom=true;}if(this.ColorButton){var item=this.ColorButton;this.ShowButton(item.Div,bShowLineColor?"inline":"none");if(bShowLineColor){item.DivColorBar.style['background-color']=chart.LineColor;}}if(this.BGColorButton){var item=this.BGColorButton;this.ShowButton(item.Div,bShowBGColor?"inline":"none");if(bShowBGColor){item.DivColorBar.style['background-color']=bgColor;}}if(this.FontColorButton){var item=this.FontColorButton;this.ShowButton(item.Div,bShowFontColor?"inline":"none");if(bShowFontColor){item.DivColorBar.style['background-color']=fontColor;}}if(this.BorderColorButton){var item=this.BorderColorButton;this.ShowButton(item.Div,bShowBorderColor?"inline":"none");if(bShowBorderColor){item.DivColorBar.style['background-color']=borderColor;}}if(this.LockButton){this.UpdateLockButtonStyle();}if(this.FontZoomButton){var item=this.FontZoomButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.FontZoomOutButton){var item=this.FontZoomOutButton;this.ShowButton(item.Div,bShowFontZoom?"inline":"none");}if(this.ModifyTextButton){var item=this.ModifyTextButton;this.ShowButton(item.Div,bModifyText?"inline":"none");}if(this.AdvancedButton){var item=this.AdvancedButton;this.ShowButton(item.Div,bAdvanced?"inline":"none");}};this.OnMouseDownTitle=function(e){var _this99=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this99.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this99.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};}/*
15435
15449
  Copyright (c) 2018 jones
15436
15450
 
15437
15451
  http://www.apache.org/licenses/LICENSE-2.0
@@ -15447,13 +15461,13 @@ this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字
15447
15461
  this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
15448
15462
  this.Minute={Option:JSPopMinuteChart.GetMinuteOption(),JSChart:null,Date:null,Symbol:null,Name:null,Chart:null};this.ClearCache=function(){this.Minute.Date=null;this.Minute.Symbol=null;this.Minute.Name=null;this.Minute.Chart=null;};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
15449
15463
  this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);}if(option.EnableMarkBG)//标记背景
15450
- {this.HQChart.CreateExtendChart("MarkPopMinutePaint");}}};this.Create=function(){var _this99=this;var divDom=document.createElement('div');divDom.className='jchart_pop_minute_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_pop_minute_chart_Title_Div';divTitle.onmousedown=function(e){_this99.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_pop_minute_chart_Title";divInfoText.innerText="分时图";this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_pop_minute_chart_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this99.Close(e);};divTitle.appendChild(divClose);var divChart=document.createElement('div');divChart.className='jschart_pop_minute_chart';divDom.appendChild(divChart);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivColor:divClose};this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
15451
- if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this99.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this99.NetworkFilter(data,callback);};var keyDownEvent={event:JSCHART_EVENT_ID.ON_KEYDOWN,//键盘消息
15452
- callback:function callback(event,data,obj){_this99.OnKeyDown(event,data,obj);}};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this99.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this99.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this99.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(keyDownEvent,reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[keyDownEvent,reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
15453
- document.body.appendChild(divDom);this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;};this.NetworkFilter=function(data,callback){var _this100=this;if(!this.HQChart||!this.HQChart.NetworkFilter)return;if(data)data.PopMinuteData={Date:this.Date};//弹出分时图额外数据
15464
+ {this.HQChart.CreateExtendChart("MarkPopMinutePaint");}}};this.Create=function(){var _this100=this;var divDom=document.createElement('div');divDom.className='jchart_pop_minute_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_pop_minute_chart_Title_Div';divTitle.onmousedown=function(e){_this100.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_pop_minute_chart_Title";divInfoText.innerText="分时图";this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_pop_minute_chart_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this100.Close(e);};divTitle.appendChild(divClose);var divChart=document.createElement('div');divChart.className='jschart_pop_minute_chart';divDom.appendChild(divChart);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivColor:divClose};this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
15465
+ if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this100.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this100.NetworkFilter(data,callback);};var keyDownEvent={event:JSCHART_EVENT_ID.ON_KEYDOWN,//键盘消息
15466
+ callback:function callback(event,data,obj){_this100.OnKeyDown(event,data,obj);}};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this100.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this100.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this100.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(keyDownEvent,reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[keyDownEvent,reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
15467
+ document.body.appendChild(divDom);this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;};this.NetworkFilter=function(data,callback){var _this101=this;if(!this.HQChart||!this.HQChart.NetworkFilter)return;if(data)data.PopMinuteData={Date:this.Date};//弹出分时图额外数据
15454
15468
  if(data.Name=='MinuteChartContainer::RequestMinuteData')//分时图数据对接
15455
- {data.Request.Data.date=this.Date;data.Name="MinuteChartContainer::RequestPopMinuteData";data.Explain="指定日期分时数据";this.HQChart.NetworkFilter(data,function(recv){_this100.OnRecvPopMinuteData(recv,callback);});}else{this.HQChart.NetworkFilter(data,callback);}};this.OnRecvPopMinuteData=function(recv,callback){var bUpdateTitle=false;if(recv&&IFrameSplitOperator.IsNonEmptyArray(recv.stock)){var stockItem=recv.stock[0];if(stockItem){if(stockItem.Title){this.Name=stockItem.Title;bUpdateTitle=true;}else if(stockItem.name){this.Name=stockItem.name;bUpdateTitle=true;}}}if(bUpdateTitle)this.UpdateDialogTitle();callback(recv);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;this.Minute.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data.Symbol||!IFrameSplitOperator.IsPlusNumber(data.Date))return;this.Date=data.Date;this.Symbol=this.Name=data.Symbol;if(data.Name)this.Name=data.Name;this.Chart=data.Chart;this.UpdateDialogTitle();if(this.Minute.JSChart){this.Minute.JSChart.ChangeSymbol(this.Symbol);this.MarkKLineBG();}if(!this.Minute.Option.EnableResize){if(this.Minute.JSChart)this.Minute.JSChart.OnSize();}var scrollPos=GetScrollPosition();//超出窗口调整位置
15456
- var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5+scrollPos.Top;if(x+width>xRight)x=xRight-width;if(y+height>ybottom)y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.UpdateDialogTitle=function(){var title=this.Name+' '+IFrameSplitOperator.FormatDateString(this.Date)+' \u5206\u65F6\u56FE PageUp/PageDown\u7FFB\u9875';this.TitleBox.DivName.innerText=title;};this.Close=function(e){if(!this.DivDialog)return;this.ClearCache();this.DivDialog.style.visibility='hidden';this.ClearMarkKLineBG();};this.OnMouseDownTitle=function(e){var _this101=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this101.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this101.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ReloadResource=function(option){this.TitleColor=g_JSChartResource.PopMinuteChart.TitleColor;this.TitleBGColor=g_JSChartResource.PopMinuteChart.TitleBGColor;this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
15469
+ {data.Request.Data.date=this.Date;data.Name="MinuteChartContainer::RequestPopMinuteData";data.Explain="指定日期分时数据";this.HQChart.NetworkFilter(data,function(recv){_this101.OnRecvPopMinuteData(recv,callback);});}else{this.HQChart.NetworkFilter(data,callback);}};this.OnRecvPopMinuteData=function(recv,callback){var bUpdateTitle=false;if(recv&&IFrameSplitOperator.IsNonEmptyArray(recv.stock)){var stockItem=recv.stock[0];if(stockItem){if(stockItem.Title){this.Name=stockItem.Title;bUpdateTitle=true;}else if(stockItem.name){this.Name=stockItem.name;bUpdateTitle=true;}}}if(bUpdateTitle)this.UpdateDialogTitle();callback(recv);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;this.Minute.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data.Symbol||!IFrameSplitOperator.IsPlusNumber(data.Date))return;this.Date=data.Date;this.Symbol=this.Name=data.Symbol;if(data.Name)this.Name=data.Name;this.Chart=data.Chart;this.UpdateDialogTitle();if(this.Minute.JSChart){this.Minute.JSChart.ChangeSymbol(this.Symbol);this.MarkKLineBG();}if(!this.Minute.Option.EnableResize){if(this.Minute.JSChart)this.Minute.JSChart.OnSize();}var scrollPos=GetScrollPosition();//超出窗口调整位置
15470
+ var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5+scrollPos.Top;if(x+width>xRight)x=xRight-width;if(y+height>ybottom)y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.UpdateDialogTitle=function(){var title=this.Name+' '+IFrameSplitOperator.FormatDateString(this.Date)+' \u5206\u65F6\u56FE PageUp/PageDown\u7FFB\u9875';this.TitleBox.DivName.innerText=title;};this.Close=function(e){if(!this.DivDialog)return;this.ClearCache();this.DivDialog.style.visibility='hidden';this.ClearMarkKLineBG();};this.OnMouseDownTitle=function(e){var _this102=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this102.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this102.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ReloadResource=function(option){this.TitleColor=g_JSChartResource.PopMinuteChart.TitleColor;this.TitleBGColor=g_JSChartResource.PopMinuteChart.TitleBGColor;this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
15457
15471
  this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;if(!this.DivDialog)return;this.UpdateStyle();if(this.Minute.JSChart)this.Minute.JSChart.ReloadResource(option);};this.LoadChartResource=function(chart){if(IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint)){for(var i=0;i<chart.TitlePaint.length;++i){var item=chart.TitlePaint[i];if(!item)continue;item.Font=this.TitleFont;}}if(IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex)){for(var i=0;i<chart.WindowIndex.length;++i)//去掉指标里面的字体
15458
15472
  {var item=chart.WindowIndex[i];if(!item)continue;item.TitleFont=null;}}if(chart.ChartCorssCursor){chart.ChartCorssCursor.Font=this.CorssCursorFont;}};this.SetLanguage=function(language){if(!this.DivDialog)return;if(this.Minute.JSChart)this.Minute.JSChart.SetLanguage(language);};this.OnKeyDown=function(event,data,obj){switch(data.KeyID){case 33://page up
15459
15473
  data.PreventDefault=true;var item=this.GetNextData(1);if(item)this.ChangeSymbol(item.Symbol,item.Date);break;case 34://page down
@@ -15483,8 +15497,8 @@ function JSTooltipMinuteChart(){this.DivDialog=null;this.HQChart=null;this.ID=Gu
15483
15497
  this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
15484
15498
  this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
15485
15499
  this.OnCreatedCallback;this.Minute={Option:JSTooltipMinuteChart.GetMinuteOption(),JSChart:null,Symbol:null,Date:null,PopData:null};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
15486
- this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.Minute.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this102=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_Minute_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_Minute_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
15487
- if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this102.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this102.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this102.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this102.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this102.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
15500
+ this.Minute.Option=(0,_assign2.default)(this.Minute.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.Minute.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this103=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_Minute_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_Minute_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.Minute.JSChart=chart;//语言跟主图保持一致
15501
+ if(this.HQChart)this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.Minute.Option.OnCreatedCallback=function(chart){_this103.OnCreateHQChart(chart);};this.Minute.Option.NetworkFilter=function(data,callback){_this103.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this103.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.Minute.Option.EventCallback)){this.Minute.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.Minute.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.Minute.Option);//设置K线配置
15488
15502
  document.body.appendChild(divDom);this.UpdateStyle();if(!this.Minute.Option.EnableResize){if(this.Minute.JSChart)this.Minute.JSChart.OnSize();}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;/*
15489
15503
  if (data) data.PopMinuteData={ Date:this.Date }; //弹出分时图额外数据
15490
15504
 
@@ -15540,8 +15554,8 @@ function JSTooltipKLineChart(){this.DivDialog=null;this.HQChart=null;this.ID=Gui
15540
15554
  this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
15541
15555
  this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
15542
15556
  this.OnCreatedCallback=null;this.KLine={Option:JSTooltipKLineChart.GetKLineOption(),JSChart:null,Symbol:null};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
15543
- this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this103=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_KLine_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_KLine_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.KLine.JSChart=chart;//语言跟主图保持一致
15544
- if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this103.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this103.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this103.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this103.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.KLine.Option.EventCallback)){this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.KLine.Option);//设置K线配置
15557
+ this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this104=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_KLine_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_KLine_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.KLine.JSChart=chart;//语言跟主图保持一致
15558
+ if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this104.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this104.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this104.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.KLine.Option.EventCallback)){this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.KLine.Option);//设置K线配置
15545
15559
  document.body.appendChild(divDom);this.UpdateStyle();if(!this.KLine.Option.EnableResize){if(this.KLine.JSChart)this.KLine.JSChart.OnSize({Type:1});}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;this.HQChart.NetworkFilter(data,callback);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);if(this.OnCreatedCallback)this.OnCreatedCallback(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.KLine.JSChart)this.KLine.JSChart.ChartDestory();this.KLine.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data||!data.Symbol)return;var symbol=data.Symbol;if(this.KLine.JSChart){if(this.KLine.Symbol!=symbol){this.KLine.Symbol=symbol;this.KLine.JSChart.ChangeSymbol(symbol);}}if(IFrameSplitOperator.IsNumberV2(x,y)){}else if(data.Rect){var rtCell=data.Rect;var pixelRatio=GetDevicePixelRatio();var rtItem={Left:rtCell.Left/pixelRatio,Right:rtCell.Right/pixelRatio,Bottom:rtCell.Bottom/pixelRatio,Top:rtCell.Top/pixelRatio};rtItem.Width=rtItem.Right-rtItem.Left;rtItem.Height=rtItem.Bottom-rtItem.Top;//超出窗口调整位置
15546
15560
  var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
15547
15561
  this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
@@ -15584,11 +15598,11 @@ AutoLeft:{Blank:10,MinWidth:30},AutoRight:{Blank:5,MinWidth:30}},Frame://子框
15584
15598
  */function JSPopKeyboard(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, }
15585
15599
  this.InputDOM=null;this.Title="HQChart 键盘精灵";this.ID=Guid();this.ActiveDOM=null;//启动键盘精灵是的控件
15586
15600
  this.InputStatus=0;//0=空闲 1=输入中
15587
- this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(option){var _this104=this;if(option){if(IFrameSplitOperator.IsBool(option.EnableResize))this.Keyboard.Option.EnableResize=option.EnableResize;}window.addEventListener('mousedown',function(e){_this104.OnWindowMouseDown(e);});};this.OnWindowMouseDown=function(e){if(!this.DivDialog)return;console.log("[JSPopKeyboard::OnWindowMouseDown] e=",e);if(!this.DivDialog.contains(e.target)){this.Hide();}};this.Destroy=function(){var _this105=this;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.Keyboard.JSChart)this.Keyboard.JSChart.ChartDestory();this.Keyboard.JSChart=null;window.removeEventListener('mousedown',function(e){_this105.OnWindowMouseDown(e);});//注销监听
15588
- };this.Create=function(){var _this106=this;var divDom=document.createElement('div');divDom.className='jchart_pop_keyboard_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_keyboard_Title_Div';divTitle.onmousedown=function(e){_this106.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_keyboard_Title";divInfoText.innerText=this.Title;this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_keyboard_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this106.Hide();};divTitle.appendChild(divClose);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivClose:divClose};var divInput=document.createElement("div");divInput.className='jschart_keyboard_Input_Div';divDom.appendChild(divInput);var input=document.createElement("input");input.className="jschart_keyboard_input";input.addEventListener("keydown",function(event){_this106.OnKeydown(event);});input.addEventListener("keyup",function(event){_this106.OnKeyup(event);});input.addEventListener("compositionstart",function(event){_this106.OnCompositionStart(event);});input.addEventListener("compositionupdate",function(event){_this106.OnCompositionUpdate(event);});input.addEventListener("compositionend",function(event){_this106.OnCompositionEnd(event);});divInput.appendChild(input);var divChart=document.createElement("div");divChart.className="jschart_keyboard_Chart_Div";divDom.appendChild(divChart);this.DivDialog=divDom;this.InputDOM=input;var chart=JSKeyboardChart.Init(divChart);this.Keyboard.JSChart=chart;this.Keyboard.Option.OnCreatedCallback=function(chart){_this106.OnCreateHQChart(chart);};chart.SetOption(this.Keyboard.Option);//设置K线配置
15589
- chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:function callback(event,data,chart){_this106.OnChartMouseUp(event,data,chart);}});this.UpdateStyle();document.body.appendChild(divDom);};this.OnCreateHQChart=function(chart){};this.OnCompositionStart=function(event){this.InputStatus=1;};this.OnCompositionUpdate=function(event){};this.OnCompositionEnd=function(event){this.InputStatus=0;};this.OnKeydown=function(event){if(this.InputStatus!=0)return;var aryKey=new _set2.default([40,38,13,33,34]);if(aryKey.has(event.keyCode)){this.Keyboard.JSChart.OnKeyDown(event);}if(event.keyCode==27){this.Hide();}};this.OnKeyup=function(event){if(this.InputStatus!=0)return;var code=event.keyCode;if(code==8)//删除
15601
+ this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;this.Keyboard={Option:JSPopKeyboard.GetOption(),JSChart:null};this.Inital=function(option){var _this105=this;if(option){if(IFrameSplitOperator.IsBool(option.EnableResize))this.Keyboard.Option.EnableResize=option.EnableResize;}window.addEventListener('mousedown',function(e){_this105.OnWindowMouseDown(e);});};this.OnWindowMouseDown=function(e){if(!this.DivDialog)return;console.log("[JSPopKeyboard::OnWindowMouseDown] e=",e);if(!this.DivDialog.contains(e.target)){this.Hide();}};this.Destroy=function(){var _this106=this;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.Keyboard.JSChart)this.Keyboard.JSChart.ChartDestory();this.Keyboard.JSChart=null;window.removeEventListener('mousedown',function(e){_this106.OnWindowMouseDown(e);});//注销监听
15602
+ };this.Create=function(){var _this107=this;var divDom=document.createElement('div');divDom.className='jchart_pop_keyboard_dailog';divDom.id=this.ID;var divTitle=document.createElement("div");divTitle.className='jschart_keyboard_Title_Div';divTitle.onmousedown=function(e){_this107.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divInfoText=document.createElement("div");divInfoText.className="jschart_keyboard_Title";divInfoText.innerText=this.Title;this.DivInfoText=divInfoText;divTitle.appendChild(divInfoText);var divClose=document.createElement("div");divClose.className='jschart_keyboard_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this107.Hide();};divTitle.appendChild(divClose);this.TitleBox={DivTitle:divTitle,DivName:divInfoText,DivClose:divClose};var divInput=document.createElement("div");divInput.className='jschart_keyboard_Input_Div';divDom.appendChild(divInput);var input=document.createElement("input");input.className="jschart_keyboard_input";input.addEventListener("keydown",function(event){_this107.OnKeydown(event);});input.addEventListener("keyup",function(event){_this107.OnKeyup(event);});input.addEventListener("compositionstart",function(event){_this107.OnCompositionStart(event);});input.addEventListener("compositionupdate",function(event){_this107.OnCompositionUpdate(event);});input.addEventListener("compositionend",function(event){_this107.OnCompositionEnd(event);});divInput.appendChild(input);var divChart=document.createElement("div");divChart.className="jschart_keyboard_Chart_Div";divDom.appendChild(divChart);this.DivDialog=divDom;this.InputDOM=input;var chart=JSKeyboardChart.Init(divChart);this.Keyboard.JSChart=chart;this.Keyboard.Option.OnCreatedCallback=function(chart){_this107.OnCreateHQChart(chart);};chart.SetOption(this.Keyboard.Option);//设置K线配置
15603
+ chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:function callback(event,data,chart){_this107.OnChartMouseUp(event,data,chart);}});this.UpdateStyle();document.body.appendChild(divDom);};this.OnCreateHQChart=function(chart){};this.OnCompositionStart=function(event){this.InputStatus=1;};this.OnCompositionUpdate=function(event){};this.OnCompositionEnd=function(event){this.InputStatus=0;};this.OnKeydown=function(event){if(this.InputStatus!=0)return;var aryKey=new _set2.default([40,38,13,33,34]);if(aryKey.has(event.keyCode)){this.Keyboard.JSChart.OnKeyDown(event);}if(event.keyCode==27){this.Hide();}};this.OnKeyup=function(event){if(this.InputStatus!=0)return;var code=event.keyCode;if(code==8)//删除
15590
15604
  {var strText=this.InputDOM.value;if(strText.length==0){this.Hide();//只有按了删除 才能隐藏
15591
- return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var _this107=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this107.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this107.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;if(!this.Keyboard.Option.EnableResize)//自动调整大小
15605
+ return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var _this108=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this108.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this108.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;if(!this.Keyboard.Option.EnableResize)//自动调整大小
15592
15606
  {if(this.Keyboard.JSChart)this.Keyboard.JSChart.OnSize();}//显示在右下方
15593
15607
  var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;if(this.Keyboard.JSChart&&this.Keyboard.JSChart.JSChartContainer){var event=this.Keyboard.JSChart.JSChartContainer.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SHOW);if(event&&event.Callback){var data={PreventDefault:false,Y:y,X:x,Height:height,Width:width};event.Callback(event,data,this);if(data.PreventDefault)return;//修改显示位置
15594
15608
  x=data.X;y=data.Y;}}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
@@ -15618,7 +15632,7 @@ this.LastValueCache=null;//最后的鼠标位置对应的数值
15618
15632
  this.LastValueCacheID=null;//鼠标信息
15619
15633
  this.DataID=null;//当前显示的数据时间{ Symbol:, Date:, Time: }
15620
15634
  this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsPlusNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;if(option.IndexTitle){var item=option.IndexTitle;if(IFrameSplitOperator.IsBool(item.Enable))this.IndexTitle.Enable=item.Enable;if(IFrameSplitOperator.IsPlusNumber(item.MaxCount))this.IndexTitle.MaxCount=item.MaxCount;}}};this.Destroy=function(){this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCache2=null;this.KItemCacheID=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);if(this.HQChart&&this.HQChart.ChartCorssCursor){var chart=this.HQChart.ChartCorssCursor;if(!chart.IsShowCorss)return;chart.IsShowCorss=false;this.HQChart.Draw();this.HQChart.SetFocus();}};//data={ Symbol, Date, Time}
15621
- this.IsEqualDataID=function(data){if(!this.DataID)return false;if(!data)return false;if(this.DataID.Symbol!=data.Symbol)return false;if(this.DataID.Date!=data.Date)return false;if(IFrameSplitOperator.IsNumber(this.DataID.Time)){if(this.DataID.Time!=data.Time)return false;}return true;};this.Create=function(){var _this108=this;var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_Tooltip_Title_Div';divTitle.onmousedown=function(e){_this108.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_Tooltip_Name_Div';divName.innerText="----";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_Tooltip_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this108.OnClickColseButton(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_Tooltip_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Tbody";table.appendChild(tbody);this.AryData=[];if(this.Style==1){for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,Tr2:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Sinlge_Td";//标题
15635
+ this.IsEqualDataID=function(data){if(!this.DataID)return false;if(!data)return false;if(this.DataID.Symbol!=data.Symbol)return false;if(this.DataID.Date!=data.Date)return false;if(IFrameSplitOperator.IsNumber(this.DataID.Time)){if(this.DataID.Time!=data.Time)return false;}return true;};this.Create=function(){var _this109=this;var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_Tooltip_Title_Div';divTitle.onmousedown=function(e){_this109.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_Tooltip_Name_Div';divName.innerText="----";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_Tooltip_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this109.OnClickColseButton(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_Tooltip_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Tbody";table.appendChild(tbody);this.AryData=[];if(this.Style==1){for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,Tr2:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Sinlge_Td";//标题
15622
15636
  trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Title_Left_Span';spanDom.innerText='标题';tdDom.appendChild(spanDom);rowItem.TitleSpan=spanDom;var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr2=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Sinlge_Td";//数值
15623
15637
  trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Text_Span';spanDom.innerText='数值';tdDom.appendChild(spanDom);rowItem.TextSpan=spanDom;this.AryData.push(rowItem);}}else{for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null,TitleTd:null,TextTd:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Title_Td";//标题
15624
15638
  trDom.appendChild(tdDom);rowItem.TitleTd=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Title_Span';spanDom.innerText='标题';tdDom.appendChild(spanDom);rowItem.TitleSpan=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Td";//数值
@@ -15636,7 +15650,7 @@ if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.Te
15636
15650
  if(outItem.TitleClassName){item.TitleSpan.className=outItem.TitleClassName;}else{if(this.Style==0){if(item.TitleSpan.className!=this.TitleAlign.Right)item.TitleSpan.className=this.TitleAlign.Right;}else if(this.Style==1){if(item.TitleSpan.className!=this.TitleAlign.Left)item.TitleSpan.className=this.TitleAlign.Left;}}if(item.TitleTd){if(outItem.IsMergeCell)//合并单元格
15637
15651
  {item.TitleTd.colSpan=2;item.TextTd.style.display="none";}else{if(item.TitleTd.colSpan!=1)item.TitleTd.colSpan=1;item.TextTd.style.display="";}}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.UpdateDataID=function(data){if(this.HQChart.ClassName=='KLineChartContainer'){var kItem=data.KItem;this.DataID={Symbol:data.Symbol,Date:kItem.Date,Time:null};if(IFrameSplitOperator.IsNumber(kItem.Time))this.DataID.Time=kItem.Time;}else if(this.HQChart.ClassName=='MinuteChartContainer'){var minItem=data.MinItem;if(minItem.Type==0)//连续交易
15638
15652
  {var item=minItem.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}else if(minItem.Type==1)//集合竞价
15639
- {var item=minItem.Data.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this109=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this109.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this109.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y){if(this.IsShow())return;if(!this.DivDialog)return;if(!this.HQChart)return;var scrollPos=GetScrollPosition();var top=this.HQChart.Frame.ChartBorder.GetTop()+scrollPos.Top;var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var x=left+rtClient.left+5;var y=top+rtClient.top+10;this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.GetFormatKLineTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
15653
+ {var item=minItem.Data.Data;if(item)this.DataID={Symbol:data.Symbol,Date:item.Date,Time:item.Time};}}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this110=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this110.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this110.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var scrollPos=GetScrollPosition();var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y){if(this.IsShow())return;if(!this.DivDialog)return;if(!this.HQChart)return;var scrollPos=GetScrollPosition();var top=this.HQChart.Frame.ChartBorder.GetTop()+scrollPos.Top;var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var x=left+rtClient.left+5;var y=top+rtClient.top+10;this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.GetFormatKLineTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
15640
15654
  var upperSymbol=this.HQChart.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var priceFormat=0;if(this.Style==1)priceFormat=1;//日期
15641
15655
  var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date');//时间
15642
15656
  var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var yClose=data.YClose;//昨收价|昨结算价
@@ -15763,9 +15777,9 @@ for(var i=0;i<tooltipData.AryData.length;++i){var item=tooltipData.AryData[i];va
15763
15777
  jones_2000@163.com
15764
15778
 
15765
15779
  内置区间统计框 设置框
15766
- */function JSDialogSelectRect(){this.DivDialog=null;this.DragTitle=null;this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;this.MaxRowCount=10;this.AryData=[];this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};this.ShowData;this.SelectData;this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){}};this.Destroy=function(){this.AryData=[];this.ShowData=null;this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this110=this;var divDom=document.createElement("div");divDom.className='UMyChart_SelectRect_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_SelectRect_Title_Div';divTitle.onmousedown=function(e){_this110.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_SelectRect_Name_Div';divName.innerText="区间统计";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SelectRect_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this110.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var divDateTime=document.createElement("div");divDateTime.className='UMyChart_SelectRect_DateTime_Div';//起始日期
15767
- var divStartDate=document.createElement("div");divDateTime.append(divStartDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="开始:";divStartDate.appendChild(spanText);this.DateTimeBox.Start.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divStartDate.appendChild(spanDate);this.DateTimeBox.Start.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this110.MoveStartDate(-1);};divStartDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this110.MoveStartDate(1);};divStartDate.appendChild(spanArrow);//结束日期
15768
- var divEndDate=document.createElement("div");divDateTime.append(divEndDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="结束:";divEndDate.appendChild(spanText);this.DateTimeBox.End.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divEndDate.appendChild(spanDate);this.DateTimeBox.SpanEnd=spanDate;this.DateTimeBox.End.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this110.MoveEndDate(-1);};divEndDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this110.MoveEndDate(1);};divEndDate.appendChild(spanArrow);divDom.appendChild(divDateTime);var table=document.createElement("table");table.className="UMyChart_SelectRect_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SelectRect_Tbody";table.appendChild(tbody);for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryItem:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SelectRect_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(var j=0;j<3;++j){var item={Td:null,LeftSpan:null,RightSpan:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SelectRect_Td";//标题+数值
15780
+ */function JSDialogSelectRect(){this.DivDialog=null;this.DragTitle=null;this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;this.MaxRowCount=10;this.AryData=[];this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};this.ShowData;this.SelectData;this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){}};this.Destroy=function(){this.AryData=[];this.ShowData=null;this.DateTimeBox={Start:{SpanText:null,SpanValue:null},End:{SpanText:null,SpanValue:null}};if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Create=function(){var _this111=this;var divDom=document.createElement("div");divDom.className='UMyChart_SelectRect_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_SelectRect_Title_Div';divTitle.onmousedown=function(e){_this111.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_SelectRect_Name_Div';divName.innerText="区间统计";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SelectRect_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this111.Close(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var divDateTime=document.createElement("div");divDateTime.className='UMyChart_SelectRect_DateTime_Div';//起始日期
15781
+ var divStartDate=document.createElement("div");divDateTime.append(divStartDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="开始:";divStartDate.appendChild(spanText);this.DateTimeBox.Start.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divStartDate.appendChild(spanDate);this.DateTimeBox.Start.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this111.MoveStartDate(-1);};divStartDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this111.MoveStartDate(1);};divStartDate.appendChild(spanArrow);//结束日期
15782
+ var divEndDate=document.createElement("div");divDateTime.append(divEndDate);var spanText=document.createElement("span");spanText.className="UMyChart_SelectRect_DateTitle_Span";spanText.innerText="结束:";divEndDate.appendChild(spanText);this.DateTimeBox.End.SpanText=spanText;var spanDate=document.createElement("span");spanDate.className="UMyChart_SelectRect_DateValue_Span";spanDate.innerText="--/--";divEndDate.appendChild(spanDate);this.DateTimeBox.SpanEnd=spanDate;this.DateTimeBox.End.SpanValue=spanDate;var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText="<";spanArrow.onmousedown=function(e){_this111.MoveEndDate(-1);};divEndDate.appendChild(spanArrow);var spanArrow=document.createElement("span");spanArrow.className="UMyChart_SelectRect_ArrowButton_Span";spanArrow.innerText=">";spanArrow.onmousedown=function(e){_this111.MoveEndDate(1);};divEndDate.appendChild(spanArrow);divDom.appendChild(divDateTime);var table=document.createElement("table");table.className="UMyChart_SelectRect_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SelectRect_Tbody";table.appendChild(tbody);for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryItem:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SelectRect_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(var j=0;j<3;++j){var item={Td:null,LeftSpan:null,RightSpan:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SelectRect_Td";//标题+数值
15769
15783
  item.Td=tdDom;trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_SelectRect_Item_Left_Span';spanDom.innerText='数值';item.LeftSpan=spanDom;tdDom.appendChild(spanDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_SelectRect_Item_Right_Span';spanDom.innerText='--';item.RightSpan=spanDom;tdDom.appendChild(spanDom);rowItem.AryItem.push(item);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivDialog=divDom;this.UpdateStyle();};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.ShowData=null;this.SelectData=null;if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.MoveStartDate=function(step){if(!this.DivDialog||!this.HQChart)return;if(step==0)return;if(!this.SelectData)return;var selectData=this.SelectData;var bUpdate=false;if(step>0){var index=selectData.Start;var endIndex=selectData.End;for(i=0;i<step&&index<endIndex;++i){++index;}if(selectData.Start!=index){selectData.Start=index;bUpdate=true;}}else{step=Math.abs(step);var index=selectData.Start;var endIndex=selectData.End;for(var i=0;i<step&&index>0;++i){--index;}if(selectData.Start!=index){selectData.Start=index;bUpdate=true;}}if(bUpdate)this.UpdateSelectRect(selectData);};this.MoveEndDate=function(step){if(!this.DivDialog)return;if(step==0)return;if(!this.SelectData)return;var selectData=this.SelectData;var bUpdate=false;if(step>0){var index=selectData.End;var startIndex=selectData.Start;for(i=0;i<step&&index<this.ShowData.DataCount;++i){++index;}if(selectData.End!=index){selectData.End=index;bUpdate=true;}}else{step=Math.abs(step);var index=selectData.End;var startIndex=selectData.Start;for(var i=0;i<step&&index>startIndex;++i){--index;}if(selectData.End!=index){selectData.End=index;bUpdate=true;}}if(bUpdate)this.UpdateSelectRect(selectData);};this.Show=function(x,y){if(!this.DivDialog)return;if(!this.HQChart)return;/*
15770
15784
  if (!this.DivDialog.style.top || !this.DivDialog.style.left) //上一次显示的位置
15771
15785
  {
@@ -15778,7 +15792,7 @@ item.Td=tdDom;trDom.appendChild(tdDom);var spanDom=document.createElement("span"
15778
15792
  this.DivDialog.style.top = y + "px";
15779
15793
  this.DivDialog.style.left = x + "px";
15780
15794
  }
15781
- */if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();left=left+rtClient.left+5;top=top+rtClient.top+10;if(IFrameSplitOperator.IsNumber(x)&&IFrameSplitOperator.IsNumber(y)){left=x;top=y;}var right=x+this.DivDialog.offsetWidth;var bottom=y+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.top=top+"px";this.DivDialog.style.left=left+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this111=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this111.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this111.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};//配色修改
15795
+ */if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();left=left+rtClient.left+5;top=top+rtClient.top+10;if(IFrameSplitOperator.IsNumber(x)&&IFrameSplitOperator.IsNumber(y)){left=x;top=y;}var right=x+this.DivDialog.offsetWidth;var bottom=y+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.top=top+"px";this.DivDialog.style.left=left+"px";this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this112=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this112.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this112.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};//配色修改
15782
15796
  this.ReloadResource=function(option){this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogSelectRect.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSelectRect.TitleBGColor;this.BGColor=g_JSChartResource.DialogSelectRect.BGColor;this.BorderColor=g_JSChartResource.DialogSelectRect.BorderColor;this.TextColor=g_JSChartResource.DialogSelectRect.TextColor;this.ValueColor=g_JSChartResource.DialogSelectRect.ValueColor;this.VolColor=g_JSChartResource.DialogSelectRect.VolColor;this.AmountColor=g_JSChartResource.DialogSelectRect.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogSelectRect.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogSelectRect.PositionColor;if(!this.DivDialog)return;this.UpdateStyle();if(this.SelectData){var selectData=this.SelectData;this.HQChart.UpdateSelectRect(selectData.Start,selectData.End);var showData=this.CalculateKLineData({SelectData:selectData});this.FormatKLineText(showData);this.ShowData=showData;this.UpdateTableDOM(showData);}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.DateTimeBox.Start){var item=this.DateTimeBox.Start;item.SpanText.style["color"]=this.TextColor;item.SpanValue.style["color"]=this.ValueColor;}if(this.DateTimeBox.End){var item=this.DateTimeBox.End;item.SpanText.style["color"]=this.TextColor;item.SpanValue.style["color"]=this.ValueColor;}//if (this.TitleBGColor) this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;
15783
15797
  };this.UpdateTableDOM=function(showData){var index=0;for(var index=0,j=0,dataIndex=0;index<this.AryData.length&&dataIndex<showData.AryText.length;++index){var rowItem=this.AryData[index];for(j=0;j<rowItem.AryItem.length;++j,++dataIndex){if(dataIndex>=showData.AryText.length)break;var item=rowItem.AryItem[j];var outItem=showData.AryText[dataIndex];item.LeftSpan.innerText=outItem.Title;item.LeftSpan.style.color=this.TextColor;item.RightSpan.innerText=outItem.Text;item.RightSpan.style.color=outItem.Color;}rowItem.Tr.style.display="";}for(;index<this.AryData.length;++index){var rowItem=this.AryData[index];rowItem.Tr.style.display="none";}if(this.DateTimeBox.Start.SpanValue)this.DateTimeBox.Start.SpanValue.innerText=showData.Date.Start.Text;if(this.DateTimeBox.End.SpanValue)this.DateTimeBox.End.SpanValue.innerText=showData.Date.End.Text;};this.UpdateSelectRect=function(selectData){this.HQChart.UpdateSelectRect(selectData.Start,selectData.End);var showData=null;if(this.HQChart.ClassName=='KLineChartContainer'){showData=this.CalculateKLineData({SelectData:selectData});this.FormatKLineText(showData);}else if(this.HQChart.ClassName=='MinuteChartContainer'){showData=this.CalculateMinuteData({SelectData:selectData});this.FormatMinuteText(showData);}if(showData){this.ShowData=showData;this.UpdateTableDOM(showData);}};this.Update=function(data){if(!this.DivDialog)return;var showData;if(this.HQChart.ClassName=='KLineChartContainer'){showData=this.CalculateKLineData(data);this.FormatKLineText(showData);}else if(this.HQChart.ClassName=='MinuteChartContainer'){showData=this.CalculateMinuteData(data);this.FormatMinuteText(showData);}if(!showData)return;this.ShowData=showData;this.SelectData=data.SelectData;this.UpdateTableDOM(showData);if(!this.IsShow())this.Show(data.X,data.Y);};this.CreateEmptyShowData=function(){var showData={Open:null,Close:null,High:null,Low:null,YClose:null,Vol:0,Amount:0,Date:{Start:{Time:null,Date:null,Text:""},End:{Time:null,Date:null,Text:""}},Count:0,KLine:{Up:0,Down:0,Unchanged:0},//阳线|阴线|平线
15784
15798
  AryText:[],DataCount:0};return showData;};this.CalculateKLineData=function(data){var selectData=data.SelectData;var hisData=selectData.Data;var start=selectData.Start;var end=selectData.End;var showData=this.CreateEmptyShowData();showData.DataCount=hisData.Data.length;for(var i=start;i<hisData.Data.length&&i<=end;++i){var item=hisData.Data[i];++showData.Count;if(!IFrameSplitOperator.IsNumber(showData.Open)&&IFrameSplitOperator.IsNumber(item.Open))showData.Open=item.Open;if(IFrameSplitOperator.IsNumber(item.Close))showData.Close=item.Close;if(IFrameSplitOperator.IsNumber(item.Vol))showData.Vol+=item.Vol;if(IFrameSplitOperator.IsNumber(item.Amount))showData.Amount+=item.Amount;if(IFrameSplitOperator.IsNumber(item.High)){if(!IFrameSplitOperator.IsNumber(showData.High)||showData.High<item.High)showData.High=item.High;}if(IFrameSplitOperator.IsNumber(item.Low)){if(!IFrameSplitOperator.IsNumber(showData.Low)||showData.Low>item.Low)showData.Low=item.Low;}if(IFrameSplitOperator.IsNumber(item.Open)&&IFrameSplitOperator.IsNumber(item.Close)){if(item.Close>item.Open)++showData.KLine.Up;else if(item.Close<item.Open)++showData.KLine.Down;else++showData.KLine.Unchanged;}if(IFrameSplitOperator.IsNumber(item.Date)){showData.Date.End.Date=item.Date;if(!IFrameSplitOperator.IsNumber(showData.Date.Start.Date))showData.Date.Start.Date=item.Date;}if(IFrameSplitOperator.IsNumber(item.Time)){showData.Date.End.Time=item.Time;if(!IFrameSplitOperator.IsNumber(showData.Date.Start.Time))showData.Date.Start.Time=item.Time;}}return showData;};//格式化K线数据
@@ -15802,15 +15816,15 @@ this.ColCount=3;//列
15802
15816
  this.MaxGroupCount=20;//分类最多个数
15803
15817
  this.AryData=[];this.AryGroup=[];//分类
15804
15818
  this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(option.IndexData)this.IndexData=option.IndexData;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;}};this.Destroy=function(){this.AryData=[];this.AryGroup=[];this.IndexData=null;this.InputDom=null;this.HQChart=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);};//设置当前窗口数据
15805
- this.SetOpData=function(data){this.OpData=data;};this.Close=function(e){this.OpData=null;if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this112=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this112.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this112.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y,groupID){if(!this.DivDialog)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();if(!groupID)groupID=this.IndexData.Data[0].Group.ID;this.UpdateGroupData();this.ChangeGroup(groupID);if(this.OpData&&this.OpData.Title)this.TitleBox.DivName.innerText=this.OpData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
15806
- {var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.InputDom.value="";this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Create=function(){var _this113=this;var divDom=document.createElement("div");divDom.className='UMyChart_SearchIndex_Dialog_Div';//对话框标题栏
15807
- var divTitle=document.createElement("div");divTitle.className='UMyChart_SearchIndex_Title_Div';divTitle.onmousedown=function(e){_this113.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_SearchIndex_Name_Div';divName.innerText="指标搜索";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SearchIndex_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this113.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
15819
+ this.SetOpData=function(data){this.OpData=data;};this.Close=function(e){this.OpData=null;if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.OnMouseDownTitle=function(e){var _this113=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this113.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this113.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.Show=function(x,y,groupID){if(!this.DivDialog)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();if(!groupID)groupID=this.IndexData.Data[0].Group.ID;this.UpdateGroupData();this.ChangeGroup(groupID);if(this.OpData&&this.OpData.Title)this.TitleBox.DivName.innerText=this.OpData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
15820
+ {var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.InputDom.value="";this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Create=function(){var _this114=this;var divDom=document.createElement("div");divDom.className='UMyChart_SearchIndex_Dialog_Div';//对话框标题栏
15821
+ var divTitle=document.createElement("div");divTitle.className='UMyChart_SearchIndex_Title_Div';divTitle.onmousedown=function(e){_this114.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_SearchIndex_Name_Div';divName.innerText="指标搜索";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SearchIndex_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this114.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
15808
15822
  var divFrame=document.createElement("div");divFrame.className="UMyChart_SearchIndex_Frome_Div";divDom.appendChild(divFrame);//搜索框
15809
- var divInput=document.createElement("div");divInput.className="UMyChart_SearchIndex_Input_Div";divFrame.appendChild(divInput);var input=document.createElement("input");input.className='UMyChart_SearchIndex_Input';input.type="text";input.placeholder="输入指标名称";input.addEventListener("input",function(e){_this113.OnInputSearch(e);});divInput.appendChild(input);this.InputDom=input;//分类+指标内容
15823
+ var divInput=document.createElement("div");divInput.className="UMyChart_SearchIndex_Input_Div";divFrame.appendChild(divInput);var input=document.createElement("input");input.className='UMyChart_SearchIndex_Input';input.type="text";input.placeholder="输入指标名称";input.addEventListener("input",function(e){_this114.OnInputSearch(e);});divInput.appendChild(input);this.InputDom=input;//分类+指标内容
15810
15824
  var divContainer=document.createElement("div");divContainer.className="UMyChart_SearchIndex_Container_Div";divDom.appendChild(divContainer);//分类
15811
- var divGroup=document.createElement("div");divGroup.className="UMyChart_SearchIndex_GroupList_Div";divContainer.appendChild(divGroup);for(var i=0,j=0;i<this.MaxGroupCount;++i){var groupItem={Div:null,Span:null};var divItem=document.createElement("div");divItem.className="UMyChart_SearchIndex_Group_Div";divGroup.appendChild(divItem);groupItem.Div=divItem;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Group_Span';spanDom.innerText='分类名称';divItem.appendChild(spanDom);groupItem.Span=spanDom;spanDom.onmousedown=function(e){_this113.OnClickGroup(e);};this.AryGroup.push(groupItem);}//表格
15812
- var divTable=document.createElement("div");divTable.className='UMyChart_SearchIndex_Table_Div';divContainer.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_SearchIndex_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SearchIndex_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0,j=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryCell:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SearchIndex_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(j=0;j<this.ColCount;++j){var cellItem=this.CreateCellDOM(i,j,trDom);rowItem.AryCell.push(cellItem);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateCellDOM=function(rowID,colID,trDom){var _this114=this;var cellItem={Td:null,Span:null,RowID:rowID,ColID:colID,IndexItem:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SearchIndex_Text_Td";//指标名称
15813
- trDom.appendChild(tdDom);cellItem.Td=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Text_Span';spanDom.innerText='指标名称';spanDom.onmousedown=function(e){_this114.OnClickIndex(e,cellItem);};tdDom.appendChild(spanDom);cellItem.Span=spanDom;return cellItem;};this.OnClickIndex=function(e,cellItem){if(!this.OpData)return;if(!cellItem||!cellItem.IndexItem)return;var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.SEARCH_DIALOG_ON_CLICK_INDEX);if(event&&event.Callback){var sendData={OpData:this.OpData,IndexData:cellItem.IndexItem,HQChart:this.HQChart,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;//已被上层处理了
15825
+ var divGroup=document.createElement("div");divGroup.className="UMyChart_SearchIndex_GroupList_Div";divContainer.appendChild(divGroup);for(var i=0,j=0;i<this.MaxGroupCount;++i){var groupItem={Div:null,Span:null};var divItem=document.createElement("div");divItem.className="UMyChart_SearchIndex_Group_Div";divGroup.appendChild(divItem);groupItem.Div=divItem;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Group_Span';spanDom.innerText='分类名称';divItem.appendChild(spanDom);groupItem.Span=spanDom;spanDom.onmousedown=function(e){_this114.OnClickGroup(e);};this.AryGroup.push(groupItem);}//表格
15826
+ var divTable=document.createElement("div");divTable.className='UMyChart_SearchIndex_Table_Div';divContainer.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_SearchIndex_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_SearchIndex_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0,j=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,AryCell:[]};var trDom=document.createElement("tr");trDom.className='UMyChart_SearchIndex_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;for(j=0;j<this.ColCount;++j){var cellItem=this.CreateCellDOM(i,j,trDom);rowItem.AryCell.push(cellItem);}this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateCellDOM=function(rowID,colID,trDom){var _this115=this;var cellItem={Td:null,Span:null,RowID:rowID,ColID:colID,IndexItem:null};var tdDom=document.createElement("td");tdDom.className="UMyChart_SearchIndex_Text_Td";//指标名称
15827
+ trDom.appendChild(tdDom);cellItem.Td=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_SearchIndex_Text_Span';spanDom.innerText='指标名称';spanDom.onmousedown=function(e){_this115.OnClickIndex(e,cellItem);};tdDom.appendChild(spanDom);cellItem.Span=spanDom;return cellItem;};this.OnClickIndex=function(e,cellItem){if(!this.OpData)return;if(!cellItem||!cellItem.IndexItem)return;var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.SEARCH_DIALOG_ON_CLICK_INDEX);if(event&&event.Callback){var sendData={OpData:this.OpData,IndexData:cellItem.IndexItem,HQChart:this.HQChart,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault==true)return;//已被上层处理了
15814
15828
  }if(this.OpData.OpType==1){if(!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex))return;var indexItem=cellItem.IndexItem;if(indexItem.Type==0)//系统指标
15815
15829
  {this.HQChart.ChangeIndex(this.OpData.WindowIndex,indexItem.ID,indexItem);}else if(indexItem.Type==4||indexItem.Type==5)//五彩K线
15816
15830
  {this.HQChart.ChangeInstructionIndex(indexItem.ID);}else if(indexItem.Type==1)//自定义脚本指标
@@ -15831,7 +15845,7 @@ this.UpdateGroupData=function(){var index=0;for(index=0;index<this.IndexData.Dat
15831
15845
  this.OnInputSearch=function(e){var strSearh=e.target.value;var aryIndex=[];var aryData=this.SeachIndex(strSearh);var setIndex=new _set2.default();for(var i=0;i<aryData.length;++i){var item=aryData[i];var key=item.ID+'-'+item.Type;setIndex.add(key);aryIndex.push(item);}//内置指标
15832
15846
  var scriptData=new JSIndexScript();var result=scriptData.Search(strSearh);if(IFrameSplitOperator.IsNonEmptyArray(result)){for(var i=0;i<result.length;++i){var id=result[i];var key=id+'-0';if(setIndex.has(key))continue;var item={Name:id,ID:id,Type:0};aryIndex.push(item);}}this.UpdateTableData({AryIndex:aryIndex});};this.SeachIndex=function(strSearch){if(!this.IndexData||!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return[];var aryData=[];var upperSearch=strSearch.toUpperCase();for(var i=0,j=0;i<this.IndexData.Data.length;++i){var groupItem=this.IndexData.Data[i];for(j=0;j<groupItem.AryIndex.length;++j){var item=groupItem.AryIndex[j];if(item.Name.indexOf(strSearch)>=0||item.Name.indexOf(upperSearch)>=0){aryData.push(item);}}}return aryData;};//配色修改
15833
15847
  this.ReloadResource=function(option){};}JSDialogSearchIndex.GetDefaultIndexData=function(){var data={Name:"内置指标分类",Data:[{Group:{ID:"超买超卖型",Name:"超买超卖型"},AryIndex:[{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},//Type:0=系统指标 1=自定义通达信脚本 2=api指标 3=指标模板 4=交易系统 5=五彩K线
15834
- {Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0},{Name:"UDL 引力线",ID:"UDL",Type:0},{Name:"LWR 威廉指标",ID:"LWR",Type:0},{Name:"MARSI 相对强弱平均线",ID:"MARSI",Type:0},{Name:"ACCER 幅度涨速",ID:"ACCER",Type:0},{Name:"CYD 承接因子",ID:"CYD",Type:0},{Name:"CYF 市场能量",ID:"CYF",Type:0},{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},{Name:"ATR 真实波幅",ID:"ATR",Type:0},{Name:"DKX 多空线",ID:"DKX",Type:0},{Name:"TAPI 加权指数成交值",ID:"TAPI",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"SMACD 单线平滑异同平均线",ID:"SMACD",Type:0},{Name:"QACD 快速异同平均",ID:"QACD",Type:0},{Name:"VPT 量价曲线",ID:"VPT",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"DBQR 对比强弱",ID:"DBQR",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"JS 加速线",ID:"JS",Type:0},{Name:"CYE 市场趋势",ID:"CYE",Type:0},{Name:"QR 强弱指标",ID:"QR",Type:0},{Name:"GDX 轨道线",ID:"GDX",Type:0},{Name:"JLHB 绝路航标",ID:"JLHB",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0},{Name:"VOL-TDX 成交量(虚拟)",ID:"VOL-TDX",Type:0},{Name:"AMO 成交金额",ID:"AMO",Type:0},{Name:"AMO-TDX 成交金额(虚拟)",ID:"AMO-TDX",Type:0},{Name:"VRSI 相对强弱量",ID:"VRSI",Type:0},{Name:"HSCOL 换手柱",ID:"HSCOL",Type:0},{Name:"DBQRV 对比强弱量",ID:"DBQRV",Type:0},{Name:"DBLB 对比量比",ID:"DBLB",Type:0},{Name:"WSBVOL 维斯波成交量",ID:"WSBVOL",Type:0},{Name:"CCYD 持仓异动(适用于期货)",ID:"CCYD",Type:0},{Name:"CCL 持仓量(适用于期货)",ID:"CCL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"MA4 4根均线",ID:"MA4",Type:0},{Name:"MA5 5根均线",ID:"MA5",Type:0},{Name:"MA7 6根均线",ID:"MA6",Type:0},{Name:"MA7 7根均线",ID:"MA7",Type:0},{Name:"MA8 8根均线",ID:"MA8",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0},{Name:"ACD 升降线",ID:"ACD",Type:0},{Name:"EXPMA 指数平均线",ID:"EXPMA",Type:0},{Name:"EXPMA_S 指数平均线-副图",ID:"EXPMA_S",Type:0},{Name:"HMA 高价平均线",ID:"HMA",Type:0},{Name:"LMA 低价平均线",ID:"LMA",Type:0},{Name:"VMA 变异平均线",ID:"VMA",Type:0},{Name:"AMV 成本价均线",ID:"AMV",Type:0},{Name:"BBIBOLL 多空布林线",ID:"BBIBOLL",Type:0},{Name:"ALLIGAT 鳄鱼线",ID:"ALLIGAT",Type:0},{Name:"GMMA 顾比均线",ID:"GMMA",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL 布林线-副图",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0},{Name:"PBX 瀑布线",ID:"PBX",Type:0},{Name:"XS 薛斯通道",ID:"XS",Type:0},{Name:"XS2 薛斯通道II",ID:"XS2",Type:0},{Name:"DC 唐奇安通道",ID:"DC",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0},{Name:"PCNT 幅度比",ID:"PCNT",Type:0}]},{Group:{ID:"大势型",Name:"大势型"},AryIndex:[{Name:"ABI 绝对广量指标",ID:"ABI",Type:0},{Name:"ADL 腾落指标",ID:"ADL",Type:0}]},{Group:{ID:"五彩K线",Name:"五彩K线"},AryIndex:[{Name:"五彩K线-十字星",ID:"五彩K线-十字星",Type:5},{Name:"五彩K线-早晨之星",ID:"五彩K线-早晨之星",Type:5},{Name:"五彩K线-黄昏之星",ID:"五彩K线-黄昏之星",Type:5},{Name:"五彩K线-长十字",ID:"五彩K线-长十字",Type:5},{Name:"五彩K线-身怀六甲",ID:"五彩K线-身怀六甲",Type:5},{Name:"五彩K线-三个白武士",ID:"五彩K线-三个白武士",Type:5},{Name:"五彩K线-三只乌鸦",ID:"五彩K线-三只乌鸦",Type:5},{Name:"五彩K线-光头阳线",ID:"五彩K线-光头阳线",Type:5},{Name:"五彩K线-光脚阴线",ID:"五彩K线-光脚阴线线",Type:5},{Name:"五彩K线-垂死十字",ID:"五彩K线-垂死十字",Type:5},{Name:"五彩K线-早晨十字星",ID:"五彩K线-早晨十字星",Type:5},{Name:"五彩K线-黄昏十字星",ID:"五彩K线-黄昏十字星",Type:5},{Name:"五彩K线-射击之星",ID:"五彩K线-射击之星",Type:5},{Name:"五彩K线-倒转锤头",ID:"五彩K线-倒转锤头",Type:5},{Name:"五彩K线-锤头",ID:"五彩K线-锤头",Type:5},{Name:"五彩K线-吊颈",ID:"五彩K线-吊颈星",Type:5},{Name:"五彩K线-穿头破脚",ID:"五彩K线-穿头破脚",Type:5},{Name:"五彩K线-出水芙蓉",ID:"五彩K线-出水芙蓉",Type:5},{Name:"五彩K线-乌云盖顶",ID:"五彩K线-乌云盖顶",Type:5},{Name:"五彩K线-曙光初现",ID:"五彩K线-曙光初现",Type:5},{Name:"五彩K线-十字胎",ID:"五彩K线-十字胎",Type:5},{Name:"五彩K线-剑",ID:"五彩K线-剑",Type:5},{Name:"五彩K线-平顶",ID:"五彩K线-平顶",Type:5},{Name:"五彩K线-平底",ID:"五彩K线-平底",Type:5},{Name:"五彩K线-大阳烛",ID:"五彩K线-大阳烛",Type:5},{Name:"五彩K线-大阴烛",ID:"五彩K线-大阴烛",Type:5},{Name:"五彩K线-好友反攻",ID:"五彩K线-好友反攻",Type:5},{Name:"五彩K线-跳空缺口",ID:"五彩K线-跳空缺口",Type:5},{Name:"五彩K线-双飞乌鸦",ID:"五彩K线-双飞乌鸦",Type:5},{Name:"五彩K线-上升三部曲",ID:"五彩K线-上升三部曲",Type:5},{Name:"五彩K线-下跌三部曲",ID:"五彩K线-下跌三部曲",Type:5},{Name:"五彩K线-长下影",ID:"五彩K线-长下影",Type:5},{Name:"五彩K线-长上影",ID:"五彩K线-长上影",Type:5},{Name:"五彩K线-分离",ID:"五彩K线-分离",Type:5}]},{Group:{ID:"交易系统",Name:"交易系统"},AryIndex:[{Name:"交易系统-BIAS",ID:"交易系统-BIAS",Type:4},{Name:"交易系统-CCI",ID:"交易系统-CCI",Type:4},{Name:"交易系统-DMI",ID:"交易系统-DMI",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-BOLL",ID:"交易系统-BOLL",Type:4},{Name:"交易系统-KDJ",ID:"交易系统-KDJ",Type:4},{Name:"交易系统-MACD",ID:"交易系统-MACD",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-MTM",ID:"交易系统-MTM",Type:4},{Name:"交易系统-PSY",ID:"交易系统-PSY",Type:4},{Name:"交易系统-ROC",ID:"交易系统-ROC",Type:4},{Name:"交易系统-RSI",ID:"交易系统-RSI",Type:4},{Name:"交易系统-VR",ID:"交易系统-VR",Type:4},{Name:"交易系统-DPSJ",ID:"交易系统-DPSJ",Type:4}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"API-DRAWTEXTREL",Type:2,Args:null},{Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Script:"均价:(H+L)/2;高:H;低:L;",Args:[{Name:'N',Value:20},{Name:'M',Value:6}]},{Name:"指标异常(后台指标)",ID:"API_ERRORMESSAGE",Type:2,Args:null}]},{Group:{ID:"付费指标",Name:"付费指标"},AryIndex:[{Name:"面积图(后台指标)",ID:"API-DRAWBAND",Type:2,Args:null,Lock:{IsLocked:true}},{Name:"波段量能跟庄-波段量能",ID:"TEST_INDEX_4AE0_1",Type:0,Lock:{IsLocked:true}},{Name:"飞龙八级进-主图",ID:"TEST_INDEX_4AE0_2",Type:0,Lock:{IsLocked:true}}]},{Group:{ID:"组合指标",Name:"组合指标"},AryIndex:[{Name:"BOLL+ENE+KDJ",ID:"9E154D3C-A4D4-40DD-8D8F-2C499F35E31B",Type:3,TemplateData:{Windows:[{Index:"BOLL"},{Index:"ENE"},{Index:"KDJ"}]}},{Name:"MA_OSC+DPO_RSI",ID:"E828DD1C-D41B-4888-9CB5-4CA1D84F7B50",Type:3,TemplateData:{Windows:[//{ API:{ Name:"后台指标ID", ID:"后台指标ID", Url:'local' } },
15848
+ {Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0},{Name:"UDL 引力线",ID:"UDL",Type:0},{Name:"LWR 威廉指标",ID:"LWR",Type:0},{Name:"MARSI 相对强弱平均线",ID:"MARSI",Type:0},{Name:"ACCER 幅度涨速",ID:"ACCER",Type:0},{Name:"CYD 承接因子",ID:"CYD",Type:0},{Name:"CYF 市场能量",ID:"CYF",Type:0},{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},{Name:"ATR 真实波幅",ID:"ATR",Type:0},{Name:"DKX 多空线",ID:"DKX",Type:0},{Name:"TAPI 加权指数成交值",ID:"TAPI",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"SMACD 单线平滑异同平均线",ID:"SMACD",Type:0},{Name:"QACD 快速异同平均",ID:"QACD",Type:0},{Name:"VPT 量价曲线",ID:"VPT",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"DBQR 对比强弱",ID:"DBQR",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"JS 加速线",ID:"JS",Type:0},{Name:"CYE 市场趋势",ID:"CYE",Type:0},{Name:"QR 强弱指标",ID:"QR",Type:0},{Name:"GDX 轨道线",ID:"GDX",Type:0},{Name:"JLHB 绝路航标",ID:"JLHB",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0},{Name:"VOL-TDX 成交量(虚拟)",ID:"VOL-TDX",Type:0},{Name:"AMO 成交金额",ID:"AMO",Type:0},{Name:"AMO-TDX 成交金额(虚拟)",ID:"AMO-TDX",Type:0},{Name:"VRSI 相对强弱量",ID:"VRSI",Type:0},{Name:"HSCOL 换手柱",ID:"HSCOL",Type:0},{Name:"DBQRV 对比强弱量",ID:"DBQRV",Type:0},{Name:"DBLB 对比量比",ID:"DBLB",Type:0},{Name:"WSBVOL 维斯波成交量",ID:"WSBVOL",Type:0},{Name:"CCYD 持仓异动(适用于期货)",ID:"CCYD",Type:0},{Name:"CCL 持仓量(适用于期货)",ID:"CCL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"MA4 4根均线",ID:"MA4",Type:0},{Name:"MA5 5根均线",ID:"MA5",Type:0},{Name:"MA7 6根均线",ID:"MA6",Type:0},{Name:"MA7 7根均线",ID:"MA7",Type:0},{Name:"MA8 8根均线",ID:"MA8",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0},{Name:"ACD 升降线",ID:"ACD",Type:0},{Name:"EXPMA 指数平均线",ID:"EXPMA",Type:0},{Name:"EXPMA_S 指数平均线-副图",ID:"EXPMA_S",Type:0},{Name:"HMA 高价平均线",ID:"HMA",Type:0},{Name:"LMA 低价平均线",ID:"LMA",Type:0},{Name:"VMA 变异平均线",ID:"VMA",Type:0},{Name:"AMV 成本价均线",ID:"AMV",Type:0},{Name:"BBIBOLL 多空布林线",ID:"BBIBOLL",Type:0},{Name:"ALLIGAT 鳄鱼线",ID:"ALLIGAT",Type:0},{Name:"GMMA 顾比均线",ID:"GMMA",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL 布林线-副图",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0},{Name:"PBX 瀑布线",ID:"PBX",Type:0},{Name:"XS 薛斯通道",ID:"XS",Type:0},{Name:"XS2 薛斯通道II",ID:"XS2",Type:0},{Name:"DC 唐奇安通道",ID:"DC",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0},{Name:"PCNT 幅度比",ID:"PCNT",Type:0}]},{Group:{ID:"大势型",Name:"大势型"},AryIndex:[{Name:"ABI 绝对广量指标",ID:"ABI",Type:0},{Name:"ADL 腾落指标",ID:"ADL",Type:0}]},{Group:{ID:"五彩K线",Name:"五彩K线"},AryIndex:[{Name:"五彩K线-十字星",ID:"五彩K线-十字星",Type:5},{Name:"五彩K线-早晨之星",ID:"五彩K线-早晨之星",Type:5},{Name:"五彩K线-黄昏之星",ID:"五彩K线-黄昏之星",Type:5},{Name:"五彩K线-长十字",ID:"五彩K线-长十字",Type:5},{Name:"五彩K线-身怀六甲",ID:"五彩K线-身怀六甲",Type:5},{Name:"五彩K线-三个白武士",ID:"五彩K线-三个白武士",Type:5},{Name:"五彩K线-三只乌鸦",ID:"五彩K线-三只乌鸦",Type:5},{Name:"五彩K线-光头阳线",ID:"五彩K线-光头阳线",Type:5},{Name:"五彩K线-光脚阴线",ID:"五彩K线-光脚阴线线",Type:5},{Name:"五彩K线-垂死十字",ID:"五彩K线-垂死十字",Type:5},{Name:"五彩K线-早晨十字星",ID:"五彩K线-早晨十字星",Type:5},{Name:"五彩K线-黄昏十字星",ID:"五彩K线-黄昏十字星",Type:5},{Name:"五彩K线-射击之星",ID:"五彩K线-射击之星",Type:5},{Name:"五彩K线-倒转锤头",ID:"五彩K线-倒转锤头",Type:5},{Name:"五彩K线-锤头",ID:"五彩K线-锤头",Type:5},{Name:"五彩K线-吊颈",ID:"五彩K线-吊颈星",Type:5},{Name:"五彩K线-穿头破脚",ID:"五彩K线-穿头破脚",Type:5},{Name:"五彩K线-出水芙蓉",ID:"五彩K线-出水芙蓉",Type:5},{Name:"五彩K线-乌云盖顶",ID:"五彩K线-乌云盖顶",Type:5},{Name:"五彩K线-曙光初现",ID:"五彩K线-曙光初现",Type:5},{Name:"五彩K线-十字胎",ID:"五彩K线-十字胎",Type:5},{Name:"五彩K线-剑",ID:"五彩K线-剑",Type:5},{Name:"五彩K线-平顶",ID:"五彩K线-平顶",Type:5},{Name:"五彩K线-平底",ID:"五彩K线-平底",Type:5},{Name:"五彩K线-大阳烛",ID:"五彩K线-大阳烛",Type:5},{Name:"五彩K线-大阴烛",ID:"五彩K线-大阴烛",Type:5},{Name:"五彩K线-好友反攻",ID:"五彩K线-好友反攻",Type:5},{Name:"五彩K线-跳空缺口",ID:"五彩K线-跳空缺口",Type:5},{Name:"五彩K线-双飞乌鸦",ID:"五彩K线-双飞乌鸦",Type:5},{Name:"五彩K线-上升三部曲",ID:"五彩K线-上升三部曲",Type:5},{Name:"五彩K线-下跌三部曲",ID:"五彩K线-下跌三部曲",Type:5},{Name:"五彩K线-长下影",ID:"五彩K线-长下影",Type:5},{Name:"五彩K线-长上影",ID:"五彩K线-长上影",Type:5},{Name:"五彩K线-分离",ID:"五彩K线-分离",Type:5}]},{Group:{ID:"交易系统",Name:"交易系统"},AryIndex:[{Name:"交易系统-BIAS",ID:"交易系统-BIAS",Type:4},{Name:"交易系统-CCI",ID:"交易系统-CCI",Type:4},{Name:"交易系统-DMI",ID:"交易系统-DMI",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-BOLL",ID:"交易系统-BOLL",Type:4},{Name:"交易系统-KDJ",ID:"交易系统-KDJ",Type:4},{Name:"交易系统-MACD",ID:"交易系统-MACD",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-MTM",ID:"交易系统-MTM",Type:4},{Name:"交易系统-PSY",ID:"交易系统-PSY",Type:4},{Name:"交易系统-ROC",ID:"交易系统-ROC",Type:4},{Name:"交易系统-RSI",ID:"交易系统-RSI",Type:4},{Name:"交易系统-VR",ID:"交易系统-VR",Type:4},{Name:"交易系统-DPSJ",ID:"交易系统-DPSJ",Type:4}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"API-DRAWTEXTREL",Type:2,Args:null},{Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Script:"均价:(H+L)/2;高:H;低:L;",Args:[{Name:'N',Value:20},{Name:'M',Value:6}]},{Name:"指标异常(后台指标)",ID:"API_ERRORMESSAGE",Type:2,Args:null}]},{Group:{ID:"付费指标",Name:"付费指标"},AryIndex:[{Name:"面积图(后台指标)",ID:"API-DRAWBAND",Type:2,Args:null,IsAuthorization:true},{Name:"波段量能跟庄-波段量能",ID:"TEST_INDEX_4AE0_1",Type:0,IsAuthorization:true},{Name:"飞龙八级进-主图",ID:"TEST_INDEX_4AE0_2",Type:0,IsAuthorization:true}]},{Group:{ID:"组合指标",Name:"组合指标"},AryIndex:[{Name:"BOLL+ENE+KDJ",ID:"9E154D3C-A4D4-40DD-8D8F-2C499F35E31B",Type:3,TemplateData:{Windows:[{Index:"BOLL"},{Index:"ENE"},{Index:"KDJ"}]}},{Name:"MA_OSC+DPO_RSI",ID:"E828DD1C-D41B-4888-9CB5-4CA1D84F7B50",Type:3,TemplateData:{Windows:[//{ API:{ Name:"后台指标ID", ID:"后台指标ID", Url:'local' } },
15835
15849
  {Index:'MA'},{Index:"DPO"}],OverlayIndex://叠加指标设置
15836
15850
  [{Index:'OSC',Windows:0//IsShareY:true,ShowRightText:false
15837
15851
  },{Index:'RSI',Windows:1//ShowRightText:false
@@ -15845,22 +15859,22 @@ this.EnableRestoreParam=true;//是否允许“恢复默认"
15845
15859
  this.RestoreFocusDelay=800;this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;if(IFrameSplitOperator.IsBool(option.EnableRestoreParam))this.EnableRestoreParam=option.EnableRestoreParam;}};this.Destroy=function(){this.AryData=[];this.HQChart=null;if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Show=function(x,y){if(!this.DivDialog)return;if(this.HQChart)this.HQChart.ClearRestoreFocusTimer();this.UpdateParam();if(this.IndexData&&this.IndexData.Title)this.TitleBox.DivName.innerText=this.IndexData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
15846
15860
  {var rtClient=this.HQChart.UIElement.getBoundingClientRect();var scrollPos=GetScrollPosition();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2+scrollPos.Top;}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.OnClickColseButton=function(e){//this.RestoreParam(); //还原参数
15847
15861
  this.Close(e);};this.OnClickRestoreButton=function(e){var aryText=this.Arguments;if(!aryText)aryText=[];this.UpdateParamTable(aryText);this.RestoreParam();};this.OnClickOkButton=function(e){this.Close(e);};this.Close=function(e){this.IndexData=null;this.Arguments=[];if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.SetIndexData=function(data){this.IndexData=data;this.GetDefaultParam();//this.BackupParam();
15848
- };this.OnMouseDownTitle=function(e){var _this115=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this115.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this115.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Create=function(){var _this116=this;var divDom=document.createElement("div");divDom.className='UMyChart_ModifyIndexParam_Dialog_Div';//对话框标题栏
15849
- var divTitle=document.createElement("div");divTitle.className='UMyChart_ModifyIndexParam_Title_Div';divTitle.onmousedown=function(e){_this116.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_ModifyIndexParam_Name_Div';divName.innerText="指标参数修改";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_ModifyIndexParam_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this116.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
15862
+ };this.OnMouseDownTitle=function(e){var _this116=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this116.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this116.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;var scrollPos=GetScrollPosition();if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight+scrollPos.Top)top=window.innerHeight-this.DivDialog.offsetHeight-5+scrollPos.Top;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Create=function(){var _this117=this;var divDom=document.createElement("div");divDom.className='UMyChart_ModifyIndexParam_Dialog_Div';//对话框标题栏
15863
+ var divTitle=document.createElement("div");divTitle.className='UMyChart_ModifyIndexParam_Title_Div';divTitle.onmousedown=function(e){_this117.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_ModifyIndexParam_Name_Div';divName.innerText="指标参数修改";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_ModifyIndexParam_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this117.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
15850
15864
  var divFrame=document.createElement("div");divFrame.className="UMyChart_ModifyIndexParam_Frome_Div";divDom.appendChild(divFrame);//表格
15851
15865
  var divTable=document.createElement("div");divTable.className='UMyChart_ModifyIndexParam_Table_Div';divFrame.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_ModifyIndexParam_Table";divTable.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_ModifyIndexParam_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem=this.CreateRowDOM(i,tbody);this.AryData.push(rowItem);}var divButton=document.createElement("div");divButton.className='UMyChart_ModifyIndexParam_Button_Div';divFrame.appendChild(divButton);if(this.EnableRestoreParam){var btnRestore=document.createElement("button");//btnRestore.className="UMyChart_ModifyIndexParam_button";
15852
- btnRestore.innerText="恢复默认";btnRestore.addEventListener("mousedown",function(e){_this116.OnClickRestoreButton(e);});divButton.appendChild(btnRestore);}/*
15866
+ btnRestore.innerText="恢复默认";btnRestore.addEventListener("mousedown",function(e){_this117.OnClickRestoreButton(e);});divButton.appendChild(btnRestore);}/*
15853
15867
  var btnOk=document.createElement("button");
15854
15868
  //btnOk.className="UMyChart_ModifyIndexParam_button";
15855
15869
  btnOk.innerText="确认";
15856
15870
  btnOk.addEventListener("mousedown", (e)=>{ this.OnClickOkButton(e); })
15857
15871
  divButton.appendChild(btnOk);
15858
15872
  */var btnOk=document.createElement("button");//btnOk.className="UMyChart_ModifyIndexParam_button";
15859
- btnOk.innerText="关闭";btnOk.addEventListener("mousedown",function(e){_this116.Close(e);});divButton.appendChild(btnOk);document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateRowDOM=function(index,tbody){var _this117=this;var rowItem={Tr:null,TdName:null,SpanName:null,TdValue:null,Input:null,ParamItem:null};var trDom=document.createElement("tr");trDom.className='UMyChart_ModifyIndexParam_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Name_Td";//指标名称
15873
+ btnOk.innerText="关闭";btnOk.addEventListener("mousedown",function(e){_this117.Close(e);});divButton.appendChild(btnOk);document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateRowDOM=function(index,tbody){var _this118=this;var rowItem={Tr:null,TdName:null,SpanName:null,TdValue:null,Input:null,ParamItem:null};var trDom=document.createElement("tr");trDom.className='UMyChart_ModifyIndexParam_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Name_Td";//指标名称
15860
15874
  trDom.appendChild(tdDom);rowItem.TdName=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_ModifyIndexParam_Name_Span';spanDom.innerText='参数';tdDom.appendChild(spanDom);rowItem.SpanName=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Value_Td";//指标名称
15861
15875
  trDom.appendChild(tdDom);rowItem.TdValue=tdDom;var input=document.createElement("input");input.className='UMyChart_ModifyIndexParam_Input';input.type="number";input.step=1;//input.addEventListener("mouseup", (e)=>{ this.OnParamMouseUp(e)});
15862
15876
  //input.addEventListener("keyup", (e)=>{ this.OnParamKeyUp(e)} );
15863
- input.addEventListener("input",function(e){_this117.OnParamInput(e);});tdDom.appendChild(input);rowItem.Input=input;return rowItem;};this.UpdateStyle=function(){};this.UpdateParamTable=function(aryText){var index=0;for(index=0;index<aryText.length&&index<this.AryData.length;++index){var item=aryText[index];var row=this.AryData[index];row.SpanName.innerText=item.Name+': ';row.Input.value=item.Value;row.Input.dataset.paramid=item.Index;if(row.Tr.style.display=="none")row.Tr.style.display="";}for(;index<this.AryData.length;++index){var row=this.AryData[index];row.Tr.style.display="none";row.Input.dataset.paramid=-1;}};this.UpdateParam=function(){var aryText=[];var indexScript=this.IndexData.IndexScript;if(indexScript&&IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];aryText.push({Name:item.Name,Value:item.Value,Index:i});}}this.UpdateParamTable(aryText);};this.RestoreParam=function(){if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(!IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Arguments))return;var bUpdate=false;for(var i=0;i<this.Arguments.length;++i){var oldItem=this.Arguments[i];var item=indexScript.Arguments[i];if(oldItem.Value!=item.Value){item.Value=oldItem.Value;bUpdate=true;}}if(!bUpdate)return;if(this.IndexData.Type==1)this.HQChart.UpdateWindowIndex(this.IndexData.WindowIndex);else if(this.IndexData.Type==2)this.HQChart.UpdateOverlayIndex(this.IndexData.Identify);};this.BackupParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};this.GetDefaultParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;var args=[];if(indexScript.ID){var scriptData=new JSIndexScript();var indexInfo=scriptData.Get(indexScript.ID);if(indexInfo)args=indexInfo.Args;}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.GET_DEFAULT_INDEX_PARAM);if(event&&event.Callback){var sendData={IndexData:this.IndexData,Args:args.slice(),PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return;args=sendData.Args;}if(IFrameSplitOperator.IsNonEmptyArray(args)){for(var i=0;i<args.length;++i){var item=args[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};/*
15877
+ input.addEventListener("input",function(e){_this118.OnParamInput(e);});tdDom.appendChild(input);rowItem.Input=input;return rowItem;};this.UpdateStyle=function(){};this.UpdateParamTable=function(aryText){var index=0;for(index=0;index<aryText.length&&index<this.AryData.length;++index){var item=aryText[index];var row=this.AryData[index];row.SpanName.innerText=item.Name+': ';row.Input.value=item.Value;row.Input.dataset.paramid=item.Index;if(row.Tr.style.display=="none")row.Tr.style.display="";}for(;index<this.AryData.length;++index){var row=this.AryData[index];row.Tr.style.display="none";row.Input.dataset.paramid=-1;}};this.UpdateParam=function(){var aryText=[];var indexScript=this.IndexData.IndexScript;if(indexScript&&IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];aryText.push({Name:item.Name,Value:item.Value,Index:i});}}this.UpdateParamTable(aryText);};this.RestoreParam=function(){if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(!IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Arguments))return;var bUpdate=false;for(var i=0;i<this.Arguments.length;++i){var oldItem=this.Arguments[i];var item=indexScript.Arguments[i];if(oldItem.Value!=item.Value){item.Value=oldItem.Value;bUpdate=true;}}if(!bUpdate)return;if(this.IndexData.Type==1)this.HQChart.UpdateWindowIndex(this.IndexData.WindowIndex);else if(this.IndexData.Type==2)this.HQChart.UpdateOverlayIndex(this.IndexData.Identify);};this.BackupParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};this.GetDefaultParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;var args=[];if(indexScript.ID){var scriptData=new JSIndexScript();var indexInfo=scriptData.Get(indexScript.ID);if(indexInfo)args=indexInfo.Args;}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.GET_DEFAULT_INDEX_PARAM);if(event&&event.Callback){var sendData={IndexData:this.IndexData,Args:args.slice(),PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return;args=sendData.Args;}if(IFrameSplitOperator.IsNonEmptyArray(args)){for(var i=0;i<args.length;++i){var item=args[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};/*
15864
15878
  this.OnParamMouseUp=function(e)
15865
15879
  {
15866
15880
  var input=e.target;
@@ -15892,8 +15906,8 @@ Script:TEST_INDEX_4AE0_2});JSIndexScript.AddIndex(aryIndex);}AddTestSystemIndex(
15892
15906
  //
15893
15907
  //////////////////////////////////////////////////////////////////////////////////
15894
15908
  function HQChartScriptWorker(){this.Status=0;//0=空闲 1=运行
15895
- this.Create=function(){var _this118=this;addEventListener('message',function(obj){_this118.OnRecvMessage(obj);});};this.NetworkFilter=function(data,callback,indexInfo){JSConsole.Complier.Log('[HQChartScriptWorker::NetworkFilter] ['+data.Name+']['+data.Explain+'] data=',data);//数据下载
15896
- };this.ExecuteScript=function(indexData,message){var _this119=this;var scriptObj={};if(indexData.Script){scriptObj.Name=indexData.Name;scriptObj.ID=indexData.Index;scriptObj.Script=indexData.Script;}else{if(!indexData.Index)return false;var scriptData=new JSIndexScript();var finder=scriptData.Get(indexData.Index);if(!finder)return false;scriptObj.ID=indexData.Index;scriptObj.Name=finder.Name;scriptObj.Script=finder.Script;scriptObj.Args=finder.Args;}if(indexData.Args)scriptObj.Args=indexData.Args;if(IFrameSplitOperator.IsBool(message.IsApiPeriod))scriptObj.IsApiPeriod=message.IsApiPeriod;var indexInfo={Name:scriptObj.Name,ID:scriptObj.ID,Script:scriptObj.Script,Args:scriptObj.Args,Guid:message.Guid};scriptObj.ErrorCallback=function(error){_this119.OnExecuteError(error,indexInfo,message);};scriptObj.FinishCallback=function(data,jsExectute){_this119.OnExecuteFinish(data,indexInfo,jsExectute,message);};scriptObj.NetworkFilter=function(data,callback){_this119.NetworkFilter(data,callback,indexInfo,message);};JSConsole.Complier.Log('[HQChartScriptWorker::ExecuteScript] scriptObj=',scriptObj);var indexConsole=new ScriptIndexConsole(scriptObj);var hisData=null;if(message&&message.Data){hisData=new ChartData();hisData.Data=message.Data;hisData.Right=message.Right;hisData.Period=message.Period;hisData.DataType=message.DataType;//0=日线 1=分钟
15909
+ this.Create=function(){var _this119=this;addEventListener('message',function(obj){_this119.OnRecvMessage(obj);});};this.NetworkFilter=function(data,callback,indexInfo){JSConsole.Complier.Log('[HQChartScriptWorker::NetworkFilter] ['+data.Name+']['+data.Explain+'] data=',data);//数据下载
15910
+ };this.ExecuteScript=function(indexData,message){var _this120=this;var scriptObj={};if(indexData.Script){scriptObj.Name=indexData.Name;scriptObj.ID=indexData.Index;scriptObj.Script=indexData.Script;}else{if(!indexData.Index)return false;var scriptData=new JSIndexScript();var finder=scriptData.Get(indexData.Index);if(!finder)return false;scriptObj.ID=indexData.Index;scriptObj.Name=finder.Name;scriptObj.Script=finder.Script;scriptObj.Args=finder.Args;}if(indexData.Args)scriptObj.Args=indexData.Args;if(IFrameSplitOperator.IsBool(message.IsApiPeriod))scriptObj.IsApiPeriod=message.IsApiPeriod;var indexInfo={Name:scriptObj.Name,ID:scriptObj.ID,Script:scriptObj.Script,Args:scriptObj.Args,Guid:message.Guid};scriptObj.ErrorCallback=function(error){_this120.OnExecuteError(error,indexInfo,message);};scriptObj.FinishCallback=function(data,jsExectute){_this120.OnExecuteFinish(data,indexInfo,jsExectute,message);};scriptObj.NetworkFilter=function(data,callback){_this120.NetworkFilter(data,callback,indexInfo,message);};JSConsole.Complier.Log('[HQChartScriptWorker::ExecuteScript] scriptObj=',scriptObj);var indexConsole=new ScriptIndexConsole(scriptObj);var hisData=null;if(message&&message.Data){hisData=new ChartData();hisData.Data=message.Data;hisData.Right=message.Right;hisData.Period=message.Period;hisData.DataType=message.DataType;//0=日线 1=分钟
15897
15911
  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.Status=1;//执行状态
15898
15912
  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);};}/*
15899
15913
  Copyright (c) 2018 jones
@@ -15912,7 +15926,7 @@ this.ResizeListener;//大小变动监听
15912
15926
  this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsstatusbar-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSStatusBarChart::JSStatusBarChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
15913
15927
  var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15914
15928
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStatusBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSStatusBarChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
15915
- if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);chart.Draw();chart.RequestData();};this.CreateResizeListener=function(){var _this120=this;this.ResizeListener=new ResizeObserver(function(entries){_this120.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStatusBarChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSStatusBarChartContainer=function(option){var chart=new JSStatusBarChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
15929
+ if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);chart.Draw();chart.RequestData();};this.CreateResizeListener=function(){var _this121=this;this.ResizeListener=new ResizeObserver(function(entries){_this121.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStatusBarChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSStatusBarChartContainer=function(option){var chart=new JSStatusBarChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
15916
15930
  if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
15917
15931
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
15918
15932
  chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};//事件回调
@@ -15933,21 +15947,21 @@ this.ChartDestroy=function()//销毁
15933
15947
  {this.IsDestroy=true;this.StopAutoUpdate();if(this.ToolbarTimer){clearInterval(this.ToolbarTimer);this.ToolbarTimer=null;}this.DestroyMinuteChartTooltip();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};//设置事件回调
15934
15948
  //{event:事件id, callback:回调函数}
15935
15949
  this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
15936
- {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.MapSymbol=new _map2.default();};this.RequestData=function(option){var _this121=this;this.CancelAutoUpdate();this.ClearData();if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.Column))this.SetColumn(option.Column);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this121.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
15937
- return;_this121.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
15938
- {if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this122=this;if(!this.NetworkFilter)return;var chart=this.ChartPaint[0];if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(chart.Column))return;var arySymbol=[];for(var i=0;i<chart.Column.length;++i){var item=chart.Column[i];var newItem={Symbol:item.Symbol,Fields:[]};arySymbol.push(newItem);}var obj={Name:'JSStatusBarChartContainer::RequestStockData',//类名::函数名
15939
- Explain:'工具栏股票数据',Request:{Data:{stocks:arySymbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this122.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
15950
+ {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.MapSymbol=new _map2.default();};this.RequestData=function(option){var _this122=this;this.CancelAutoUpdate();this.ClearData();if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.Column))this.SetColumn(option.Column);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this122.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
15951
+ return;_this122.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
15952
+ {if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this123=this;if(!this.NetworkFilter)return;var chart=this.ChartPaint[0];if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(chart.Column))return;var arySymbol=[];for(var i=0;i<chart.Column.length;++i){var item=chart.Column[i];var newItem={Symbol:item.Symbol,Fields:[]};arySymbol.push(newItem);}var obj={Name:'JSStatusBarChartContainer::RequestStockData',//类名::函数名
15953
+ Explain:'工具栏股票数据',Request:{Data:{stocks:arySymbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this123.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
15940
15954
  };this.RecvStockData=function(recv){if(!recv)return;if(!IFrameSplitOperator.IsNonEmptyArray(recv.data))return;for(var i=0;i<recv.data.length;++i){var item=recv.data[i];if(!item.Symbol)continue;var stockItem=null;if(this.Data.MapSymbol.has(item.Symbol)){stockItem=this.Data.MapSymbol.get(item.Symbol);}else{stockItem={Symbol:item.Symbol,MapData:new _map2.default()};stockItem.YClose=item.YClose;if(IFrameSplitOperator.IsNumber(item.FYClose))stockItem.YClose=item.FYClose;this.Data.MapSymbol.set(item.Symbol,stockItem);}for(var j=0;j<item.Data.length;++j){var itemData=item.Data[j];stockItem.MapData.set(itemData.Key,itemData.Value);}}if(!this.ToolbarTimer)this.Draw();};//创建
15941
- this.Create=function(option){var _this123=this;this.UIElement.JSChartContainer=this;//创建框架
15955
+ this.Create=function(option){var _this124=this;this.UIElement.JSChartContainer=this;//创建框架
15942
15956
  this.Frame=new JSStatusBarFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
15943
- var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this123.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.onmousedown=function(e){_this123.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this123.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this123.UIOnMouseOut(e);};this.UIElement.oncontextmenu=function(e){_this123.UIOnContextMenu(e);};/*
15957
+ var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this124.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.onmousedown=function(e){_this124.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this124.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this124.UIOnMouseOut(e);};this.UIElement.oncontextmenu=function(e){_this124.UIOnContextMenu(e);};/*
15944
15958
  this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
15945
15959
  this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
15946
15960
 
15947
15961
 
15948
15962
  this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
15949
15963
 
15950
- */var frequency=500;this.ToolbarTimer=setInterval(function(){_this123.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
15964
+ */var frequency=500;this.ToolbarTimer=setInterval(function(){_this124.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
15951
15965
  {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}else if(e.button==2)//右键点击
15952
15966
  {this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STATUSBAR_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
15953
15967
  {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;//var bShowKLineTooltip=false;
@@ -16031,7 +16045,7 @@ this.CanvasElement=document.createElement("canvas");this.CanvasElement.className
16031
16045
  var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
16032
16046
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStockInfoChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSStockInfoChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
16033
16047
  if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
16034
- }else{chart.Draw();}};this.CreateResizeListener=function(){var _this124=this;this.ResizeListener=new ResizeObserver(function(entries){_this124.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStockInfoChart::OnDivResize] entries=",entries);this.OnSize();};//切换股票代码接口
16048
+ }else{chart.Draw();}};this.CreateResizeListener=function(){var _this125=this;this.ResizeListener=new ResizeObserver(function(entries){_this125.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStockInfoChart::OnDivResize] entries=",entries);this.OnSize();};//切换股票代码接口
16035
16049
  this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.CreateJSStockInfoChartContainer=function(option){var chart=new JSStockInfoChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.HeaderColumn))chart.SetHeaderColumn(option.HeaderColumn);if(IFrameSplitOperator.IsNonEmptyArray(option.MouseOnKey))chart.SetMouseOnKey(option.MouseOnKey);//是否自动更新
16036
16050
  if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
16037
16051
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
@@ -16062,20 +16076,20 @@ this.ChartDestroy=function()//销毁
16062
16076
  this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
16063
16077
  {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.InitalPopMenu=function()//初始化弹出窗口
16064
16078
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
16065
- this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this125=this;this.CancelAutoUpdate();this.ClearData();this.ChartClearMouseOnData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this125.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
16066
- return;_this125.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
16067
- {if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this126=this;if(this.NetworkFilter){var obj={Name:'JSStockInfoChartContainer::RequestStockData',//类名::函数名
16068
- Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this126.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
16079
+ this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this126=this;this.CancelAutoUpdate();this.ClearData();this.ChartClearMouseOnData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this126.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
16080
+ return;_this126.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
16081
+ {if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this127=this;if(this.NetworkFilter){var obj={Name:'JSStockInfoChartContainer::RequestStockData',//类名::函数名
16082
+ Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this127.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
16069
16083
  }};this.RecvStockData=function(recv){if(!recv)return;if(recv.name)this.Data.Name=recv.Name;if(IFrameSplitOperator.IsNumber(recv.yclose))this.Data.YClose=recv.yclose;if(IFrameSplitOperator.IsNumber(recv.yfclose))this.Data.YFClose=recv.yfclose;if(recv.name)this.Data.Name=recv.name;if(IFrameSplitOperator.IsNonEmptyArray(recv.data)){for(var i=0;i<recv.data.length;++i){var item=recv.data[i];if(item.Name=="Buys"){if(IFrameSplitOperator.IsNonEmptyArray(item.Value)){for(var j=0;j<item.Value.length&&j<this.Data.Buys.length;++j){var srcItem=item.Value[j];var destItem=this.Data.Buys[j];destItem.Price=srcItem.Price;destItem.Vol=srcItem.Vol;}}}else if(item.Name=="Sells"){if(IFrameSplitOperator.IsNonEmptyArray(item.Value)){for(var j=0;j<item.Value.length&&j<this.Data.Sells.length;++j){var srcItem=item.Value[j];var destItem=this.Data.Sells[j];destItem.Price=srcItem.Price;destItem.Vol=srcItem.Vol;}}}else if(item.Name=="Symbol"){this.Data.Symbol=item.Value.Text;}else{this.Data.MapData.set(item.Name,item.Value);}}}this.Draw();};//创建
16070
- this.Create=function(option){var _this127=this;this.UIElement.JSChartContainer=this;//创建框架
16084
+ this.Create=function(option){var _this128=this;this.UIElement.JSChartContainer=this;//创建框架
16071
16085
  this.Frame=new JSStockInfoFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
16072
- var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this127.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.oncontextmenu=function(e){_this127.UIOnContextMenu(e);};this.UIElement.onmousedown=function(e){_this127.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this127.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this127.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this127.UIOnMouseleave(e);};/*
16086
+ var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this128.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.oncontextmenu=function(e){_this128.UIOnContextMenu(e);};this.UIElement.onmousedown=function(e){_this128.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this128.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this128.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this128.UIOnMouseleave(e);};/*
16073
16087
  this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
16074
16088
 
16075
16089
  */};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
16076
16090
  {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STOCKINFO_ITEM,ptClick,e);}else if(e.button==2)//右键点击
16077
16091
  {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STOCKINFO_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
16078
- {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var _this128=this;if(!this.JSPopMenu)return;var pixelTatio=GetDevicePixelRatio();var toolTip=new TooltipData();var data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x*pixelTatio,y*pixelTatio,toolTip)){if(toolTip.Data){data={Cell:toolTip.Data};break;}}}if(!data)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this128.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
16092
+ {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var _this129=this;if(!this.JSPopMenu)return;var pixelTatio=GetDevicePixelRatio();var toolTip=new TooltipData();var data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x*pixelTatio,y*pixelTatio,toolTip)){if(toolTip.Data){data={Cell:toolTip.Data};break;}}}if(!data)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this129.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
16079
16093
  this.PopupMenuByRClick=function(menuData,x,y){if(!this.JSPopMenu)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//点击右键菜单
16080
16094
  this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSStockInfoChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
16081
16095
  var aryArgs=data.Data.Args;//参数
@@ -16132,7 +16146,7 @@ this.ResizeListener;//大小变动监听
16132
16146
  this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsscrolltext-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSScrollTextChart::JSScrollTextChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
16133
16147
  var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
16134
16148
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStatusBarChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSScrollTextChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
16135
- if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();chart.StartScroll();return true;};this.CreateResizeListener=function(){var _this129=this;this.ResizeListener=new ResizeObserver(function(entries){_this129.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollTextChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSScrollTextChartContainer=function(option){var chart=new JSScrollTextChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
16149
+ if(option.EnableResize==true)this.CreateResizeListener();chart.Draw();chart.StartScroll();return true;};this.CreateResizeListener=function(){var _this130=this;this.ResizeListener=new ResizeObserver(function(entries){_this130.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSScrollTextChart::OnDivResize] entries=",entries);this.OnSize();};this.CreateJSScrollTextChartContainer=function(option){var chart=new JSScrollTextChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(option.RightToolbar)chart.SetRightToolbar(option.RightToolbar);//是否自动更新
16136
16150
  if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
16137
16151
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};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;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
16138
16152
  chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};//事件回调
@@ -16162,20 +16176,20 @@ this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID valu
16162
16176
  this.UIElement=uielement;this.IsDestroy=false;//是否已经销毁了
16163
16177
  this.ScrollTimer=null;//滚动定时器
16164
16178
  this.ChartDestroy=function()//销毁
16165
- {this.IsDestroy=true;this.StopScroll();};this.StopScroll=function(){if(this.ScrollTimer){clearInterval(this.ScrollTimer);this.ScrollTimer=null;}};this.StartScroll=function(){var _this130=this;if(this.ScrollTimer)return;this.ScrollTimer=setInterval(function(){_this130.ScrollStep();},100);};this.ClearData=function(){this.Data.AryText=[];};this.AddText=function(aryData,option){if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var bDraw=false;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.Data.AryText.push(item);}if(option){if(option.Draw===true)bDraw=true;}if(bDraw)this.Draw();};//设置事件回调
16179
+ {this.IsDestroy=true;this.StopScroll();};this.StopScroll=function(){if(this.ScrollTimer){clearInterval(this.ScrollTimer);this.ScrollTimer=null;}};this.StartScroll=function(){var _this131=this;if(this.ScrollTimer)return;this.ScrollTimer=setInterval(function(){_this131.ScrollStep();},100);};this.ClearData=function(){this.Data.AryText=[];};this.AddText=function(aryData,option){if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var bDraw=false;for(var i=0;i<aryData.length;++i){var item=aryData[i];this.Data.AryText.push(item);}if(option){if(option.Draw===true)bDraw=true;}if(bDraw)this.Draw();};//设置事件回调
16166
16180
  //{event:事件id, callback:回调函数}
16167
16181
  this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
16168
16182
  {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.ClearData=function(){this.Data.AryText=[];};//创建
16169
- this.Create=function(option){var _this131=this;this.UIElement.JSChartContainer=this;//创建框架
16183
+ this.Create=function(option){var _this132=this;this.UIElement.JSChartContainer=this;//创建框架
16170
16184
  this.Frame=new JSScrollTextFrame();this.Frame.ChartBorder=new ChartBorder();this.Frame.ChartBorder.UIElement=this.UIElement;this.Frame.ChartBorder.Top=30;this.Frame.ChartBorder.Left=5;this.Frame.ChartBorder.Bottom=20;this.Frame.Canvas=this.Canvas;//创建表格
16171
- var chart=new ChartScrollText();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this131.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsNumber(option.LimitCount))chart.LimitCount=option.LimitCount;if(option.Label){var item=option.Label;if(IFrameSplitOperator.IsString(item.Text))chart.Label.Text=item.Text;if(IFrameSplitOperator.IsBool(item.IsShow))chart.Label.IsShow=item.IsShow;}}this.UIElement.onmousedown=function(e){_this131.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this131.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this131.UIOnMouseOut(e);};this.UIElement.onmouseleave=function(e){_this131.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this131.UIOnContextMenu(e);};/*
16185
+ var chart=new ChartScrollText();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this132.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){if(IFrameSplitOperator.IsNumber(option.LimitCount))chart.LimitCount=option.LimitCount;if(option.Label){var item=option.Label;if(IFrameSplitOperator.IsString(item.Text))chart.Label.Text=item.Text;if(IFrameSplitOperator.IsBool(item.IsShow))chart.Label.IsShow=item.IsShow;}}this.UIElement.onmousedown=function(e){_this132.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this132.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this132.UIOnMouseOut(e);};this.UIElement.onmouseleave=function(e){_this132.UIOnMouseleave(e);};this.UIElement.oncontextmenu=function(e){_this132.UIOnContextMenu(e);};/*
16172
16186
  this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
16173
16187
  this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
16174
16188
 
16175
16189
 
16176
16190
  this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
16177
16191
 
16178
- */var frequency=500;this.ToolbarTimer=setInterval(function(){_this131.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
16192
+ */var frequency=500;this.ToolbarTimer=setInterval(function(){_this132.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
16179
16193
  {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_SCROLL_TEXT_ITEM,ptClick,e);}else if(e.button==2)//右键点击
16180
16194
  {this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_SCROLL_TEXT_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
16181
16195
  {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.GetScrollTextChart();if(chart)chart.OnMouseMove(x,y,e);};this.UIOnMouseOut=function(e){var chart=this.GetScrollTextChart();if(chart)chart.OnMouseOut(e);this.HideAllTooltip();};this.UIOnMouseleave=function(e){var chart=this.GetScrollTextChart();if(chart)chart.OnMouseOut(e);this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip,e:e};event.Callback(event,data,this);return true;}}}}return false;};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
@@ -16262,7 +16276,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
16262
16276
  */this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;if(this.MouseOnItem)return true;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+this.MoveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
16263
16277
  * 版本信息输出
16264
16278
  *
16265
- */var HQCHART_VERSION="1.1.15625";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();//把给外界调用的方法暴露出来
16279
+ */var HQCHART_VERSION="1.1.15634";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();//把给外界调用的方法暴露出来
16266
16280
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
16267
16281
  // BaseIndex:BaseIndex,
16268
16282
  // ChartLine:ChartLine,