hqchart 1.1.14108 → 1.1.14116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14108",
3
+ "version": "1.1.14116",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -1001,7 +1001,7 @@ function JSFloatTooltip()
1001
1001
  }
1002
1002
  }
1003
1003
 
1004
- this.Show=function(x, y)
1004
+ this.Show=function(x, y, option)
1005
1005
  {
1006
1006
  if (!this.DivDialog) return;
1007
1007
  if (!this.HQChart) return;
@@ -1012,7 +1012,11 @@ function JSFloatTooltip()
1012
1012
  var bottom=top+this.DivDialog.offsetHeight;
1013
1013
 
1014
1014
  if ((right+5)>=window.innerWidth) left=left-this.DivDialog.offsetWidth;
1015
- if ((bottom+5)>=window.innerHeight) top=window.innerHeight-this.DivDialog.offsetHeight-5;
1015
+ if ((bottom+5)>=window.innerHeight)
1016
+ {
1017
+ top=(y+rtClient.top)-this.DivDialog.offsetHeight;
1018
+ if (option && IFrameSplitOperator.IsNumber(option.YMove)) top-=option.YMove;
1019
+ }
1016
1020
 
1017
1021
  this.DivDialog.style.top = top + "px";
1018
1022
  this.DivDialog.style.left = left + "px";
@@ -1232,7 +1236,7 @@ function JSFloatTooltip()
1232
1236
  {
1233
1237
  var x=data.Point.X;
1234
1238
  var y=data.Point.Y+data.Point.YMove;
1235
- this.Show(x, y);
1239
+ this.Show(x, y, { YMove:data.Point.YMove });
1236
1240
  }
1237
1241
  }
1238
1242
 
@@ -55701,7 +55701,7 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55701
55701
  setTimeout(()=>{
55702
55702
  var fullData=HQData.GetDayMinuteDataBySymbol(symbol);
55703
55703
  var srcStock=fullData[0];
55704
- var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:srcStock.symbol, name:srcStock.name };
55704
+ var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:symbol, name:symbol };
55705
55705
  if (callcation.Before)
55706
55706
  {
55707
55707
  var before=
@@ -55726,7 +55726,10 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55726
55726
  stockItem.beforeinfo=beforeinfo;
55727
55727
  }
55728
55728
 
55729
- /* 测试用 这里可以修改数据
55729
+ //测试用 这里可以修改数据
55730
+ //var lastItem=srcStock.minute[srcStock.minute.length-1];
55731
+ //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
55732
+ /*
55730
55733
  for(var i=0;i<srcStock.minute.length;++i)
55731
55734
  {
55732
55735
  var item=srcStock.minute[i];
@@ -56616,125 +56619,132 @@ HQData.Report_RequestStockData=function(data, callback)
56616
56619
  var stocks=data.Request.Data.stocks; //股票列表
56617
56620
  data.PreventDefault=true;
56618
56621
 
56619
- var mapStock=new Map();
56620
- for(var i=0;i<stocks.length;++i)
56622
+ setTimeout(()=>
56621
56623
  {
56622
- var item=stocks[i];
56623
- mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
56624
- }
56625
-
56626
- if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
56627
- {
56628
- for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
56624
+ var mapStock=new Map();
56625
+ for(var i=0;i<stocks.length;++i)
56629
56626
  {
56630
- var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
56631
- if (!mapStock.has(symbol)) continue;
56632
- var item=mapStock.get(symbol);
56633
- var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
56634
- var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
56635
- var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
56636
- var newItem=
56637
- [
56638
- symbol,
56639
- name,
56640
- SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
56641
- SHSZ_STOCK_LIST_TEST_DATA.open[i],
56642
- SHSZ_STOCK_LIST_TEST_DATA.high[i],
56643
- SHSZ_STOCK_LIST_TEST_DATA.low[i],
56644
- price,
56645
- vol,
56646
- SHSZ_STOCK_LIST_TEST_DATA.amount[i],
56647
- ];
56648
-
56649
- //买价 量
56650
- newItem[9]=price+0.05;
56651
- newItem[10]=10;
56627
+ var item=stocks[i];
56628
+ mapStock.set(item.Symbol,{ Symbol:item.Symbol, Data:null });
56629
+ }
56652
56630
 
56653
- //卖价
56654
- newItem[11]=price-0.06;
56655
- newItem[12]=5;
56631
+ if (IFrameSplitOperator.IsNonEmptyArray(SHSZ_STOCK_LIST_TEST_DATA.symbol))
56632
+ {
56633
+ for(var i=0;i<SHSZ_STOCK_LIST_TEST_DATA.symbol.length;++i)
56634
+ {
56635
+ var symbol=SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
56636
+ if (!mapStock.has(symbol)) continue;
56637
+ var item=mapStock.get(symbol);
56638
+ var name=SHSZ_STOCK_LIST_TEST_DATA.name[i];
56639
+ var price=SHSZ_STOCK_LIST_TEST_DATA.close[i];
56640
+ var vol=SHSZ_STOCK_LIST_TEST_DATA.vol[i];
56641
+ var newItem=
56642
+ [
56643
+ symbol,
56644
+ name,
56645
+ SHSZ_STOCK_LIST_TEST_DATA.yclose[i],
56646
+ SHSZ_STOCK_LIST_TEST_DATA.open[i],
56647
+ SHSZ_STOCK_LIST_TEST_DATA.high[i],
56648
+ SHSZ_STOCK_LIST_TEST_DATA.low[i],
56649
+ price,
56650
+ vol,
56651
+ SHSZ_STOCK_LIST_TEST_DATA.amount[i],
56652
+ ];
56653
+
56654
+ //买价 量
56655
+ newItem[9]=price+0.05;
56656
+ newItem[10]=10;
56657
+
56658
+ //卖价 量
56659
+ newItem[11]=price-0.06;
56660
+ newItem[12]=5;
56661
+
56662
+ //均价
56663
+ newItem[13]=price-0.03;
56664
+
56665
+ //内盘
56666
+ newItem[18]=vol/4;
56667
+ //外盘
56668
+ newItem[19]=vol/5;
56669
+
56670
+ newItem[14]=vol*1.5; //流通股本
56671
+ newItem[15]=vol*1.8; //总股本
56672
+
56673
+ //换手率
56674
+ newItem[23]=(Math.round(Math.random()*60))/100;
56675
+
56676
+ //名字字段
56677
+ var symbolEx={ Text:name };
56678
+ if (i%20==5)
56679
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
56680
+ else if (i%20==9)
56681
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
56682
+ else if (i%20==18)
56683
+ symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
56684
+
56685
+ newItem[27]=symbolEx;
56686
+
56687
+
56688
+ newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
56689
+ newItem[39]=HQData.GetRandomTestData(10,100); //结算价
56690
+ newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
56691
+ newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
56692
+ newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
56693
+
56694
+ //1,3,5,10,15 涨速%
56695
+ newItem[43]=HQData.GetRandomTestData(-90,90);
56696
+ newItem[44]=HQData.GetRandomTestData(-90,90);
56697
+ newItem[45]=HQData.GetRandomTestData(-90,90);
56698
+ newItem[46]=HQData.GetRandomTestData(-90,90);
56699
+ newItem[47]=HQData.GetRandomTestData(-90,90);
56700
+
56701
+
56702
+ //扩展数据 (定制数据)
56703
+ var extendData=[];
56704
+ newItem[30]=extendData;
56705
+
56706
+ //行业
56707
+ extendData[0]="行业X";
56708
+ //地区
56709
+ extendData[1]="地区X";
56710
+
56711
+ //PE|PB
56712
+ extendData[2]=(Math.round(Math.random()*60))/100;
56713
+ extendData[3]=(Math.round(Math.random()*60))/100;
56714
+ extendData[4]=(Math.round(Math.random()*60))/100;
56715
+ extendData[5]=(Math.round(Math.random()*60))/100;
56656
56716
 
56657
- //均价
56658
- newItem[13]=price-0.03;
56659
56717
 
56660
- //内盘
56661
- newItem[18]=vol/4;
56662
- //外盘
56663
- newItem[19]=vol/5;
56718
+ //周涨幅
56719
+ extendData[6]=(Math.round(Math.random()*60))/100;
56720
+ extendData[7]=(Math.round(Math.random()*60))/100;
56721
+ extendData[8]=(Math.round(Math.random()*60))/100;
56664
56722
 
56665
- newItem[14]=vol*1.5; //流通股本
56666
- newItem[15]=vol*1.8; //总股本
56667
56723
 
56668
- //换手率
56669
- newItem[23]=(Math.round(Math.random()*60))/100;
56670
-
56671
- //名字字段
56672
- var symbolEx={ Text:name };
56673
- if (i%20==5)
56674
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
56675
- else if (i%20==9)
56676
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
56677
- else if (i%20==18)
56678
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
56679
-
56680
- newItem[27]=symbolEx;
56681
-
56682
-
56683
- newItem[38]=HQData.GetRandomTestData(10,20000); //持仓量
56684
- newItem[39]=HQData.GetRandomTestData(10,100); //结算价
56685
- newItem[40]=HQData.GetRandomTestData(10,100); //昨结算价
56686
- newItem[41]=HQData.GetRandomTestData(10,20000); //开仓量
56687
- newItem[42]=HQData.GetRandomTestData(10,20000); //平仓量
56688
-
56689
- //1,3,5,10,15 涨速%
56690
- newItem[43]=HQData.GetRandomTestData(-90,90);
56691
- newItem[44]=HQData.GetRandomTestData(-90,90);
56692
- newItem[45]=HQData.GetRandomTestData(-90,90);
56693
- newItem[46]=HQData.GetRandomTestData(-90,90);
56694
- newItem[47]=HQData.GetRandomTestData(-90,90);
56695
-
56696
-
56697
- //扩展数据 (定制数据)
56698
- var extendData=[];
56699
- newItem[30]=extendData;
56700
-
56701
- //行业
56702
- extendData[0]="行业X";
56703
- //地区
56704
- extendData[1]="地区X";
56705
-
56706
- //PE|PB
56707
- extendData[2]=(Math.round(Math.random()*60))/100;
56708
- extendData[3]=(Math.round(Math.random()*60))/100;
56709
- extendData[4]=(Math.round(Math.random()*60))/100;
56710
- extendData[5]=(Math.round(Math.random()*60))/100;
56711
-
56712
-
56713
- //周涨幅
56714
- extendData[6]=(Math.round(Math.random()*60))/100;
56715
- extendData[7]=(Math.round(Math.random()*60))/100;
56716
- extendData[8]=(Math.round(Math.random()*60))/100;
56724
+ newItem[101]=105.0;
56725
+ newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`;
56717
56726
 
56718
56727
 
56719
- newItem[101]=105.0;
56720
- newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`
56721
-
56728
+ newItem[301]=HQData.GetRandomTestData(0,100)/100;
56729
+ newItem[302]=HQData.GetRandomTestData(0,100)/100;
56730
+
56722
56731
 
56723
- item.Data=newItem;
56732
+ item.Data=newItem;
56733
+ }
56724
56734
  }
56725
- }
56726
56735
 
56727
- var hqchartData={ data:[], code:0 };
56736
+ var hqchartData={ data:[], code:0 };
56728
56737
 
56729
- for(var mapItem of mapStock)
56730
- {
56731
- var item=mapItem[1];
56732
- if (!item.Data) continue;
56738
+ for(var mapItem of mapStock)
56739
+ {
56740
+ var item=mapItem[1];
56741
+ if (!item.Data) continue;
56733
56742
 
56734
- hqchartData.data.push(item.Data);
56735
- }
56743
+ hqchartData.data.push(item.Data);
56744
+ }
56736
56745
 
56737
- callback(hqchartData);
56746
+ callback(hqchartData);
56747
+ }, 500);
56738
56748
  }
56739
56749
 
56740
56750
  HQData.Report_RequestStockSortData=function(data, callback)
@@ -56961,6 +56971,10 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
56961
56971
  extendData[8]=(Math.round(Math.random()*60))/100;
56962
56972
 
56963
56973
 
56974
+ newItem[351]={Title:"启动"};
56975
+ newItem[352]={Title:"加入"};
56976
+
56977
+
56964
56978
  aryData.push(newItem);
56965
56979
  aryIndex.push(start+i);
56966
56980
  }
@@ -14,12 +14,17 @@
14
14
  function JSPopMinuteChart()
15
15
  {
16
16
  this.DivDialog=null;
17
- this.DivInfoText=null;
17
+ this.TitleBox=null; //{ DivTitle, DivName, DivName }
18
18
  this.HQChart=null;
19
19
  this.DragTitle=null;
20
20
  this.Date=null;
21
21
  this.ID=Guid();
22
22
 
23
+ this.TitleColor=g_JSChartResource.PopMinuteChart.TitleColor;
24
+ this.TitleBGColor=g_JSChartResource.PopMinuteChart.TitleBGColor;
25
+ this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
26
+ this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
27
+
23
28
  this.Minute=
24
29
  {
25
30
  Option:JSPopMinuteChart.GetMinuteOption(),
@@ -27,9 +32,18 @@ function JSPopMinuteChart()
27
32
  Date:null,
28
33
  }
29
34
 
30
- this.Inital=function(hqchart)
35
+ this.Inital=function(hqchart, option)
31
36
  {
32
37
  this.HQChart=hqchart;
38
+
39
+ if (option)
40
+ {
41
+ if (IFrameSplitOperator.IsObject(option.Option))
42
+ {
43
+ var item=CloneData(option.Option); //复制一份出来
44
+ this.Minute.Option=Object.assign(this.Minute.Option,item);
45
+ }
46
+ }
33
47
  }
34
48
 
35
49
  this.Create=function()
@@ -37,8 +51,6 @@ function JSPopMinuteChart()
37
51
  var divDom=document.createElement('div');
38
52
  divDom.className='jchart_pop_minute_dailog';
39
53
  divDom.id=this.ID;
40
- divDom.style["background-color"]=g_JSChartResource.PopMinuteChart.BGColor;
41
- divDom.style["border-color"]=g_JSChartResource.PopMinuteChart.BorderColor;
42
54
 
43
55
  var divTitle=document.createElement("div");
44
56
  divTitle.className='jschart_pop_minute_chart_Title_Div';
@@ -62,6 +74,7 @@ function JSPopMinuteChart()
62
74
  divChart.className='jschart_pop_minute_chart';
63
75
  divDom.appendChild(divChart);
64
76
 
77
+ this.TitleBox={ DivTitle:divTitle, DivName:divInfoText, DivColor:divClose };
65
78
  this.DivDialog=divDom;
66
79
 
67
80
  var chart=JSChart.Init(divChart);
@@ -73,6 +86,19 @@ function JSPopMinuteChart()
73
86
  chart.SetOption(this.Minute.Option); //设置K线配置
74
87
 
75
88
  document.body.appendChild(divDom);
89
+
90
+ this.UpdateStyle();
91
+ }
92
+
93
+ this.UpdateStyle=function()
94
+ {
95
+ if (!this.DivDialog) return;
96
+
97
+ if (this.BGColor) this.DivDialog.style['background-color']=this.BGColor;
98
+ if (this.BorderColor) this.DivDialog.style['border-color']=this.BorderColor;
99
+
100
+ if (this.TitleBGColor) this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;
101
+ if (this.TitleColor) this.TitleBox.DivName.style['color']=this.TitleColor;
76
102
  }
77
103
 
78
104
  this.NetworkFilter=function(data, callback)
@@ -100,7 +126,7 @@ function JSPopMinuteChart()
100
126
  {
101
127
  if (this.DivDialog) document.body.removeChild(this.DivDialog);
102
128
  this.DivDialog=null;
103
- this.DivInfoText=null;
129
+ this.TitleBox=null;
104
130
  this.Minute.JSChart=null;
105
131
  }
106
132
 
@@ -120,7 +146,7 @@ function JSPopMinuteChart()
120
146
  var name=data.Symbol;
121
147
  if (data.Name) name=data.Name;
122
148
  var title=`${name} ${IFrameSplitOperator.FormatDateString(data.Date)} 分时图`
123
- this.DivInfoText.innerText=title;
149
+ this.TitleBox.DivName.innerText=title;
124
150
 
125
151
  if (this.Minute.JSChart)
126
152
  {
@@ -188,10 +214,14 @@ function JSPopMinuteChart()
188
214
 
189
215
  this.ReloadResource=function(option)
190
216
  {
217
+ this.TitleColor=g_JSChartResource.PopMinuteChart.TitleColor;
218
+ this.TitleBGColor=g_JSChartResource.PopMinuteChart.TitleBGColor;
219
+ this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
220
+ this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
221
+
191
222
  if (!this.DivDialog) return;
192
223
 
193
- this.DivDialog.style["background-color"]=g_JSChartResource.PopMinuteChart.BGColor;
194
- this.DivDialog.style["border-color"]=g_JSChartResource.PopMinuteChart.BorderColor;
224
+ this.UpdateStyle();
195
225
 
196
226
  if (this.Minute.JSChart) this.Minute.JSChart.ReloadResource(option);
197
227
  }
@@ -276,4 +306,244 @@ JSPopMinuteChart.GetMinuteOption=function()
276
306
  }
277
307
 
278
308
 
309
+ ///////////////////////////////////////////////////////
310
+ // 分时图提示信息
311
+ //
312
+ //////////////////////////////////////////////////////
313
+
314
+ function JSTooltipMinuteChart()
315
+ {
316
+ this.DivDialog=null;
317
+ this.HQChart=null;
318
+ this.ID=Guid();
319
+
320
+ this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
321
+ this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
322
+
323
+ this.Minute=
324
+ {
325
+ Option:JSTooltipMinuteChart.GetMinuteOption(),
326
+ JSChart:null,
327
+ Symbol:null,
328
+ Date:null,
329
+ }
330
+
331
+ this.Inital=function(hqchart, option)
332
+ {
333
+ this.HQChart=hqchart;
334
+
335
+ if (option)
336
+ {
337
+ if (IFrameSplitOperator.IsObject(option.Option))
338
+ {
339
+ var item=CloneData(option.Option); //复制一份出来
340
+ this.Minute.Option=Object.assign(this.Minute.Option,item);
341
+ }
342
+ }
343
+ }
344
+
345
+ this.Create=function()
346
+ {
347
+ var divDom=document.createElement('div');
348
+ divDom.className='UMyChart_Tooltip_Minute_Div';
349
+ divDom.id=this.ID;
350
+
351
+ var divChart=document.createElement('div');
352
+ divChart.className='UMyChart_Tooltip_Minute_Chart_Div';
353
+ divDom.appendChild(divChart);
354
+
355
+ this.DivDialog=divDom;
356
+
357
+ var chart=JSChart.Init(divChart);
358
+ this.Minute.JSChart=chart;
359
+
360
+ //语言跟主图保持一致
361
+ if (this.HQChart) this.Minute.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);
362
+ this.Minute.Option.OnCreatedCallback=(chart)=>{ this.OnCreateHQChart(chart); }
363
+ this.Minute.Option.NetworkFilter=(data, callback)=>{ this.NetworkFilter(data, callback); }
364
+ chart.SetOption(this.Minute.Option); //设置K线配置
365
+
366
+ document.body.appendChild(divDom);
367
+
368
+ this.UpdateStyle();
369
+ }
370
+
371
+ this.UpdateStyle=function()
372
+ {
373
+ if (!this.DivDialog) return;
374
+
375
+ if (this.BGColor) this.DivDialog.style['background-color']=this.BGColor;
376
+ if (this.BorderColor) this.DivDialog.style['border-color']=this.BorderColor;
377
+ }
378
+
379
+ this.NetworkFilter=function(data, callback)
380
+ {
381
+ if (!this.HQChart || !this.HQChart.NetworkFilter) return;
382
+
383
+ /*
384
+ if (data) data.PopMinuteData={ Date:this.Date }; //弹出分时图额外数据
385
+
386
+ if (data.Name== 'MinuteChartContainer::RequestMinuteData') //分时图数据对接
387
+ {
388
+ data.Request.Data.date=this.Date;
389
+ data.Name="MinuteChartContainer::RequestPopMinuteData";
390
+ data.Explain="指定日期分时数据"
391
+ };
392
+ */
393
+
394
+ this.HQChart.NetworkFilter(data, callback);
395
+ }
396
+
397
+ this.OnCreateHQChart=function(chart)
398
+ {
399
+
400
+ }
401
+
402
+ this.Destroy=function()
403
+ {
404
+ if (this.DivDialog) document.body.removeChild(this.DivDialog);
405
+ this.DivDialog=null;
406
+ this.TitleBox=null;
407
+ if (!this.Minute.JSChart) this.Minute.JSChart.ChartDestory();
408
+ this.Minute.JSChart=null;
409
+ }
410
+
411
+ this.IsShow=function()
412
+ {
413
+ if (!this.DivDialog) return false;
414
+
415
+ return this.DivDialog.style.visibility==='visible';
416
+ }
417
+
418
+ this.Show=function(data, x, y)
419
+ {
420
+ if (!this.DivDialog) this.Create();
421
+ if (!data || !data.Symbol) return;
422
+
423
+ var symbol=data.Symbol;
424
+ var date=null;
425
+ if (IFrameSplitOperator.IsPlusNumber(data.Date)) date=data.Date;
426
+
427
+ if (this.Minute.JSChart)
428
+ {
429
+ if (this.Minute.Symbol!=symbol || this.Minute.Date!=date)
430
+ {
431
+ this.Minute.Symbol=symbol;
432
+ this.Minute.Date=date;
433
+ this.Minute.JSChart.ChangeSymbol(symbol);
434
+ }
435
+ }
436
+
437
+ if (IFrameSplitOperator.IsNumberV2(x,y))
438
+ {
439
+
440
+ }
441
+ else if (data.Rect)
442
+ {
443
+ var rtCell=data.Rect;
444
+ var pixelRatio=GetDevicePixelRatio();
445
+ var rtItem={ Left:rtCell.Left/pixelRatio, Right:rtCell.Right/pixelRatio, Bottom:rtCell.Bottom/pixelRatio, Top:rtCell.Top/pixelRatio };
446
+ rtItem.Width=rtItem.Right-rtItem.Left;
447
+ rtItem.Height=rtItem.Bottom-rtItem.Top;
448
+
449
+ //超出窗口调整位置
450
+ var height=this.DivDialog.offsetHeight;
451
+ var width=this.DivDialog.offsetWidth;
452
+ var x=rtItem.Right+data.Offset.Left;
453
+ var y=rtItem.Bottom+data.Offset.Top;
454
+
455
+ var xRight=window.innerWidth-5;
456
+ var ybottom=window.innerHeight-5;
457
+ if (x+width>xRight) x=xRight-width;
458
+ if (y+height>ybottom) y=(rtItem.Top+data.Offset.Top)-height;
459
+
460
+ this.DivDialog.style.visibility='visible';
461
+ this.DivDialog.style.top = y + "px";
462
+ this.DivDialog.style.left = x + "px";
463
+ }
464
+ }
465
+
466
+ this.Hide=function()
467
+ {
468
+ if (!this.DivDialog) return;
469
+ if (this.DivDialog.style.visibility!='hidden')
470
+ this.DivDialog.style.visibility='hidden';
471
+ }
472
+
473
+ }
474
+
475
+ JSTooltipMinuteChart.GetMinuteOption=function()
476
+ {
477
+ var option=
478
+ {
479
+ Type:'分钟走势图', //创建图形类型
480
+ Windows: //窗口指标
481
+ [
482
+ //{ Index:"VOL" },
483
+ //{ Index:"RSI" }
484
+ ],
485
+
486
+ Symbol:null, // cf1909.czc
487
+ IsAutoUpdate:false, //是自动更新数据
488
+ AutoUpdateFrequency:10000, //数据更新频率
489
+ DayCount:1, //1 最新交易日数据 >1 多日走势图
490
+ IsShowRightMenu:false, //是否显示右键菜单
491
+
492
+ EnableSelectRect:true,
493
+ EnableZoomIndexWindow:true,
494
+ EnableResize:true,
495
+
496
+ //BeforeOpen:{IsShow:true, Width:120, IsShowMultiDay:true, MulitiDayWidth:100, },
497
+ //AfterClose:{IsShow:true, Width:100, IsShowMultiDay:true, MulitiDayWidth:50, ShareVol:2 }, //ShareVol:0=盘后成交量独立坐标, 1==盘后成交量主图共用 2==盘后成交量盘前共用
498
+
499
+ CorssCursorInfo:{ Left:2, Right:1, Bottom:1 },
500
+
501
+ MinuteLine:
502
+ {
503
+
504
+ },
505
+
506
+ MinuteTitle:
507
+ {
508
+ IsShowTime:true,
509
+ IsShowName:true,
510
+ IsShowDate:true,
511
+ IsShowVolTitle:true,
512
+ //IsAlwaysShowLastData:true,
513
+ IsTitleShowLatestData:true,
514
+ },
515
+
516
+ MinuteVol:
517
+ {
518
+ BarColorType:1,
519
+ },
520
+
521
+ //Language:'EN',
522
+
523
+ Border: //边框
524
+ {
525
+ Left:20, //左边间距
526
+ Right:120, //右边间距
527
+ Top:25,
528
+ Bottom:25,
529
+
530
+ AutoLeft:{ Blank:10, MinWidth:40 },
531
+ AutoRight:{ Blank:10, MinWidth:40 },
532
+ },
533
+
534
+ Frame: //子框架设置
535
+ [
536
+ { SplitCount:5 },
537
+ { SplitCount:3 },
538
+ { SplitCount:3 },
539
+ ],
540
+ }
541
+
542
+ return option;
543
+ }
544
+
545
+
546
+
547
+
548
+
279
549