hqchart 1.1.14478 → 1.1.14482

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.
@@ -55900,6 +55900,8 @@ HQData.Minute_RequestHistoryMinuteData=function(data, callback)
55900
55900
 
55901
55901
  var hqchartData={code:0, data:aryDay, name:symbol, symbol: symbol};
55902
55902
 
55903
+ //hqchartData.data[0].minute.length=45;
55904
+
55903
55905
  callback(hqchartData);
55904
55906
  }
55905
55907
 
@@ -57298,17 +57300,22 @@ HQData.GetKLineDataByDate=function(fullData, startDate, endDate)
57298
57300
  HQData.GetDayMinuteDataBySymbol=function(symbol)
57299
57301
  {
57300
57302
  var data=null;
57301
- switch(symbol)
57303
+ var upperSymbol=null;
57304
+ if (symbol) upperSymbol=symbol.toUpperCase();
57305
+ switch(upperSymbol)
57302
57306
  {
57303
- case "000001.sz":
57307
+ case "000001.SZ":
57304
57308
  data=SZ_000001_1DAY_MINUTE;
57305
57309
  break;
57306
- case "600000.sh":
57310
+ case "600000.SH":
57307
57311
  data=SH_600000_1DAY_MINUTE;
57308
57312
  break;
57309
- case "000151.sz":
57313
+ case "000151.SZ":
57310
57314
  data=SZ_000151_1DAY_MINUTE;
57311
57315
  break;
57316
+ case "IM2503.CF":
57317
+ data=CF_IM2503_1DAY_MINUTE;
57318
+ break;
57312
57319
  default:
57313
57320
  data=SZ_000151_1DAY_MINUTE;
57314
57321
  break;
@@ -57444,7 +57451,10 @@ HQData.Report_APIIndex=function(data, callback)
57444
57451
  HQData.APIIndex_MULTI_TEXT(data, callback);
57445
57452
  else if (request.Data.indexname=="API_PARTLINE")
57446
57453
  HQData.APIIndex_PARTLINE(data, callback);
57447
-
57454
+ else if (request.Data.indexname=="API_CHANNELV2")
57455
+ HQData.APIIndex_CHANNEL_V2(data, callback);
57456
+ else if (request.Data.indexname=="API_DRAWKLINE")
57457
+ HQData.APIIndex_DRAWKLINE(data, callback);
57448
57458
  }
57449
57459
 
57450
57460
 
@@ -58141,7 +58151,8 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
58141
58151
  {
58142
58152
  DrawType:'MULTI_BAR',
58143
58153
  DrawData:[]
58144
- } //绘制柱子数组
58154
+ }, //绘制柱子数组\
58155
+ IsShowTitle:false,
58145
58156
  };
58146
58157
 
58147
58158
  //第一组柱子
@@ -58159,14 +58170,15 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
58159
58170
 
58160
58171
  var point2=
58161
58172
  {
58162
- Color:'rgb(55,228,181)', //颜色
58163
- Type:1,
58173
+ Color:'rgb(55,228,181)', //颜色
58174
+ BorderColor:"rgb(255,165,0)", //边框景色
58175
+ Type:2,
58164
58176
  Name:"柱子下部",
58165
58177
  Point:
58166
58178
  [
58167
58179
  //{Date:20190916, Time: Value:15.5, Value2:0 },
58168
58180
  ],
58169
- Width:5
58181
+ Width:10
58170
58182
  };
58171
58183
 
58172
58184
  for(var i=0;i<kData.Data.length;++i)
@@ -58178,7 +58190,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
58178
58190
 
58179
58191
 
58180
58192
 
58181
- barData.Draw.DrawData.push(point);
58193
+ //barData.Draw.DrawData.push(point);
58182
58194
  barData.Draw.DrawData.push(point2);
58183
58195
 
58184
58196
  var apiData=
@@ -58292,6 +58304,108 @@ HQData.APIIndex_PARTLINE=function(data, callback)
58292
58304
  }
58293
58305
 
58294
58306
 
58307
+ HQData.APIIndex_CHANNEL_V2=function(data, callback)
58308
+ {
58309
+ data.PreventDefault=true;
58310
+ var hqchart=data.HQChart;
58311
+ var kData=hqchart.GetKData();
58312
+
58313
+ var channelData=
58314
+ {
58315
+ name:'通道示例', type:1,
58316
+ Draw:
58317
+ {
58318
+ DrawType:'JS_CHART_CHANNEL_V2',
58319
+ DrawData:
58320
+ {
58321
+ AryData:[]
58322
+ }
58323
+ }
58324
+ };
58325
+
58326
+ var aryTestData=kData.GetCloseMA(10);
58327
+ var ARRAY_COLOR=["rgb(0, 0 ,255)", "rgb(255,0,255)", "rgb(255,165,0)"];
58328
+ var colorIndex=0;
58329
+ for(var i=20;i<kData.Data.length;++i)
58330
+ {
58331
+ var index=i%15;
58332
+ var kItem=kData.Data[i];
58333
+ var value=aryTestData[i];
58334
+ var value2=value*1.03;
58335
+ var item={ Date:kItem.Date, Time:kItem.Time, Value: value, Value2:value2 };
58336
+ //var item={ Date:kItem.Date, Time:kItem.Time, Value: kItem.Close*(1.05), Value2:kItem.Close };
58337
+
58338
+ item.Color=ARRAY_COLOR[colorIndex%ARRAY_COLOR.length];
58339
+ channelData.Draw.DrawData.AryData.push(item);
58340
+
58341
+ if (index==0 && i>0) ++colorIndex;
58342
+ }
58343
+
58344
+ var apiData=
58345
+ {
58346
+ code:0,
58347
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
58348
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[channelData] }
58349
+ };
58350
+
58351
+ console.log('[HQData.APIIndex_CHANNEL_V2] apiData ', apiData);
58352
+ callback(apiData);
58353
+ }
58354
+
58355
+
58356
+ HQData.APIIndex_DRAWKLINE=function(data, callback)
58357
+ {
58358
+ data.PreventDefault=true;
58359
+ var hqchart=data.HQChart;
58360
+ var kData=hqchart.GetKData();
58361
+
58362
+ var klineData=
58363
+ {
58364
+ name:"DRAWKLINE", type:1,
58365
+ Draw:
58366
+ {
58367
+ Name:"DRAWKLINE",
58368
+ DrawType:"DRAWKLINE",
58369
+ DrawData:[],
58370
+ Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
58371
+ }
58372
+ };
58373
+
58374
+ var aryDate=[];
58375
+ var aryTime=[];
58376
+ for(var i=100;i<kData.Data.length-100;++i)
58377
+ {
58378
+ var kItem=kData.Data[i];
58379
+ var newItem=
58380
+ {
58381
+ YClose:kItem.YClose,
58382
+ Open:kItem.Open,
58383
+ High:kItem.High,
58384
+ Low:kItem.Low,
58385
+ Close:kItem.Close,
58386
+ Date:kItem.Date,
58387
+ Time:kItem.Time,
58388
+ Vol:kItem.Vol,
58389
+ };
58390
+
58391
+ klineData.Draw.DrawData.push(newItem);
58392
+
58393
+ aryDate.push(kItem.Date);
58394
+ aryTime.push(kItem.Time)
58395
+ }
58396
+
58397
+ var apiData=
58398
+ {
58399
+ code:0,
58400
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
58401
+ outdata: { date:aryDate, time:aryTime, outvar:[klineData] }
58402
+ };
58403
+
58404
+ console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
58405
+ callback(apiData);
58406
+ }
58407
+
58408
+
58295
58409
 
58296
58410
 
58297
58411
  /*暴露外部用的方法*/
@@ -6664,6 +6664,11 @@ var JSCHART_EVENT_ID=
6664
6664
  SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
6665
6665
 
6666
6666
  ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
6667
+
6668
+
6669
+ ON_CLICK_DEAL_ROW:165,
6670
+ ON_RCLICK_DEAL_ROW:166,
6671
+ ON_DBCLICK_DEAL_ROW:167,
6667
6672
  }
6668
6673
 
6669
6674
  var JSCHART_OPERATOR_ID=
@@ -29252,7 +29257,7 @@ function IChartPainting()
29252
29257
  for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
29253
29258
  {
29254
29259
  var data=this.Data.Data[i];
29255
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
29260
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
29256
29261
 
29257
29262
  if (firstOverlayOpen==null) firstOverlayOpen=data.Open;
29258
29263
 
@@ -30182,7 +30187,7 @@ function ChartKLine()
30182
30187
  {
30183
30188
  var data=this.Data.Data[i];
30184
30189
  this.ShowRange.End=i;
30185
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
30190
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
30186
30191
 
30187
30192
  var left=xOffset;
30188
30193
  var right=xOffset+dataWidth;
@@ -32550,6 +32555,7 @@ function ChartKLine()
32550
32555
  tooltip.Data=this.Data.Data[index];
32551
32556
  tooltip.ChartPaint=this;
32552
32557
  tooltip.Type=0; //K线信息
32558
+ tooltip.Symbol=this.Symbol;
32553
32559
  return true;
32554
32560
  }
32555
32561
  }
@@ -32584,7 +32590,7 @@ function ChartKLine()
32584
32590
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
32585
32591
  {
32586
32592
  var data=this.Data.Data[i];
32587
- if (!IFrameSplitOperator.IsNumber(data.Close)) continue;
32593
+ if (!data || !IFrameSplitOperator.IsNumber(data.Close)) continue;
32588
32594
 
32589
32595
  if (range.Max==null) range.Max=data.Close;
32590
32596
  if (range.Min==null) range.Min=data.Close;
@@ -32598,7 +32604,7 @@ function ChartKLine()
32598
32604
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
32599
32605
  {
32600
32606
  var data=this.Data.Data[i];
32601
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
32607
+ if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
32602
32608
 
32603
32609
  if (this.DrawType==5 && data.OrderFlow && IFrameSplitOperator.IsNumber(data.OrderFlow.PriceOffset))
32604
32610
  {
@@ -76415,7 +76421,12 @@ function JSChartResource()
76415
76421
 
76416
76422
  UpTextColor:"rgb(238,21,21)", //上涨文字颜色
76417
76423
  DownTextColor:"rgb(25,158,0)", //下跌文字颜色
76418
- UnchagneTextColor:"rgb(0,0,0)" //平盘文字颜色
76424
+ UnchagneTextColor:"rgb(0,0,0)", //平盘文字颜色
76425
+
76426
+ Selected:
76427
+ {
76428
+ BGColor:"rgb(180,240,240)",
76429
+ }
76419
76430
  },
76420
76431
 
76421
76432
  //报价列表
@@ -77468,6 +77479,12 @@ function JSChartResource()
77468
77479
  this.DealList.FieldColor.Bar[i]=filed.Bar[i];
77469
77480
  }
77470
77481
  }
77482
+
77483
+ if (item.Selected)
77484
+ {
77485
+ var subItem=item.Selected;
77486
+ if (subItem.BGColor) this.DealList.Selected.BGColor=subItem.BGColor;
77487
+ }
77471
77488
  }
77472
77489
 
77473
77490
  if (style.Report) this.SetReportStyle(style.Report);
@@ -122506,6 +122523,8 @@ var SCRIPT_CHART_NAME=
122506
122523
  SCATTER_PLOT:"SCATTER_PLOT", //散点图
122507
122524
 
122508
122525
  CLIP_COLOR_STICK:"CLIP_COLOR_STICK", //上下柱子 裁剪
122526
+
122527
+ DRAW_KLINE:"DRAWKLINE"
122509
122528
  }
122510
122529
 
122511
122530
 
@@ -123574,6 +123593,15 @@ function ScriptIndex(name,script,args,option)
123574
123593
  if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
123575
123594
  chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
123576
123595
 
123596
+ if (varItem.Draw.Config)
123597
+ {
123598
+ var config=varItem.Draw.Config;
123599
+ if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
123600
+ if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
123601
+ if (config.Symbol) chart.Symbol=config.Symbol;
123602
+ if (config.Name) chart.Title=config.Name;
123603
+ }
123604
+
123577
123605
  this.SetChartIndexName(chart);
123578
123606
  hqChart.ChartPaint.push(chart);
123579
123607
  }
@@ -127533,6 +127561,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
127533
127561
  outVarItem.Draw=drawItem;
127534
127562
  result.push(outVarItem);
127535
127563
  }
127564
+ else if (draw.DrawType==SCRIPT_CHART_NAME.DRAW_KLINE)
127565
+ {
127566
+ drawItem.Name=draw.Name;
127567
+ drawItem.Type=draw.Type;
127568
+ drawItem.DrawType=draw.DrawType;
127569
+
127570
+ drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);
127571
+ drawItem.Config=draw.Config;
127572
+ outVarItem.Draw=drawItem;
127573
+ result.push(outVarItem);
127574
+ }
127536
127575
  else
127537
127576
  {
127538
127577
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -129260,7 +129299,12 @@ function GetBlackStyle()
129260
129299
 
129261
129300
  UpTextColor:"rgb(238,21,21)", //上涨文字颜色
129262
129301
  DownTextColor:"rgb(25,158,0)", //下跌文字颜色
129263
- UnchagneTextColor:"rgb(228,228,228)" //平盘文字颜色
129302
+ UnchagneTextColor:"rgb(228,228,228)", //平盘文字颜色
129303
+
129304
+ Selected:
129305
+ {
129306
+ BGColor:"rgb(49,48,56)",
129307
+ }
129264
129308
  },
129265
129309
 
129266
129310
  //报价列表
@@ -129619,6 +129663,17 @@ function JSDealChart(divElement)
129619
129663
 
129620
129664
  this.JSChartContainer=chart;
129621
129665
  this.DivElement.JSChart=this; //div中保存一份
129666
+
129667
+ //注册事件
129668
+ if (option.EventCallback)
129669
+ {
129670
+ for(var i=0;i<option.EventCallback.length;++i)
129671
+ {
129672
+ var item=option.EventCallback[i];
129673
+ chart.AddEventCallback(item);
129674
+ }
129675
+ }
129676
+
129622
129677
  if (!option.Symbol)
129623
129678
  {
129624
129679
  chart.Draw();
@@ -129843,6 +129898,7 @@ function JSDealChartContainer(uielement)
129843
129898
  chart.Frame=this.Frame;
129844
129899
  chart.ChartBorder=this.Frame.ChartBorder;
129845
129900
  chart.Canvas=this.Canvas;
129901
+ chart.UIElement=this.UIElement;
129846
129902
  chart.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
129847
129903
  this.ChartPaint[0]=chart;
129848
129904
 
@@ -129870,12 +129926,16 @@ function JSDealChartContainer(uielement)
129870
129926
  bRegisterWheel=false;
129871
129927
  JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');
129872
129928
  }
129929
+
129930
+ if (IFrameSplitOperator.IsBool(option.EnableSelected)) chart.SelectedData.Enable=option.EnableSelected;
129873
129931
  }
129874
129932
 
129875
129933
  if (bRegisterKeydown) this.UIElement.addEventListener("keydown", (e)=>{ this.OnKeyDown(e); }, true); //键盘消息
129876
129934
  if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
129877
129935
 
129878
129936
  this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
129937
+ this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
129938
+ this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
129879
129939
  }
129880
129940
 
129881
129941
  this.Draw=function()
@@ -130259,20 +130319,28 @@ function JSDealChartContainer(uielement)
130259
130319
  var chart=this.ChartPaint[0];
130260
130320
  if (!chart) return;
130261
130321
 
130262
- /*
130263
130322
  var clickData=chart.OnMouseDown(x,y,e);
130264
130323
  if (!clickData) return;
130265
130324
 
130266
- if ((clickData.Type==2) && (e.button==0 || e.button==2)) //点击行
130325
+ if ((clickData.Type==1) && (e.button==0 || e.button==2)) //点击行
130267
130326
  {
130268
130327
  if (clickData.Redraw==true) this.Draw();
130269
130328
  }
130270
- else if (clickData.Type==3 && e.button==0) //表头
130271
- {
130272
- this.OnClickHeader(clickData, e);
130273
- }
130274
- */
130275
-
130329
+ }
130330
+
130331
+ this.UIOnDblClick=function(e)
130332
+ {
130333
+ var pixelTatio = GetDevicePixelRatio();
130334
+ var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
130335
+ var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
130336
+
130337
+ var chart=this.ChartPaint[0];
130338
+ if (chart) chart.OnDblClick(x,y,e);
130339
+ }
130340
+
130341
+ this.UIOnContextMenu=function(e)
130342
+ {
130343
+ e.preventDefault();
130276
130344
  }
130277
130345
 
130278
130346
  this.GotoNextPage=function()
@@ -130494,7 +130562,7 @@ function ChartDealList()
130494
130562
  this.IsSingleTable=false; //单表模式
130495
130563
  this.IsShowHeader=true; //是否显示表头
130496
130564
  this.ShowOrder=1; //0=顺序 1=倒序
130497
- this.SelectedData={ Index:10 }; //{ Index:序号 }
130565
+ this.SelectedData={ Index:null, Guid:null, Enable:false }; //{ Index:序号, Guid, Enable:是否启动 }
130498
130566
 
130499
130567
  this.SizeChange=true;
130500
130568
 
@@ -130505,7 +130573,7 @@ function ChartDealList()
130505
130573
 
130506
130574
  this.BorderColor=g_JSChartResource.DealList.BorderColor; //边框线
130507
130575
 
130508
- this.SelectedConfig={ BGColor:"rgb(100,0,100)"};
130576
+ this.SelectedConfig={ BGColor:g_JSChartResource.DealList.Selected.BGColor };
130509
130577
 
130510
130578
  //表头配置
130511
130579
  this.HeaderFontConfig={ Size:g_JSChartResource.DealList.Header.Font.Size, Name:g_JSChartResource.DealList.Header.Font.Name };
@@ -130546,6 +130614,7 @@ function ChartDealList()
130546
130614
  ];
130547
130615
 
130548
130616
  this.RectClient={};
130617
+ this.AryCellRect=[]; //{ Rect:, Type: 1=单行 }
130549
130618
 
130550
130619
  this.ReloadResource=function(resource)
130551
130620
  {
@@ -130646,6 +130715,7 @@ function ChartDealList()
130646
130715
 
130647
130716
  this.Draw=function()
130648
130717
  {
130718
+ this.AryCellRect=[];
130649
130719
  if (this.SizeChange) this.CalculateSize();
130650
130720
  else this.UpdateCacheData();
130651
130721
 
@@ -130801,7 +130871,7 @@ function ChartDealList()
130801
130871
  for(j=0;j<this.RowCount && index>=0;++j, --index)
130802
130872
  {
130803
130873
  var dataItem=this.Data.Data[index];
130804
- if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
130874
+ this.DrawSelectedRow(dataItem, index, rtRow);
130805
130875
 
130806
130876
  this.DrawRow(dataItem, textLeft, textTop, index);
130807
130877
 
@@ -130819,10 +130889,15 @@ function ChartDealList()
130819
130889
  for(j=0;j<this.RowCount && index<dataCount;++j, ++index)
130820
130890
  {
130821
130891
  var dataItem=this.Data.Data[index];
130892
+ var rtRow={ Left:textLeft-this.HeaderMergin.Left, Top:textTop, Height:this.RowHeight, Width:this.TableWidth };
130893
+ rtRow.Right=rtRow.Left+rtRow.Width;
130894
+ rtRow.Bottom=rtRow.Top+rtRow.Height;
130822
130895
 
130823
- if (this.SelectedData && this.SelectedData.Index==index) this.DrawSelectedRow(dataItem, textLeft-this.HeaderMergin.Left, textTop, index);
130896
+ this.DrawSelectedRow(dataItem, index, rtRow);
130824
130897
 
130825
130898
  this.DrawRow(dataItem, textLeft, textTop, index);
130899
+
130900
+ this.AryCellRect.push({ Rect:rtRow, Type:1, DataIndex:index });
130826
130901
 
130827
130902
  textTop+=this.RowHeight;
130828
130903
  }
@@ -130928,11 +131003,11 @@ function ChartDealList()
130928
131003
  }
130929
131004
  }
130930
131005
 
130931
- this.DrawSelectedRow=function(data, left, top, dataIndex, colIndex)
131006
+ this.DrawSelectedRow=function(data, index, rtRow)
130932
131007
  {
130933
- var rtRow={ Left:left, Top:top, Height:this.RowHeight, Width:this.TableWidth };
130934
- rtRow.Right=rtRow.Left+rtRow.Width;
130935
- rtRow.Bottom=rtRow.Top+rtRow.Bottom;
131008
+ if (!this.SelectedData) return;
131009
+ if (!this.SelectedData.Enable) return;
131010
+ if (!this.SelectedData.Guid || this.SelectedData.Guid!=data.Guid) return;
130936
131011
 
130937
131012
  this.Canvas.fillStyle=this.SelectedConfig.BGColor;
130938
131013
  this.Canvas.fillRect(rtRow.Left,rtRow.Top, rtRow.Width, rtRow.Height);
@@ -131065,7 +131140,7 @@ function ChartDealList()
131065
131140
  return GetFontHeight(this.Canvas, font, word);
131066
131141
  }
131067
131142
 
131068
- this.OnMouseDown=function(x,y,e) //Type: 2=行 3=表头
131143
+ this.OnMouseDown=function(x,y,e) //Type: 1=行
131069
131144
  {
131070
131145
  if (!this.Data) return null;
131071
131146
 
@@ -131076,12 +131151,68 @@ function ChartDealList()
131076
131151
  else uiElement={Left:null, Top:null};
131077
131152
 
131078
131153
  var row=this.PtInBody(x,y);
131154
+ if (row)
131155
+ {
131156
+ var bRedraw=true;
131157
+ var index=row.DataIndex;
131158
+ var id=row.Item.Guid
131159
+ if (this.SelectedData.Index==index && this.SelectedData.Guid==id) bRedraw=false;
131160
+
131161
+ this.SelectedData.Index=index;
131162
+ this.SelectedData.Guid=id;
131163
+
131164
+ var eventID=JSCHART_EVENT_ID.ON_CLICK_DEAL_ROW;
131165
+ if (e.button==2) eventID=JSCHART_EVENT_ID.ON_RCLICK_DEAL_ROW;
131166
+
131167
+ this.SendClickEvent(eventID, { Data:row, X:x, Y:y, e:e, Inside:insidePoint, UIElement:uiElement });
131168
+
131169
+ return { Type:row.Type, Redraw:bRedraw, Row:row };
131170
+ }
131171
+
131172
+ return null;
131173
+ }
131174
+
131175
+ this.OnDblClick=function(x,y,e)
131176
+ {
131177
+ if (!this.Data) return false;
131178
+
131179
+ var row=this.PtInBody(x,y);
131180
+ if (row)
131181
+ {
131182
+ this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_DEAL_ROW, { Data:row, X:x, Y:y });
131183
+ return true;
131184
+ }
131185
+
131186
+ return false;
131079
131187
  }
131080
131188
 
131081
131189
  this.PtInBody=function(x,y)
131082
131190
  {
131083
131191
  if (!this.Data) return null;
131084
131192
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
131193
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect)) return null;
131194
+
131195
+ for(var i=0;i<this.AryCellRect.length;++i)
131196
+ {
131197
+ var item=this.AryCellRect[i];
131198
+ var rtRow=item.Rect;
131199
+ if (x>=rtRow.Left && x<=rtRow.Right && y>=rtRow.Top && y<=rtRow.Bottom)
131200
+ {
131201
+ var data={ Rect:rtRow, DataIndex:item.DataIndex, Item:this.Data.Data[item.DataIndex], Type:item.Type };
131202
+ return data;
131203
+ }
131204
+ }
131205
+
131206
+ return null;
131207
+ }
131208
+
131209
+ this.SendClickEvent=function(id, data)
131210
+ {
131211
+ var event=this.GetEventCallback(id);
131212
+ if (event && event.Callback)
131213
+ {
131214
+ event.Callback(event,data,this);
131215
+ }
131085
131216
  }
131086
131217
  }
131087
131218
  /*
@@ -150653,14 +150784,21 @@ function JSFloatTooltip()
150653
150784
  var symbol=data.Symbol;
150654
150785
  var name=data.Name;
150655
150786
  var bOverlay=false; //是否是叠加指标
150787
+ var bIndexKLine=false;
150656
150788
  if (tooltipData.ChartPaint.Name=="Overlay-KLine")
150657
150789
  {
150658
150790
  symbol=tooltipData.ChartPaint.Symbol;
150659
150791
  name=tooltipData.ChartPaint.Title;
150660
150792
  bOverlay=true;
150661
150793
  }
150794
+ else if (tooltipData.ChartPaint.Name=="DRAWKLINE")
150795
+ {
150796
+ symbol=tooltipData.ChartPaint.Symbol;
150797
+ name=tooltipData.ChartPaint.Title;
150798
+ bIndexKLine=true;
150799
+ }
150662
150800
 
150663
- var kItem={ Symbol:symbol, Name:name, Item:CloneData(tooltipData.Data), IsOverlay:bOverlay };
150801
+ var kItem={ Symbol:symbol, Name:name, Item:CloneData(tooltipData.Data), IsOverlay:bOverlay, IsIndexKLine:bIndexKLine };
150664
150802
  var strKItem=JSON.stringify(kItem);
150665
150803
  var bUpdata=false;
150666
150804
  if (this.KItemCacheID!=strKItem) //数据变动的才更新
@@ -150961,10 +151099,11 @@ function JSFloatTooltip()
150961
151099
  if (IFrameSplitOperator.IsNumber(data.Time)) timeItem=this.FormatTime(data.Time, this.HQChart.Period, null, 'FloatTooltip-Time');
150962
151100
 
150963
151101
  var overlayItem=null;
150964
- if (kItem.IsOverlay)
151102
+ if (kItem.IsOverlay || (kItem.IsIndexKLine && kItem.Name))
150965
151103
  overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
150966
151104
 
150967
151105
 
151106
+
150968
151107
  var yClose=data.YClose; //昨收价|昨结算价
150969
151108
  var aryText=
150970
151109
  [
@@ -153604,7 +153743,7 @@ function HQChartScriptWorker()
153604
153743
 
153605
153744
 
153606
153745
 
153607
- var HQCHART_VERSION="1.1.14477";
153746
+ var HQCHART_VERSION="1.1.14481";
153608
153747
 
153609
153748
  function PrintHQChartVersion()
153610
153749
  {