hqchart 1.1.12771 → 1.1.12778
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
package/src/jscommon/umychart.js
CHANGED
|
@@ -3121,7 +3121,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3121
3121
|
if (!this.Frame || !this.Frame.PtInFrameY) return null;
|
|
3122
3122
|
|
|
3123
3123
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
3124
|
-
if (!dragY || dragY.Index<0
|
|
3124
|
+
if (!dragY || dragY.Index<0 ) return null;
|
|
3125
|
+
|
|
3126
|
+
if (dragY.IsOverlay===true)
|
|
3127
|
+
{
|
|
3128
|
+
if (!dragY.Right || !this.EnableYDrag.Right) return null;
|
|
3129
|
+
|
|
3130
|
+
if (this.Frame.IsEnableOverlayDragY(dragY.Index, dragY.OverlayIndex)) return dragY;
|
|
3131
|
+
|
|
3132
|
+
return null;
|
|
3133
|
+
}
|
|
3125
3134
|
|
|
3126
3135
|
if (dragY.Left && this.EnableYDrag.Left && this.Frame.IsEnableDragY(dragY.Index))
|
|
3127
3136
|
{
|
|
@@ -16547,6 +16556,12 @@ function HQTradeFrame()
|
|
|
16547
16556
|
|
|
16548
16557
|
var subFrame=this.SubFrame[index];
|
|
16549
16558
|
var frame=subFrame.Frame;
|
|
16559
|
+
if (obj.IsOverlay)
|
|
16560
|
+
{
|
|
16561
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
16562
|
+
if (!overlayItem) return false;
|
|
16563
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
16564
|
+
}
|
|
16550
16565
|
var splitOper=frame.YSplitOperator;
|
|
16551
16566
|
|
|
16552
16567
|
if (splitOper.FixedYMaxMin)
|
|
@@ -16575,6 +16590,13 @@ function HQTradeFrame()
|
|
|
16575
16590
|
|
|
16576
16591
|
var subFrame=this.SubFrame[index];
|
|
16577
16592
|
var frame=subFrame.Frame;
|
|
16593
|
+
if (obj.IsOverlay)
|
|
16594
|
+
{
|
|
16595
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
16596
|
+
if (!overlayItem) return false;
|
|
16597
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
16598
|
+
}
|
|
16599
|
+
|
|
16578
16600
|
var top=frame.ChartBorder.GetTopEx();
|
|
16579
16601
|
var bottom=frame.ChartBorder.GetBottomEx();
|
|
16580
16602
|
|
|
@@ -17843,6 +17865,22 @@ function HQTradeFrame()
|
|
|
17843
17865
|
return split.IsEnableDragY();
|
|
17844
17866
|
}
|
|
17845
17867
|
|
|
17868
|
+
this.IsEnableOverlayDragY=function(index, overlayIndex)
|
|
17869
|
+
{
|
|
17870
|
+
if (!this.SubFrame) return false;
|
|
17871
|
+
var item=this.SubFrame[index];
|
|
17872
|
+
var overlayItem=item.OverlayIndex[overlayIndex];
|
|
17873
|
+
if (!overlayItem || !overlayItem.Frame) return false;
|
|
17874
|
+
|
|
17875
|
+
var split=overlayItem.Frame.YSplitOperator;
|
|
17876
|
+
if (overlayItem.Frame.IsShareY)
|
|
17877
|
+
split=overlayItem.Frame.MainFrame.YSplitOperator;
|
|
17878
|
+
|
|
17879
|
+
if (!split || typeof(split.IsEnableDragY)!='function') return false;
|
|
17880
|
+
|
|
17881
|
+
return split.IsEnableDragY();
|
|
17882
|
+
}
|
|
17883
|
+
|
|
17846
17884
|
this.PtInFrameY=function(x,y)
|
|
17847
17885
|
{
|
|
17848
17886
|
var rightExtendWith=0;
|
|
@@ -71171,7 +71209,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
71171
71209
|
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
71172
71210
|
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
71173
71211
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
71174
|
-
if (dragY && dragY.Index>=0
|
|
71212
|
+
if (dragY && dragY.Index>=0)
|
|
71175
71213
|
{
|
|
71176
71214
|
this.CancelZoomUpDownFrameY(dragY);
|
|
71177
71215
|
}
|
|
@@ -74987,6 +75025,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
74987
75025
|
this.DataStatus.LatestDay=false;
|
|
74988
75026
|
}
|
|
74989
75027
|
|
|
75028
|
+
this.ClearOverlaySymbolData=function()
|
|
75029
|
+
{
|
|
75030
|
+
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
75031
|
+
{
|
|
75032
|
+
var chart=this.OverlayChartPaint[i];
|
|
75033
|
+
chart.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID; //重置状态
|
|
75034
|
+
chart.Data.Data=[]; //清空数据
|
|
75035
|
+
}
|
|
75036
|
+
}
|
|
75037
|
+
|
|
74990
75038
|
//切换股票代码
|
|
74991
75039
|
this.ChangeSymbol=function(symbol,option)
|
|
74992
75040
|
{
|
|
@@ -75154,6 +75202,58 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
75154
75202
|
this.RequestData();
|
|
75155
75203
|
}
|
|
75156
75204
|
|
|
75205
|
+
//[{ Symbol: , Color, Option: }]
|
|
75206
|
+
this.OverlaySymbols=function(aryData)
|
|
75207
|
+
{
|
|
75208
|
+
var aryNewOverlay=[];
|
|
75209
|
+
for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
|
|
75210
|
+
{
|
|
75211
|
+
var overlayItem=aryData[i];
|
|
75212
|
+
var strSymbol=overlayItem.Symbol;
|
|
75213
|
+
var bFind=false;
|
|
75214
|
+
for(j=0;j<this.OverlayChartPaint.length; ++j)
|
|
75215
|
+
{
|
|
75216
|
+
var item=this.OverlayChartPaint[j];
|
|
75217
|
+
if (item.Symbol==strSymbol)
|
|
75218
|
+
{
|
|
75219
|
+
bFind=true;
|
|
75220
|
+
console.warn(`[MinuteChartContainer::OverlaySymbols] overlay symbol=${strSymbol} exist.`);
|
|
75221
|
+
break;
|
|
75222
|
+
}
|
|
75223
|
+
}
|
|
75224
|
+
|
|
75225
|
+
if (!bFind) aryNewOverlay.push(overlayItem);
|
|
75226
|
+
}
|
|
75227
|
+
|
|
75228
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
|
|
75229
|
+
|
|
75230
|
+
for(var i=0;i<aryNewSymbol.length;++i)
|
|
75231
|
+
{
|
|
75232
|
+
var overlayItem=aryNewSymbol[i];
|
|
75233
|
+
var strSymbol=overlayItem.Symbol;
|
|
75234
|
+
var paint=new ChartOverlayMinutePriceLine();
|
|
75235
|
+
paint.Canvas=this.Canvas;
|
|
75236
|
+
paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
75237
|
+
paint.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
75238
|
+
paint.Name="Overlay-Minute";
|
|
75239
|
+
paint.Symbol=strSymbol;
|
|
75240
|
+
paint.Identify=`Overlay-Minute-${strSymbol}`;
|
|
75241
|
+
if (overlayItem.Option && overlayItem.Option.Color) paint.Color=overlayItem.Option.Color; //外部设置颜色
|
|
75242
|
+
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
75243
|
+
++g_JSChartResource.OverlaySymbol.Random;
|
|
75244
|
+
paint.MainData=this.SourceData; //绑定主图数据
|
|
75245
|
+
|
|
75246
|
+
if (paint.SetOption) paint.SetOption(overlayItem.Option);
|
|
75247
|
+
|
|
75248
|
+
this.OverlayChartPaint.push(paint);
|
|
75249
|
+
}
|
|
75250
|
+
|
|
75251
|
+
if (this.DayCount<=1) this.RequestOverlayMinuteData(); //请求数据
|
|
75252
|
+
else this.RequestOverlayHistoryMinuteData();
|
|
75253
|
+
|
|
75254
|
+
return true;
|
|
75255
|
+
}
|
|
75256
|
+
|
|
75157
75257
|
//叠加股票 symbol支持数据 ["600000.sh", "0000001.sz"]
|
|
75158
75258
|
this.OverlaySymbol=function(symbol,option)
|
|
75159
75259
|
{
|
|
@@ -76329,7 +76429,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
76329
76429
|
|
|
76330
76430
|
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
76331
76431
|
{
|
|
76332
|
-
|
|
76432
|
+
var item=this.OverlayChartPaint[i]
|
|
76333
76433
|
var symbol=item.Symbol;
|
|
76334
76434
|
if (!symbol) continue;
|
|
76335
76435
|
if (item.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID) continue;
|
|
@@ -7265,7 +7265,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7265
7265
|
if (!this.Frame || !this.Frame.PtInFrameY) return null;
|
|
7266
7266
|
|
|
7267
7267
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
7268
|
-
if (!dragY || dragY.Index<0
|
|
7268
|
+
if (!dragY || dragY.Index<0 ) return null;
|
|
7269
|
+
|
|
7270
|
+
if (dragY.IsOverlay===true)
|
|
7271
|
+
{
|
|
7272
|
+
if (!dragY.Right || !this.EnableYDrag.Right) return null;
|
|
7273
|
+
|
|
7274
|
+
if (this.Frame.IsEnableOverlayDragY(dragY.Index, dragY.OverlayIndex)) return dragY;
|
|
7275
|
+
|
|
7276
|
+
return null;
|
|
7277
|
+
}
|
|
7269
7278
|
|
|
7270
7279
|
if (dragY.Left && this.EnableYDrag.Left && this.Frame.IsEnableDragY(dragY.Index))
|
|
7271
7280
|
{
|
|
@@ -20691,6 +20700,12 @@ function HQTradeFrame()
|
|
|
20691
20700
|
|
|
20692
20701
|
var subFrame=this.SubFrame[index];
|
|
20693
20702
|
var frame=subFrame.Frame;
|
|
20703
|
+
if (obj.IsOverlay)
|
|
20704
|
+
{
|
|
20705
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
20706
|
+
if (!overlayItem) return false;
|
|
20707
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
20708
|
+
}
|
|
20694
20709
|
var splitOper=frame.YSplitOperator;
|
|
20695
20710
|
|
|
20696
20711
|
if (splitOper.FixedYMaxMin)
|
|
@@ -20719,6 +20734,13 @@ function HQTradeFrame()
|
|
|
20719
20734
|
|
|
20720
20735
|
var subFrame=this.SubFrame[index];
|
|
20721
20736
|
var frame=subFrame.Frame;
|
|
20737
|
+
if (obj.IsOverlay)
|
|
20738
|
+
{
|
|
20739
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
20740
|
+
if (!overlayItem) return false;
|
|
20741
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
20742
|
+
}
|
|
20743
|
+
|
|
20722
20744
|
var top=frame.ChartBorder.GetTopEx();
|
|
20723
20745
|
var bottom=frame.ChartBorder.GetBottomEx();
|
|
20724
20746
|
|
|
@@ -21987,6 +22009,22 @@ function HQTradeFrame()
|
|
|
21987
22009
|
return split.IsEnableDragY();
|
|
21988
22010
|
}
|
|
21989
22011
|
|
|
22012
|
+
this.IsEnableOverlayDragY=function(index, overlayIndex)
|
|
22013
|
+
{
|
|
22014
|
+
if (!this.SubFrame) return false;
|
|
22015
|
+
var item=this.SubFrame[index];
|
|
22016
|
+
var overlayItem=item.OverlayIndex[overlayIndex];
|
|
22017
|
+
if (!overlayItem || !overlayItem.Frame) return false;
|
|
22018
|
+
|
|
22019
|
+
var split=overlayItem.Frame.YSplitOperator;
|
|
22020
|
+
if (overlayItem.Frame.IsShareY)
|
|
22021
|
+
split=overlayItem.Frame.MainFrame.YSplitOperator;
|
|
22022
|
+
|
|
22023
|
+
if (!split || typeof(split.IsEnableDragY)!='function') return false;
|
|
22024
|
+
|
|
22025
|
+
return split.IsEnableDragY();
|
|
22026
|
+
}
|
|
22027
|
+
|
|
21990
22028
|
this.PtInFrameY=function(x,y)
|
|
21991
22029
|
{
|
|
21992
22030
|
var rightExtendWith=0;
|
|
@@ -75315,7 +75353,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
75315
75353
|
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
75316
75354
|
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
75317
75355
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
75318
|
-
if (dragY && dragY.Index>=0
|
|
75356
|
+
if (dragY && dragY.Index>=0)
|
|
75319
75357
|
{
|
|
75320
75358
|
this.CancelZoomUpDownFrameY(dragY);
|
|
75321
75359
|
}
|
|
@@ -79131,6 +79169,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79131
79169
|
this.DataStatus.LatestDay=false;
|
|
79132
79170
|
}
|
|
79133
79171
|
|
|
79172
|
+
this.ClearOverlaySymbolData=function()
|
|
79173
|
+
{
|
|
79174
|
+
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
79175
|
+
{
|
|
79176
|
+
var chart=this.OverlayChartPaint[i];
|
|
79177
|
+
chart.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID; //重置状态
|
|
79178
|
+
chart.Data.Data=[]; //清空数据
|
|
79179
|
+
}
|
|
79180
|
+
}
|
|
79181
|
+
|
|
79134
79182
|
//切换股票代码
|
|
79135
79183
|
this.ChangeSymbol=function(symbol,option)
|
|
79136
79184
|
{
|
|
@@ -79298,6 +79346,58 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79298
79346
|
this.RequestData();
|
|
79299
79347
|
}
|
|
79300
79348
|
|
|
79349
|
+
//[{ Symbol: , Color, Option: }]
|
|
79350
|
+
this.OverlaySymbols=function(aryData)
|
|
79351
|
+
{
|
|
79352
|
+
var aryNewOverlay=[];
|
|
79353
|
+
for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
|
|
79354
|
+
{
|
|
79355
|
+
var overlayItem=aryData[i];
|
|
79356
|
+
var strSymbol=overlayItem.Symbol;
|
|
79357
|
+
var bFind=false;
|
|
79358
|
+
for(j=0;j<this.OverlayChartPaint.length; ++j)
|
|
79359
|
+
{
|
|
79360
|
+
var item=this.OverlayChartPaint[j];
|
|
79361
|
+
if (item.Symbol==strSymbol)
|
|
79362
|
+
{
|
|
79363
|
+
bFind=true;
|
|
79364
|
+
console.warn(`[MinuteChartContainer::OverlaySymbols] overlay symbol=${strSymbol} exist.`);
|
|
79365
|
+
break;
|
|
79366
|
+
}
|
|
79367
|
+
}
|
|
79368
|
+
|
|
79369
|
+
if (!bFind) aryNewOverlay.push(overlayItem);
|
|
79370
|
+
}
|
|
79371
|
+
|
|
79372
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
|
|
79373
|
+
|
|
79374
|
+
for(var i=0;i<aryNewSymbol.length;++i)
|
|
79375
|
+
{
|
|
79376
|
+
var overlayItem=aryNewSymbol[i];
|
|
79377
|
+
var strSymbol=overlayItem.Symbol;
|
|
79378
|
+
var paint=new ChartOverlayMinutePriceLine();
|
|
79379
|
+
paint.Canvas=this.Canvas;
|
|
79380
|
+
paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
79381
|
+
paint.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
79382
|
+
paint.Name="Overlay-Minute";
|
|
79383
|
+
paint.Symbol=strSymbol;
|
|
79384
|
+
paint.Identify=`Overlay-Minute-${strSymbol}`;
|
|
79385
|
+
if (overlayItem.Option && overlayItem.Option.Color) paint.Color=overlayItem.Option.Color; //外部设置颜色
|
|
79386
|
+
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
79387
|
+
++g_JSChartResource.OverlaySymbol.Random;
|
|
79388
|
+
paint.MainData=this.SourceData; //绑定主图数据
|
|
79389
|
+
|
|
79390
|
+
if (paint.SetOption) paint.SetOption(overlayItem.Option);
|
|
79391
|
+
|
|
79392
|
+
this.OverlayChartPaint.push(paint);
|
|
79393
|
+
}
|
|
79394
|
+
|
|
79395
|
+
if (this.DayCount<=1) this.RequestOverlayMinuteData(); //请求数据
|
|
79396
|
+
else this.RequestOverlayHistoryMinuteData();
|
|
79397
|
+
|
|
79398
|
+
return true;
|
|
79399
|
+
}
|
|
79400
|
+
|
|
79301
79401
|
//叠加股票 symbol支持数据 ["600000.sh", "0000001.sz"]
|
|
79302
79402
|
this.OverlaySymbol=function(symbol,option)
|
|
79303
79403
|
{
|
|
@@ -80473,7 +80573,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80473
80573
|
|
|
80474
80574
|
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
80475
80575
|
{
|
|
80476
|
-
|
|
80576
|
+
var item=this.OverlayChartPaint[i]
|
|
80477
80577
|
var symbol=item.Symbol;
|
|
80478
80578
|
if (!symbol) continue;
|
|
80479
80579
|
if (item.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID) continue;
|
|
@@ -131277,7 +131377,7 @@ function ScrollBarBGChart()
|
|
|
131277
131377
|
|
|
131278
131378
|
|
|
131279
131379
|
|
|
131280
|
-
var HQCHART_VERSION="1.1.
|
|
131380
|
+
var HQCHART_VERSION="1.1.12777";
|
|
131281
131381
|
|
|
131282
131382
|
function PrintHQChartVersion()
|
|
131283
131383
|
{
|
|
@@ -7309,7 +7309,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7309
7309
|
if (!this.Frame || !this.Frame.PtInFrameY) return null;
|
|
7310
7310
|
|
|
7311
7311
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
7312
|
-
if (!dragY || dragY.Index<0
|
|
7312
|
+
if (!dragY || dragY.Index<0 ) return null;
|
|
7313
|
+
|
|
7314
|
+
if (dragY.IsOverlay===true)
|
|
7315
|
+
{
|
|
7316
|
+
if (!dragY.Right || !this.EnableYDrag.Right) return null;
|
|
7317
|
+
|
|
7318
|
+
if (this.Frame.IsEnableOverlayDragY(dragY.Index, dragY.OverlayIndex)) return dragY;
|
|
7319
|
+
|
|
7320
|
+
return null;
|
|
7321
|
+
}
|
|
7313
7322
|
|
|
7314
7323
|
if (dragY.Left && this.EnableYDrag.Left && this.Frame.IsEnableDragY(dragY.Index))
|
|
7315
7324
|
{
|
|
@@ -20735,6 +20744,12 @@ function HQTradeFrame()
|
|
|
20735
20744
|
|
|
20736
20745
|
var subFrame=this.SubFrame[index];
|
|
20737
20746
|
var frame=subFrame.Frame;
|
|
20747
|
+
if (obj.IsOverlay)
|
|
20748
|
+
{
|
|
20749
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
20750
|
+
if (!overlayItem) return false;
|
|
20751
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
20752
|
+
}
|
|
20738
20753
|
var splitOper=frame.YSplitOperator;
|
|
20739
20754
|
|
|
20740
20755
|
if (splitOper.FixedYMaxMin)
|
|
@@ -20763,6 +20778,13 @@ function HQTradeFrame()
|
|
|
20763
20778
|
|
|
20764
20779
|
var subFrame=this.SubFrame[index];
|
|
20765
20780
|
var frame=subFrame.Frame;
|
|
20781
|
+
if (obj.IsOverlay)
|
|
20782
|
+
{
|
|
20783
|
+
var overlayItem=subFrame.OverlayIndex[obj.OverlayIndex];
|
|
20784
|
+
if (!overlayItem) return false;
|
|
20785
|
+
if (!overlayItem.Frame.IsShareY) frame=overlayItem.Frame;
|
|
20786
|
+
}
|
|
20787
|
+
|
|
20766
20788
|
var top=frame.ChartBorder.GetTopEx();
|
|
20767
20789
|
var bottom=frame.ChartBorder.GetBottomEx();
|
|
20768
20790
|
|
|
@@ -22031,6 +22053,22 @@ function HQTradeFrame()
|
|
|
22031
22053
|
return split.IsEnableDragY();
|
|
22032
22054
|
}
|
|
22033
22055
|
|
|
22056
|
+
this.IsEnableOverlayDragY=function(index, overlayIndex)
|
|
22057
|
+
{
|
|
22058
|
+
if (!this.SubFrame) return false;
|
|
22059
|
+
var item=this.SubFrame[index];
|
|
22060
|
+
var overlayItem=item.OverlayIndex[overlayIndex];
|
|
22061
|
+
if (!overlayItem || !overlayItem.Frame) return false;
|
|
22062
|
+
|
|
22063
|
+
var split=overlayItem.Frame.YSplitOperator;
|
|
22064
|
+
if (overlayItem.Frame.IsShareY)
|
|
22065
|
+
split=overlayItem.Frame.MainFrame.YSplitOperator;
|
|
22066
|
+
|
|
22067
|
+
if (!split || typeof(split.IsEnableDragY)!='function') return false;
|
|
22068
|
+
|
|
22069
|
+
return split.IsEnableDragY();
|
|
22070
|
+
}
|
|
22071
|
+
|
|
22034
22072
|
this.PtInFrameY=function(x,y)
|
|
22035
22073
|
{
|
|
22036
22074
|
var rightExtendWith=0;
|
|
@@ -75359,7 +75397,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
75359
75397
|
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
75360
75398
|
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
75361
75399
|
var dragY=this.Frame.PtInFrameY(x,y);
|
|
75362
|
-
if (dragY && dragY.Index>=0
|
|
75400
|
+
if (dragY && dragY.Index>=0)
|
|
75363
75401
|
{
|
|
75364
75402
|
this.CancelZoomUpDownFrameY(dragY);
|
|
75365
75403
|
}
|
|
@@ -79175,6 +79213,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79175
79213
|
this.DataStatus.LatestDay=false;
|
|
79176
79214
|
}
|
|
79177
79215
|
|
|
79216
|
+
this.ClearOverlaySymbolData=function()
|
|
79217
|
+
{
|
|
79218
|
+
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
79219
|
+
{
|
|
79220
|
+
var chart=this.OverlayChartPaint[i];
|
|
79221
|
+
chart.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID; //重置状态
|
|
79222
|
+
chart.Data.Data=[]; //清空数据
|
|
79223
|
+
}
|
|
79224
|
+
}
|
|
79225
|
+
|
|
79178
79226
|
//切换股票代码
|
|
79179
79227
|
this.ChangeSymbol=function(symbol,option)
|
|
79180
79228
|
{
|
|
@@ -79342,6 +79390,58 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79342
79390
|
this.RequestData();
|
|
79343
79391
|
}
|
|
79344
79392
|
|
|
79393
|
+
//[{ Symbol: , Color, Option: }]
|
|
79394
|
+
this.OverlaySymbols=function(aryData)
|
|
79395
|
+
{
|
|
79396
|
+
var aryNewOverlay=[];
|
|
79397
|
+
for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
|
|
79398
|
+
{
|
|
79399
|
+
var overlayItem=aryData[i];
|
|
79400
|
+
var strSymbol=overlayItem.Symbol;
|
|
79401
|
+
var bFind=false;
|
|
79402
|
+
for(j=0;j<this.OverlayChartPaint.length; ++j)
|
|
79403
|
+
{
|
|
79404
|
+
var item=this.OverlayChartPaint[j];
|
|
79405
|
+
if (item.Symbol==strSymbol)
|
|
79406
|
+
{
|
|
79407
|
+
bFind=true;
|
|
79408
|
+
console.warn(`[MinuteChartContainer::OverlaySymbols] overlay symbol=${strSymbol} exist.`);
|
|
79409
|
+
break;
|
|
79410
|
+
}
|
|
79411
|
+
}
|
|
79412
|
+
|
|
79413
|
+
if (!bFind) aryNewOverlay.push(overlayItem);
|
|
79414
|
+
}
|
|
79415
|
+
|
|
79416
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
|
|
79417
|
+
|
|
79418
|
+
for(var i=0;i<aryNewSymbol.length;++i)
|
|
79419
|
+
{
|
|
79420
|
+
var overlayItem=aryNewSymbol[i];
|
|
79421
|
+
var strSymbol=overlayItem.Symbol;
|
|
79422
|
+
var paint=new ChartOverlayMinutePriceLine();
|
|
79423
|
+
paint.Canvas=this.Canvas;
|
|
79424
|
+
paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
79425
|
+
paint.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
79426
|
+
paint.Name="Overlay-Minute";
|
|
79427
|
+
paint.Symbol=strSymbol;
|
|
79428
|
+
paint.Identify=`Overlay-Minute-${strSymbol}`;
|
|
79429
|
+
if (overlayItem.Option && overlayItem.Option.Color) paint.Color=overlayItem.Option.Color; //外部设置颜色
|
|
79430
|
+
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
79431
|
+
++g_JSChartResource.OverlaySymbol.Random;
|
|
79432
|
+
paint.MainData=this.SourceData; //绑定主图数据
|
|
79433
|
+
|
|
79434
|
+
if (paint.SetOption) paint.SetOption(overlayItem.Option);
|
|
79435
|
+
|
|
79436
|
+
this.OverlayChartPaint.push(paint);
|
|
79437
|
+
}
|
|
79438
|
+
|
|
79439
|
+
if (this.DayCount<=1) this.RequestOverlayMinuteData(); //请求数据
|
|
79440
|
+
else this.RequestOverlayHistoryMinuteData();
|
|
79441
|
+
|
|
79442
|
+
return true;
|
|
79443
|
+
}
|
|
79444
|
+
|
|
79345
79445
|
//叠加股票 symbol支持数据 ["600000.sh", "0000001.sz"]
|
|
79346
79446
|
this.OverlaySymbol=function(symbol,option)
|
|
79347
79447
|
{
|
|
@@ -80517,7 +80617,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80517
80617
|
|
|
80518
80618
|
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
80519
80619
|
{
|
|
80520
|
-
|
|
80620
|
+
var item=this.OverlayChartPaint[i]
|
|
80521
80621
|
var symbol=item.Symbol;
|
|
80522
80622
|
if (!symbol) continue;
|
|
80523
80623
|
if (item.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID) continue;
|
|
@@ -131435,7 +131535,7 @@ function HQChartScriptWorker()
|
|
|
131435
131535
|
|
|
131436
131536
|
|
|
131437
131537
|
|
|
131438
|
-
var HQCHART_VERSION="1.1.
|
|
131538
|
+
var HQCHART_VERSION="1.1.12777";
|
|
131439
131539
|
|
|
131440
131540
|
function PrintHQChartVersion()
|
|
131441
131541
|
{
|