hqchart 1.1.14542 → 1.1.14555
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +44 -29
- package/package.json +1 -1
- package/src/jscommon/umychart.PopMinuteChart.js +260 -5
- package/src/jscommon/umychart.js +179 -135
- package/src/jscommon/umychart.style.js +5 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +185 -136
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +445 -141
package/src/jscommon/umychart.js
CHANGED
|
@@ -3425,6 +3425,51 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3425
3425
|
this.DialogSearchIndex=null;
|
|
3426
3426
|
}
|
|
3427
3427
|
|
|
3428
|
+
this.DestroyDialogDrawTool=function()
|
|
3429
|
+
{
|
|
3430
|
+
if (!this.DialogDrawTool) return;
|
|
3431
|
+
|
|
3432
|
+
this.DialogDrawTool.Destroy();
|
|
3433
|
+
this.DialogDrawTool=null;
|
|
3434
|
+
}
|
|
3435
|
+
|
|
3436
|
+
this.DestroyDialogModifyIndexParam=function()
|
|
3437
|
+
{
|
|
3438
|
+
if (this.DialogModifyIndexParam) return;
|
|
3439
|
+
|
|
3440
|
+
this.DialogModifyIndexParam.Destroy();
|
|
3441
|
+
this.DialogModifyIndexParam=null;
|
|
3442
|
+
}
|
|
3443
|
+
|
|
3444
|
+
this.DestroyDialogSelectRect=function()
|
|
3445
|
+
{
|
|
3446
|
+
if (!this.DialogSelectRect) return;
|
|
3447
|
+
|
|
3448
|
+
this.DialogSelectRect.Destroy();
|
|
3449
|
+
this.DialogSelectRect=null;
|
|
3450
|
+
}
|
|
3451
|
+
|
|
3452
|
+
this.DestroyDialogModifyDraw=function()
|
|
3453
|
+
{
|
|
3454
|
+
if (!this.DialogModifyDraw) return;
|
|
3455
|
+
|
|
3456
|
+
this.DialogModifyDraw.Destroy();
|
|
3457
|
+
this.DialogModifyDraw=null;
|
|
3458
|
+
}
|
|
3459
|
+
|
|
3460
|
+
//隐藏内置的弹框div
|
|
3461
|
+
this.HideAllPopDiv=function()
|
|
3462
|
+
{
|
|
3463
|
+
this.HideFloatTooltip();
|
|
3464
|
+
this.CloseTooltipDialog();
|
|
3465
|
+
|
|
3466
|
+
if (this.DialogDrawTool) this.DialogDrawTool.Close();
|
|
3467
|
+
this.CloseModifyDrawDialog();
|
|
3468
|
+
|
|
3469
|
+
if (this.DialogSelectRect) this.DialogSelectRect.Close();
|
|
3470
|
+
if (this.DialogSearchIndex) this.DialogSearchIndex.Close();
|
|
3471
|
+
if (this.DialogModifyIndexParam) this.DialogModifyIndexParam.Close();
|
|
3472
|
+
}
|
|
3428
3473
|
|
|
3429
3474
|
|
|
3430
3475
|
//obj={ Element:, Canvas: }
|
|
@@ -3476,9 +3521,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3476
3521
|
{
|
|
3477
3522
|
this.IsDestroy=true;
|
|
3478
3523
|
this.StopAutoUpdate();
|
|
3524
|
+
|
|
3479
3525
|
this.DestroyTooltipDialog();
|
|
3480
3526
|
this.DestroyFloatTooltip();
|
|
3527
|
+
|
|
3481
3528
|
this.DestroySearchIndexDialog();
|
|
3529
|
+
this.DestroyDialogModifyIndexParam();
|
|
3530
|
+
|
|
3531
|
+
this.DestroyDialogDrawTool();
|
|
3532
|
+
this.DestroyDialogModifyDraw();
|
|
3533
|
+
|
|
3534
|
+
this.DestroyDialogSelectRect();
|
|
3482
3535
|
}
|
|
3483
3536
|
|
|
3484
3537
|
this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
|
|
@@ -6933,16 +6986,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6933
6986
|
{
|
|
6934
6987
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
6935
6988
|
|
|
6989
|
+
var keyID = e.keyCode ? e.keyCode :e.which;
|
|
6990
|
+
|
|
6936
6991
|
//回调事件
|
|
6937
6992
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYDOWN);
|
|
6938
6993
|
if (event && event.Callback)
|
|
6939
6994
|
{
|
|
6940
|
-
var sendData={ e:e, PreventDefault:false };
|
|
6995
|
+
var sendData={ e:e, KeyID:keyID, PreventDefault:false };
|
|
6941
6996
|
event.Callback(event, sendData, this);
|
|
6942
6997
|
if (sendData.PreventDefault) return;
|
|
6943
6998
|
}
|
|
6944
|
-
|
|
6945
|
-
var keyID = e.keyCode ? e.keyCode :e.which;
|
|
6946
6999
|
|
|
6947
7000
|
var draw=false;
|
|
6948
7001
|
if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
|
|
@@ -36028,23 +36081,21 @@ function ChartStickLine()
|
|
|
36028
36081
|
delete this.newMethod;
|
|
36029
36082
|
|
|
36030
36083
|
this.ClassName='ChartStickLine'; //类名
|
|
36031
|
-
this.Color="rgb(255,193,37)";
|
|
36032
|
-
this.BarType=0;
|
|
36033
|
-
this.LineDotted=[3,3];
|
|
36034
|
-
this.Width=0;
|
|
36084
|
+
this.Color="rgb(255,193,37)"; //线段颜色
|
|
36085
|
+
this.BarType=0; //柱子类型 0=实心 1=空心 -1=画虚线空心柱
|
|
36086
|
+
this.LineDotted=[3,3]; //虚线设置
|
|
36087
|
+
this.Width=0; //柱子宽度 0=1 3,50=k线宽度 101=K线宽度+间距宽度
|
|
36088
|
+
this.IsHScreen=false;
|
|
36089
|
+
|
|
36090
|
+
this.BarCache={ Type:0 }; //Type:1=线段 2=柱子
|
|
36035
36091
|
|
|
36036
36092
|
this.SetEmptyBar=function() //设置空心柱子
|
|
36037
36093
|
{
|
|
36038
36094
|
if (this.BarType!=1 && this.BarType!=-1) return false;
|
|
36039
36095
|
|
|
36040
|
-
this.Canvas.lineWidth=GetDevicePixelRatio();
|
|
36041
|
-
this.Canvas.strokeStyle=this.Color;
|
|
36042
36096
|
var emptyBGColor=g_JSChartResource.EmptyBarBGColor;
|
|
36043
|
-
if (emptyBGColor) this.
|
|
36044
|
-
if (this.BarType==-1)
|
|
36045
|
-
{
|
|
36046
|
-
this.Canvas.setLineDash(this.LineDotted); //虚线
|
|
36047
|
-
}
|
|
36097
|
+
if (emptyBGColor) this.BarCache.EmptyBGColor=emptyBGColor;
|
|
36098
|
+
if (this.BarType==-1) this.BarCache.LineDotted=this.LineDotted;
|
|
36048
36099
|
|
|
36049
36100
|
return true;
|
|
36050
36101
|
}
|
|
@@ -36054,13 +36105,6 @@ function ChartStickLine()
|
|
|
36054
36105
|
return (this.BarType==1 || this.BarType==-1);
|
|
36055
36106
|
}
|
|
36056
36107
|
|
|
36057
|
-
this.CalculateBarHeight=function(y,y2)
|
|
36058
|
-
{
|
|
36059
|
-
var barHeight=Math.abs(y-y2);
|
|
36060
|
-
if (barHeight<=0) barHeight=1;
|
|
36061
|
-
return barHeight;
|
|
36062
|
-
}
|
|
36063
|
-
|
|
36064
36108
|
this.Draw=function()
|
|
36065
36109
|
{
|
|
36066
36110
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
@@ -36075,81 +36119,93 @@ function ChartStickLine()
|
|
|
36075
36119
|
|
|
36076
36120
|
if (!this.Data || !this.Data.Data) return;
|
|
36077
36121
|
|
|
36078
|
-
var
|
|
36122
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
36123
|
+
this.BarCache={ Color:this.Color, EmptyBGColor:null, Width:1*pixelRatio, Type:0, LineDotted:null };
|
|
36124
|
+
|
|
36125
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);;
|
|
36079
36126
|
var dataWidth=this.ChartFrame.DataWidth;
|
|
36080
36127
|
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
36081
36128
|
var chartright=this.ChartBorder.GetRight();
|
|
36082
|
-
var zoomIndex=this.ChartFrame.ZoomIndex;
|
|
36083
|
-
if (isHScreen) chartright=this.ChartBorder.GetBottom();
|
|
36084
36129
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
36085
36130
|
var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
36086
|
-
if (
|
|
36131
|
+
if (this.IsHScreen)
|
|
36132
|
+
{
|
|
36133
|
+
chartright=this.ChartBorder.GetBottom();
|
|
36134
|
+
xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
36135
|
+
}
|
|
36087
36136
|
|
|
36088
36137
|
var isMinute=this.IsMinuteFrame();
|
|
36089
36138
|
|
|
36090
|
-
this.Canvas.save();
|
|
36091
|
-
var bFillBar=false;
|
|
36092
|
-
var bFillKLine=false;
|
|
36093
|
-
var emptyBGColor=g_JSChartResource.EmptyBarBGColor;
|
|
36094
|
-
|
|
36095
36139
|
if (isMinute)
|
|
36096
36140
|
{
|
|
36097
|
-
if (this.Width>1) this.
|
|
36098
|
-
|
|
36099
|
-
this.Canvas.strokeStyle=this.Color;
|
|
36141
|
+
if (this.Width>1) this.BarCache.Width=2*pixelRatio;
|
|
36142
|
+
this.BarCache.Type=1;
|
|
36100
36143
|
}
|
|
36101
|
-
else if(this.Width
|
|
36144
|
+
else if(this.Width<=0) //宽度时0,使用宽度1
|
|
36102
36145
|
{
|
|
36146
|
+
this.BarCache.Type=1;
|
|
36103
36147
|
this.SetEmptyBar();
|
|
36104
|
-
this.Canvas.lineWidth=GetDevicePixelRatio();
|
|
36105
|
-
this.Canvas.strokeStyle=this.Color;
|
|
36106
36148
|
}
|
|
36107
36149
|
else if (this.Width==3 || this.Width==50) //3和50 K线宽度
|
|
36108
36150
|
{
|
|
36151
|
+
this.BarCache.Type=1;
|
|
36109
36152
|
if (dataWidth>=4)
|
|
36110
36153
|
{
|
|
36111
|
-
|
|
36154
|
+
this.BarCache.Type=2;
|
|
36155
|
+
this.BarCache.Width=dataWidth;
|
|
36112
36156
|
this.SetEmptyBar();
|
|
36113
|
-
if (!this.IsEmptyBar()) this.Canvas.fillStyle=this.Color;
|
|
36114
|
-
this.Canvas.strokeStyle=this.Color;
|
|
36115
36157
|
}
|
|
36116
|
-
else //太细了 画竖线
|
|
36117
|
-
{
|
|
36118
|
-
this.Canvas.lineWidth=GetDevicePixelRatio();
|
|
36119
|
-
this.Canvas.strokeStyle=this.Color;
|
|
36120
|
-
}
|
|
36121
36158
|
}
|
|
36122
|
-
else if (this.Width==101)
|
|
36159
|
+
else if (this.Width==101) //柱子+间距
|
|
36123
36160
|
{
|
|
36124
|
-
|
|
36125
|
-
|
|
36126
|
-
|
|
36161
|
+
this.BarCache.Type=1;
|
|
36162
|
+
var lineWidth=dataWidth+distanceWidth+1*pixelRatio;
|
|
36163
|
+
if (lineWidth>=4)
|
|
36164
|
+
{
|
|
36165
|
+
this.BarCache.Type=2;
|
|
36166
|
+
this.BarCache.Width=lineWidth
|
|
36167
|
+
this.SetEmptyBar();
|
|
36168
|
+
}
|
|
36127
36169
|
}
|
|
36128
36170
|
else if (this.Width<=3)
|
|
36129
36171
|
{
|
|
36130
|
-
var minWidth=2*
|
|
36172
|
+
var minWidth=2*pixelRatio;
|
|
36131
36173
|
var barWidth=dataWidth*(this.Width/3);
|
|
36132
36174
|
if (barWidth<minWidth) barWidth=minWidth;
|
|
36133
|
-
this.
|
|
36134
|
-
if (
|
|
36135
|
-
|
|
36175
|
+
this.BarCache.Type=1;
|
|
36176
|
+
if (barWidth>=4)
|
|
36177
|
+
{
|
|
36178
|
+
this.BarCache.Type=2;
|
|
36179
|
+
this.BarCache.Width=barWidth;
|
|
36180
|
+
this.SetEmptyBar();
|
|
36181
|
+
}
|
|
36136
36182
|
}
|
|
36137
36183
|
else
|
|
36138
36184
|
{
|
|
36139
|
-
var barWidth=this.Width*
|
|
36185
|
+
var barWidth=this.Width*pixelRatio+dataWidth;
|
|
36186
|
+
this.BarCache.Type=2;
|
|
36187
|
+
this.BarCache.Width=barWidth;
|
|
36140
36188
|
this.SetEmptyBar();
|
|
36141
|
-
if (!this.IsEmptyBar()) this.Canvas.fillStyle=this.Color;
|
|
36142
|
-
bFillBar=true;
|
|
36143
36189
|
}
|
|
36144
36190
|
|
|
36191
|
+
this.Canvas.save();
|
|
36192
|
+
this.ClipClient(this.IsHScreen);
|
|
36193
|
+
|
|
36194
|
+
this.Canvas.strokeStyle=this.BarCache.Color;
|
|
36195
|
+
if (this.BarCache.EmptyBGColor) this.Canvas.fillStyle=this.BarCache.EmptyBGColor; //空心柱子
|
|
36196
|
+
else this.Canvas.fillStyle=this.BarCache.Color;
|
|
36197
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.BarCache.LineDotted)) this.Canvas.setLineDash(this.BarCache.LineDotted); //虚线
|
|
36198
|
+
if (this.BarCache.Type==1) this.Canvas.lineWidth=this.BarCache.Width;
|
|
36199
|
+
|
|
36145
36200
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
36146
36201
|
{
|
|
36147
36202
|
var value=this.Data.Data[i];
|
|
36148
|
-
if (value
|
|
36203
|
+
if (!value) continue;
|
|
36204
|
+
if (!IFrameSplitOperator.IsNumber(value.Value)) continue;
|
|
36149
36205
|
|
|
36150
36206
|
var price=value.Value;
|
|
36151
|
-
var price2=
|
|
36152
|
-
if (
|
|
36207
|
+
var price2=0;
|
|
36208
|
+
if (IFrameSplitOperator.IsNumber(value.Value2)) price2=value.Value2;
|
|
36153
36209
|
|
|
36154
36210
|
if (isMinute)
|
|
36155
36211
|
{
|
|
@@ -36162,103 +36218,79 @@ function ChartStickLine()
|
|
|
36162
36218
|
var x=left+(right-left)/2;
|
|
36163
36219
|
}
|
|
36164
36220
|
|
|
36165
|
-
var y=this.ChartFrame.GetYFromData(price);
|
|
36166
|
-
var y2=this.ChartFrame.GetYFromData(price2);
|
|
36221
|
+
var y=this.ChartFrame.GetYFromData(price,false);
|
|
36222
|
+
var y2=this.ChartFrame.GetYFromData(price2,false);
|
|
36167
36223
|
|
|
36168
36224
|
if (x>chartright) break;
|
|
36169
36225
|
|
|
36170
|
-
|
|
36171
|
-
|
|
36172
|
-
|
|
36173
|
-
{
|
|
36174
|
-
var left=x-barWidth/2;
|
|
36175
|
-
var width=barWidth;
|
|
36176
|
-
if (this.IsEmptyBar()) //空心
|
|
36177
|
-
{
|
|
36178
|
-
this.Canvas.beginPath();
|
|
36179
|
-
this.Canvas.rect(ToFixedPoint(Math.min(y,y2)),ToFixedPoint(left),ToFixedRect(Math.abs(y-y2)),ToFixedRect(width));
|
|
36180
|
-
this.Canvas.stroke();
|
|
36181
|
-
}
|
|
36182
|
-
else
|
|
36183
|
-
{
|
|
36184
|
-
this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(left),ToFixedRect(Math.abs(y-y2)),ToFixedRect(width));
|
|
36185
|
-
}
|
|
36186
|
-
}
|
|
36187
|
-
else
|
|
36188
|
-
{
|
|
36189
|
-
var left=x-barWidth/2;
|
|
36190
|
-
var width=barWidth;
|
|
36191
|
-
if (left+width>chartright) width=chartright-left; //不要超过右边框子
|
|
36192
|
-
if (this.IsEmptyBar()) //空心
|
|
36193
|
-
{
|
|
36194
|
-
if (emptyBGColor)
|
|
36195
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));
|
|
36226
|
+
var xCenter=x;
|
|
36227
|
+
var yTop=Math.min(y,y2);
|
|
36228
|
+
var barHeight=Math.abs(y-y2); //柱子高度
|
|
36196
36229
|
|
|
36197
|
-
|
|
36198
|
-
|
|
36199
|
-
|
|
36200
|
-
|
|
36201
|
-
|
|
36202
|
-
|
|
36203
|
-
|
|
36204
|
-
|
|
36205
|
-
|
|
36230
|
+
this.DrawBar(xCenter, yTop, barHeight);
|
|
36231
|
+
}
|
|
36232
|
+
|
|
36233
|
+
this.Canvas.restore();
|
|
36234
|
+
}
|
|
36235
|
+
|
|
36236
|
+
this.DrawBar=function(xCenter, ytop, barHeight)
|
|
36237
|
+
{
|
|
36238
|
+
if (barHeight<1) barHeight=1;
|
|
36239
|
+
|
|
36240
|
+
if (this.BarCache.Type==1) //线段
|
|
36241
|
+
{
|
|
36242
|
+
if (this.IsHScreen)
|
|
36243
|
+
{
|
|
36244
|
+
this.Canvas.beginPath();
|
|
36245
|
+
this.Canvas.moveTo(ytop,ToFixedPoint(xCenter));
|
|
36246
|
+
this.Canvas.lineTo(ytop+barHeight,ToFixedPoint(xCenter));
|
|
36247
|
+
this.Canvas.stroke();
|
|
36206
36248
|
}
|
|
36207
|
-
else
|
|
36249
|
+
else
|
|
36250
|
+
{
|
|
36251
|
+
this.Canvas.beginPath();
|
|
36252
|
+
this.Canvas.moveTo(ToFixedPoint(xCenter),ytop);
|
|
36253
|
+
this.Canvas.lineTo(ToFixedPoint(xCenter),ytop+barHeight);
|
|
36254
|
+
this.Canvas.stroke();
|
|
36255
|
+
}
|
|
36256
|
+
}
|
|
36257
|
+
else if (this.BarCache.Type==2) //柱子
|
|
36258
|
+
{
|
|
36259
|
+
if (this.IsHScreen)
|
|
36208
36260
|
{
|
|
36209
|
-
|
|
36261
|
+
var xLeft=xCenter-this.BarCache.Width/2;
|
|
36262
|
+
if (this.IsEmptyBar()) //空心
|
|
36210
36263
|
{
|
|
36211
|
-
if (
|
|
36212
|
-
|
|
36213
|
-
this.Canvas.beginPath();
|
|
36214
|
-
this.Canvas.rect(ToFixedPoint(Math.min(y,y2)),ToFixedPoint(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));
|
|
36215
|
-
this.Canvas.stroke();
|
|
36216
|
-
}
|
|
36217
|
-
else
|
|
36218
|
-
{
|
|
36219
|
-
if (emptyBGColor)
|
|
36220
|
-
this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));
|
|
36264
|
+
if (this.BarCache.EmptyBGColor) //背景色填充
|
|
36265
|
+
this.Canvas.fillRect(ToFixedRect(ytop),ToFixedRect(xLeft),ToFixedRect(barHeight),ToFixedRect(this.BarCache.Width));
|
|
36221
36266
|
|
|
36222
|
-
|
|
36223
|
-
|
|
36224
|
-
|
|
36225
|
-
}
|
|
36267
|
+
this.Canvas.beginPath();
|
|
36268
|
+
this.Canvas.rect(ToFixedPoint(ytop),ToFixedPoint(xLeft),ToFixedRect(barHeight),ToFixedRect(this.BarCache.Width));
|
|
36269
|
+
this.Canvas.stroke();
|
|
36226
36270
|
}
|
|
36227
36271
|
else
|
|
36228
36272
|
{
|
|
36229
|
-
|
|
36230
|
-
{
|
|
36231
|
-
this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));
|
|
36232
|
-
}
|
|
36233
|
-
else
|
|
36234
|
-
{
|
|
36235
|
-
this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(this.CalculateBarHeight(y,y2)));
|
|
36236
|
-
}
|
|
36237
|
-
|
|
36273
|
+
this.Canvas.fillRect(ToFixedRect(ytop),ToFixedRect(xLeft),ToFixedRect(barHeight),ToFixedRect(this.BarCache.Width));
|
|
36238
36274
|
}
|
|
36239
36275
|
}
|
|
36240
36276
|
else
|
|
36241
36277
|
{
|
|
36242
|
-
|
|
36278
|
+
var xLeft=xCenter-this.BarCache.Width/2;
|
|
36279
|
+
if (this.IsEmptyBar()) //空心
|
|
36243
36280
|
{
|
|
36281
|
+
if (this.BarCache.EmptyBGColor) //背景色填充
|
|
36282
|
+
this.Canvas.fillRect(ToFixedRect(xLeft),ToFixedRect(ytop),ToFixedRect(this.BarCache.Width),ToFixedRect(barHeight));
|
|
36283
|
+
|
|
36244
36284
|
this.Canvas.beginPath();
|
|
36245
|
-
this.Canvas.
|
|
36246
|
-
this.Canvas.lineTo(y2,ToFixedPoint(x));
|
|
36285
|
+
this.Canvas.rect(ToFixedPoint(xLeft),ToFixedPoint(ytop),ToFixedRect(this.BarCache.Width),ToFixedRect(barHeight));
|
|
36247
36286
|
this.Canvas.stroke();
|
|
36248
36287
|
}
|
|
36249
36288
|
else
|
|
36250
36289
|
{
|
|
36251
|
-
|
|
36252
|
-
this.Canvas.beginPath();
|
|
36253
|
-
this.Canvas.moveTo(xFix,y);
|
|
36254
|
-
if (Math.abs(y-y2)>0) this.Canvas.lineTo(xFix,y2);
|
|
36255
|
-
else this.Canvas.lineTo(xFix,y+1); //太窄了,就画一个像素的宽度
|
|
36256
|
-
this.Canvas.stroke();
|
|
36290
|
+
this.Canvas.fillRect(ToFixedRect(xLeft),ToFixedRect(ytop),ToFixedRect(this.BarCache.Width),ToFixedRect(barHeight));
|
|
36257
36291
|
}
|
|
36258
36292
|
}
|
|
36259
36293
|
}
|
|
36260
|
-
|
|
36261
|
-
this.Canvas.restore();
|
|
36262
36294
|
}
|
|
36263
36295
|
|
|
36264
36296
|
this.GetMaxMin=function()
|
|
@@ -72046,6 +72078,12 @@ function JSChartResource()
|
|
|
72046
72078
|
|
|
72047
72079
|
TitleColor:'rgb(250,250,250)', //标题颜色
|
|
72048
72080
|
TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
|
|
72081
|
+
|
|
72082
|
+
Mark:
|
|
72083
|
+
{
|
|
72084
|
+
LineColor:"rgba(255,165,0,0.6)",
|
|
72085
|
+
LineWidth:2,
|
|
72086
|
+
}
|
|
72049
72087
|
}
|
|
72050
72088
|
|
|
72051
72089
|
this.PopKLineChart=
|
|
@@ -73652,6 +73690,11 @@ function JSChartResource()
|
|
|
73652
73690
|
if (item.BorderColor) dest.BorderColor=item.BorderColor;
|
|
73653
73691
|
if (item.TitleColor) dest.TitleColor=item.TitleColor;
|
|
73654
73692
|
if (item.TitleBGColor) dest.TitleBGColor=item.TitleBGColor;
|
|
73693
|
+
if (item.Mark)
|
|
73694
|
+
{
|
|
73695
|
+
if (item.Mark.LineColor) dest.Mark.LineColor=item.Mark.LineColor;
|
|
73696
|
+
if (IFrameSplitOperator.IsNumber(item.Mark.LineWidth)) dest.Mark.LineWidth=item.Mark.LineWidth;
|
|
73697
|
+
}
|
|
73655
73698
|
}
|
|
73656
73699
|
|
|
73657
73700
|
if (style.PopKLineChart)
|
|
@@ -77140,6 +77183,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77140
77183
|
this.ShowMinuteChartDialog=function(data, x,y)
|
|
77141
77184
|
{
|
|
77142
77185
|
if (!this.PopMinuteChart) return;
|
|
77186
|
+
if (!ChartData.IsDayPeriod(this.Period,true)) return; //只支持日K
|
|
77143
77187
|
if (!data.Tooltip || !data.Chart) return;
|
|
77144
77188
|
|
|
77145
77189
|
var pixelRatio=GetDevicePixelRatio();
|
|
@@ -77165,7 +77209,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77165
77209
|
|
|
77166
77210
|
if (!symbol) return;
|
|
77167
77211
|
|
|
77168
|
-
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
|
|
77212
|
+
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data, Chart:data.Tooltip.ChartPaint }, x/pixelRatio,y/pixelRatio);
|
|
77169
77213
|
}
|
|
77170
77214
|
|
|
77171
77215
|
|
|
@@ -85991,17 +86035,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85991
86035
|
|
|
85992
86036
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
85993
86037
|
|
|
86038
|
+
var keyID = e.keyCode ? e.keyCode :e.which;
|
|
86039
|
+
|
|
85994
86040
|
//回调事件
|
|
85995
86041
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYDOWN);
|
|
85996
86042
|
if (event && event.Callback)
|
|
85997
86043
|
{
|
|
85998
|
-
var sendData={ e:e, PreventDefault:false };
|
|
86044
|
+
var sendData={ e:e, KeyID:keyID, PreventDefault:false };
|
|
85999
86045
|
event.Callback(event, sendData, this);
|
|
86000
86046
|
if (sendData.PreventDefault) return;
|
|
86001
86047
|
}
|
|
86002
86048
|
|
|
86003
|
-
var keyID = e.keyCode ? e.keyCode :e.which;
|
|
86004
|
-
|
|
86005
86049
|
var draw=false;
|
|
86006
86050
|
if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
|
|
86007
86051
|
{
|