hqchart 1.1.13280 → 1.1.13286
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 +75 -59
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +3 -0
- package/src/jscommon/umychart.complier.js +9 -10
- package/src/jscommon/umychart.js +264 -125
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +49 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +11 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +14 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.ttf +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff2 +0 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +274 -136
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +277 -136
|
@@ -6459,6 +6459,8 @@ var JSCHART_EVENT_ID=
|
|
|
6459
6459
|
ON_CHANGE_INDEX:150, //切换指标
|
|
6460
6460
|
ON_MENU_COMMAND:151, //菜单时间回调
|
|
6461
6461
|
ON_CREATE_RIGHT_MENU:152, //创建右键菜单
|
|
6462
|
+
|
|
6463
|
+
ON_FORMAT_CALL_AUCTION_INDEX_TITLE:153, //集合竞价指标窗口标题内容
|
|
6462
6464
|
}
|
|
6463
6465
|
|
|
6464
6466
|
var JSCHART_OPERATOR_ID=
|
|
@@ -9654,14 +9656,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9654
9656
|
}
|
|
9655
9657
|
item.DrawStatus=drawStatus;
|
|
9656
9658
|
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
item.PointInfo=null;
|
|
9663
|
-
}
|
|
9664
|
-
|
|
9659
|
+
var pointInfo=null;
|
|
9660
|
+
if (option && IFrameSplitOperator.IsNumber(option.ClientPos) && option.Point) //当前鼠标所在位置的详细信息 包含盘前盘后
|
|
9661
|
+
pointInfo={ ClientPos:option.ClientPos, Point:{ X:option.Point.X, Y:option.Point.Y }};
|
|
9662
|
+
item.PointInfo=pointInfo;
|
|
9663
|
+
|
|
9665
9664
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
9666
9665
|
}
|
|
9667
9666
|
|
|
@@ -10421,9 +10420,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10421
10420
|
for(var i=0;i<border.DayBorder.length;++i)
|
|
10422
10421
|
{
|
|
10423
10422
|
var client=border.DayBorder[i];
|
|
10424
|
-
this.Canvas.beginPath();
|
|
10425
|
-
this.Canvas.rect(client.LeftEx,border.TopEx,client.RightEx-client.LeftEx,border.BottomEx-border.TopEx);
|
|
10426
|
-
if (this.Canvas.isPointInPath(x,y)) return 1;
|
|
10427
10423
|
|
|
10428
10424
|
//盘前
|
|
10429
10425
|
this.Canvas.beginPath();
|
|
@@ -10431,6 +10427,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10431
10427
|
if (this.Canvas.isPointInPath(x,y))
|
|
10432
10428
|
return 200+parseInt(i);
|
|
10433
10429
|
|
|
10430
|
+
//盘中
|
|
10431
|
+
this.Canvas.beginPath();
|
|
10432
|
+
this.Canvas.rect(client.LeftEx,border.TopEx,client.RightEx-client.LeftEx,border.BottomEx-border.TopEx);
|
|
10433
|
+
if (this.Canvas.isPointInPath(x,y)) return 1;
|
|
10434
|
+
|
|
10434
10435
|
//盘后
|
|
10435
10436
|
this.Canvas.beginPath();
|
|
10436
10437
|
this.Canvas.rect(client.RightEx,border.TopEx,client.Right-client.RightEx,border.BottomEx-border.TopEx);
|
|
@@ -13710,6 +13711,8 @@ function ChartBorder()
|
|
|
13710
13711
|
var item={ Left:this.Left+dayWidth*i, Right:this.Left+dayWidth*(i+1) };
|
|
13711
13712
|
item.LeftEx=item.Left+this.MultiDayMinute.Left;
|
|
13712
13713
|
item.RightEx=item.Right-this.MultiDayMinute.Right;
|
|
13714
|
+
if (i>0) item.Left+=1; //第2天的盘前 移到一个像素,跟上一天分开
|
|
13715
|
+
|
|
13713
13716
|
dayBorder.push(item);
|
|
13714
13717
|
}
|
|
13715
13718
|
|
|
@@ -14379,6 +14382,26 @@ function IChartFramePainting()
|
|
|
14379
14382
|
{
|
|
14380
14383
|
|
|
14381
14384
|
}
|
|
14385
|
+
|
|
14386
|
+
//bIncludeOverlay =false不包含叠加框架 true=主框架+叠加框架 默认true
|
|
14387
|
+
this.IsMinuteFrame=function(bIncludeOverlay)
|
|
14388
|
+
{
|
|
14389
|
+
var aryName=["MinuteFrame", "MinuteHScreenFrame", "OverlayMinuteFrame", "OverlayMinuteHScreenFrame"];
|
|
14390
|
+
if (bIncludeOverlay===false) aryName=["MinuteFrame", "MinuteHScreenFrame"];
|
|
14391
|
+
|
|
14392
|
+
var isMinute=aryName.includes(this.ClassName);
|
|
14393
|
+
return isMinute;
|
|
14394
|
+
}
|
|
14395
|
+
|
|
14396
|
+
//bIncludeOverlay =false不包含叠加框架 true=主框架+叠加框架 默认true
|
|
14397
|
+
this.IsKLineFrame=function(bIncludeOverlay)
|
|
14398
|
+
{
|
|
14399
|
+
var aryName=["KLineFrame", "KLineHScreenFrame", "KLineHScreenFrame", "OverlayKLineHScreenFrame"];
|
|
14400
|
+
if (bIncludeOverlay===false) aryName=["KLineFrame", "KLineHScreenFrame"];
|
|
14401
|
+
|
|
14402
|
+
var isKline=aryName.includes(this.ClassName);
|
|
14403
|
+
return isKline;
|
|
14404
|
+
}
|
|
14382
14405
|
}
|
|
14383
14406
|
|
|
14384
14407
|
//空框架只画边框
|
|
@@ -56469,6 +56492,7 @@ function DynamicChartTitlePainting()
|
|
|
56469
56492
|
this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
|
|
56470
56493
|
|
|
56471
56494
|
this.IsKLineFrame=false; //是否是K线框架标题
|
|
56495
|
+
this.IsMinuteFrame=false;
|
|
56472
56496
|
this.Identify; //指标ID
|
|
56473
56497
|
this.SelectedChart; //选中的图形
|
|
56474
56498
|
this.ArgumentsText; //参数信息
|
|
@@ -56491,6 +56515,7 @@ function DynamicChartTitlePainting()
|
|
|
56491
56515
|
this.OverlayDynamicTitle=new Map(); //key , value={ OutName, OutValue }
|
|
56492
56516
|
|
|
56493
56517
|
this.IsShowMainIndexTitle=true; //是否显示主图指标标题
|
|
56518
|
+
this.MainTitlePaint=null; //主标题
|
|
56494
56519
|
|
|
56495
56520
|
this.ReloadResource=function()
|
|
56496
56521
|
{
|
|
@@ -56905,7 +56930,8 @@ function DynamicChartTitlePainting()
|
|
|
56905
56930
|
this.Buttons=[];
|
|
56906
56931
|
if (this.Frame.IsMinSize) return;
|
|
56907
56932
|
|
|
56908
|
-
this.IsKLineFrame= this.Frame.
|
|
56933
|
+
this.IsKLineFrame= this.Frame.IsKLineFrame(false);
|
|
56934
|
+
this.IsMinuteFrame=this.Frame.IsMinuteFrame(false);
|
|
56909
56935
|
this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;
|
|
56910
56936
|
this.IsShowNameArrow=this.Frame.IsShowNameArrow;
|
|
56911
56937
|
this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
|
|
@@ -57004,108 +57030,19 @@ function DynamicChartTitlePainting()
|
|
|
57004
57030
|
if (isShowLastData) return;
|
|
57005
57031
|
}
|
|
57006
57032
|
|
|
57007
|
-
|
|
57033
|
+
var rtText={ Left:left, Right:left };
|
|
57034
|
+
if (this.IsMinuteFrame && this.PointInfo && ( this.PointInfo.ClientPos==2 || this.PointInfo.ClientPos==3 || (this.PointInfo.ClientPos>=200&& this.PointInfo.ClientPos<=299) || (this.PointInfo.ClientPos>=300&& this.PointInfo.ClientPos<=399) ))
|
|
57008
57035
|
{
|
|
57009
|
-
var
|
|
57010
|
-
|
|
57011
|
-
if (
|
|
57012
|
-
|
|
57013
|
-
var valueText=outText.Text;
|
|
57014
|
-
var aryText=outText.ArrayText;
|
|
57015
|
-
|
|
57016
|
-
if (aryText) //多变量输出
|
|
57017
|
-
{
|
|
57018
|
-
var text;
|
|
57019
|
-
for(var k=0;k<aryText.length;++k)
|
|
57020
|
-
{
|
|
57021
|
-
var titleItem=aryText[k];
|
|
57022
|
-
if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
|
|
57023
|
-
else text=titleItem.Text;
|
|
57024
|
-
|
|
57025
|
-
var space=this.ParamSpace*GetDevicePixelRatio();
|
|
57026
|
-
var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
|
|
57027
|
-
var textWidth=indexTextWidth;
|
|
57028
|
-
|
|
57029
|
-
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57030
|
-
{
|
|
57031
|
-
var xLeft=left;
|
|
57032
|
-
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57033
|
-
{
|
|
57034
|
-
var outItem=titleItem.TextEx[n];
|
|
57035
|
-
var outTextWidth=this.Canvas.measureText(outItem.Text).width+2;
|
|
57036
|
-
outItem.Width=outTextWidth;
|
|
57037
|
-
outItem.Left=xLeft;
|
|
57038
|
-
|
|
57039
|
-
textWidth+=outTextWidth;
|
|
57040
|
-
xLeft+=outTextWidth;
|
|
57041
|
-
}
|
|
57042
|
-
}
|
|
57043
|
-
|
|
57044
|
-
if ((left+textWidth+space)>right) break;
|
|
57045
|
-
|
|
57046
|
-
if (titleItem.BG) //背景
|
|
57047
|
-
{
|
|
57048
|
-
var textHeight=this.Canvas.measureText("擎").width+2;
|
|
57049
|
-
var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
|
|
57050
|
-
this.Canvas.fillStyle=titleItem.BG;
|
|
57051
|
-
this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
|
|
57052
|
-
|
|
57053
|
-
this.Canvas.fillStyle=titleItem.Color;
|
|
57054
|
-
this.Canvas.fillText(text,rtBG.Left+1,bottom,indexTextWidth);
|
|
57055
|
-
left+=indexTextWidth;
|
|
57056
|
-
|
|
57057
|
-
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57058
|
-
{
|
|
57059
|
-
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57060
|
-
{
|
|
57061
|
-
var outItem=titleItem.TextEx[n];
|
|
57062
|
-
this.Canvas.fillStyle=outItem.TextColor;
|
|
57063
|
-
this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
|
|
57064
|
-
left+=outItem.Width;
|
|
57065
|
-
}
|
|
57066
|
-
}
|
|
57067
|
-
|
|
57068
|
-
left+=space;
|
|
57069
|
-
}
|
|
57070
|
-
else
|
|
57071
|
-
{
|
|
57072
|
-
this.Canvas.fillStyle=titleItem.Color;
|
|
57073
|
-
this.Canvas.fillText(text,left,bottom,indexTextWidth);
|
|
57074
|
-
left+=indexTextWidth;
|
|
57075
|
-
|
|
57076
|
-
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57077
|
-
{
|
|
57078
|
-
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57079
|
-
{
|
|
57080
|
-
var outItem=titleItem.TextEx[n];
|
|
57081
|
-
this.Canvas.fillStyle=outItem.TextColor;
|
|
57082
|
-
this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
|
|
57083
|
-
left+=outItem.Width;
|
|
57084
|
-
}
|
|
57085
|
-
}
|
|
57086
|
-
|
|
57087
|
-
left+=space;
|
|
57088
|
-
}
|
|
57089
|
-
}
|
|
57090
|
-
}
|
|
57091
|
-
else
|
|
57092
|
-
{
|
|
57093
|
-
this.Canvas.fillStyle=item.Color;
|
|
57094
|
-
var text=valueText;
|
|
57095
|
-
if (item.Name)
|
|
57096
|
-
{
|
|
57097
|
-
var dyTitle=this.GetDynamicOutName(item.Name);
|
|
57098
|
-
if (dyTitle) text=dyTitle+":"+valueText;
|
|
57099
|
-
else text=item.Name+":"+valueText;
|
|
57100
|
-
}
|
|
57101
|
-
var space=this.ParamSpace*GetDevicePixelRatio();
|
|
57102
|
-
var textWidth=this.Canvas.measureText(text).width+space;
|
|
57103
|
-
if ((left+textWidth)>right) break;
|
|
57104
|
-
|
|
57105
|
-
this.Canvas.fillText(text,left,bottom,textWidth);
|
|
57106
|
-
left+=textWidth;
|
|
57107
|
-
}
|
|
57036
|
+
var result={ PreventDefault:false }
|
|
57037
|
+
this.DrawMainCallAuction({ Left:left, Right:right, Bottom:bottom }, rtText, result);
|
|
57038
|
+
if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
|
|
57108
57039
|
}
|
|
57040
|
+
else
|
|
57041
|
+
{
|
|
57042
|
+
this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
|
|
57043
|
+
}
|
|
57044
|
+
|
|
57045
|
+
left=rtText.Left;
|
|
57109
57046
|
|
|
57110
57047
|
if (this.Explain) //说明信息
|
|
57111
57048
|
{
|
|
@@ -57309,6 +57246,185 @@ function DynamicChartTitlePainting()
|
|
|
57309
57246
|
return { Text:valueText, ArrayText:aryText };
|
|
57310
57247
|
}
|
|
57311
57248
|
|
|
57249
|
+
//绘制主图指标 rtText 返回画完以后的区域
|
|
57250
|
+
this.DrawMainIndexTitle=function(positionInfo, isShowLastData, rtText)
|
|
57251
|
+
{
|
|
57252
|
+
if (!this.IsShowMainIndexTitle) return;
|
|
57253
|
+
|
|
57254
|
+
var left=positionInfo.Left;
|
|
57255
|
+
var right=positionInfo.Right;
|
|
57256
|
+
var bottom=positionInfo.Bottom;
|
|
57257
|
+
|
|
57258
|
+
for(var i=0; i<this.Data.length; ++i)
|
|
57259
|
+
{
|
|
57260
|
+
var item=this.Data[i];
|
|
57261
|
+
var outText=this.GetTitleItem(item, isShowLastData, i);
|
|
57262
|
+
if (!outText) continue;
|
|
57263
|
+
|
|
57264
|
+
var valueText=outText.Text;
|
|
57265
|
+
var aryText=outText.ArrayText;
|
|
57266
|
+
|
|
57267
|
+
if (aryText) //多变量输出
|
|
57268
|
+
{
|
|
57269
|
+
var text;
|
|
57270
|
+
for(var k=0;k<aryText.length;++k)
|
|
57271
|
+
{
|
|
57272
|
+
var titleItem=aryText[k];
|
|
57273
|
+
if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
|
|
57274
|
+
else text=titleItem.Text;
|
|
57275
|
+
|
|
57276
|
+
var space=this.ParamSpace*GetDevicePixelRatio();
|
|
57277
|
+
var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
|
|
57278
|
+
var textWidth=indexTextWidth;
|
|
57279
|
+
|
|
57280
|
+
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57281
|
+
{
|
|
57282
|
+
var xLeft=left;
|
|
57283
|
+
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57284
|
+
{
|
|
57285
|
+
var outItem=titleItem.TextEx[n];
|
|
57286
|
+
var outTextWidth=this.Canvas.measureText(outItem.Text).width+2;
|
|
57287
|
+
outItem.Width=outTextWidth;
|
|
57288
|
+
outItem.Left=xLeft;
|
|
57289
|
+
|
|
57290
|
+
textWidth+=outTextWidth;
|
|
57291
|
+
xLeft+=outTextWidth;
|
|
57292
|
+
}
|
|
57293
|
+
}
|
|
57294
|
+
|
|
57295
|
+
if ((left+textWidth+space)>right) break;
|
|
57296
|
+
|
|
57297
|
+
if (titleItem.BG) //背景
|
|
57298
|
+
{
|
|
57299
|
+
var textHeight=this.Canvas.measureText("擎").width+2;
|
|
57300
|
+
var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
|
|
57301
|
+
this.Canvas.fillStyle=titleItem.BG;
|
|
57302
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
|
|
57303
|
+
|
|
57304
|
+
this.Canvas.fillStyle=titleItem.Color;
|
|
57305
|
+
this.Canvas.fillText(text,rtBG.Left+1,bottom,indexTextWidth);
|
|
57306
|
+
left+=indexTextWidth;
|
|
57307
|
+
|
|
57308
|
+
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57309
|
+
{
|
|
57310
|
+
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57311
|
+
{
|
|
57312
|
+
var outItem=titleItem.TextEx[n];
|
|
57313
|
+
this.Canvas.fillStyle=outItem.TextColor;
|
|
57314
|
+
this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
|
|
57315
|
+
left+=outItem.Width;
|
|
57316
|
+
}
|
|
57317
|
+
}
|
|
57318
|
+
|
|
57319
|
+
left+=space;
|
|
57320
|
+
}
|
|
57321
|
+
else
|
|
57322
|
+
{
|
|
57323
|
+
this.Canvas.fillStyle=titleItem.Color;
|
|
57324
|
+
this.Canvas.fillText(text,left,bottom,indexTextWidth);
|
|
57325
|
+
left+=indexTextWidth;
|
|
57326
|
+
|
|
57327
|
+
if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
|
|
57328
|
+
{
|
|
57329
|
+
for(var n=0; n<titleItem.TextEx.length; ++n)
|
|
57330
|
+
{
|
|
57331
|
+
var outItem=titleItem.TextEx[n];
|
|
57332
|
+
this.Canvas.fillStyle=outItem.TextColor;
|
|
57333
|
+
this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
|
|
57334
|
+
left+=outItem.Width;
|
|
57335
|
+
}
|
|
57336
|
+
}
|
|
57337
|
+
|
|
57338
|
+
left+=space;
|
|
57339
|
+
}
|
|
57340
|
+
}
|
|
57341
|
+
}
|
|
57342
|
+
else
|
|
57343
|
+
{
|
|
57344
|
+
this.Canvas.fillStyle=item.Color;
|
|
57345
|
+
var text=valueText;
|
|
57346
|
+
if (item.Name)
|
|
57347
|
+
{
|
|
57348
|
+
var dyTitle=this.GetDynamicOutName(item.Name);
|
|
57349
|
+
if (dyTitle) text=dyTitle+":"+valueText;
|
|
57350
|
+
else text=item.Name+":"+valueText;
|
|
57351
|
+
}
|
|
57352
|
+
var space=this.ParamSpace*GetDevicePixelRatio();
|
|
57353
|
+
var textWidth=this.Canvas.measureText(text).width+space;
|
|
57354
|
+
if ((left+textWidth)>right) break;
|
|
57355
|
+
|
|
57356
|
+
this.Canvas.fillText(text,left,bottom,textWidth);
|
|
57357
|
+
left+=textWidth;
|
|
57358
|
+
}
|
|
57359
|
+
}
|
|
57360
|
+
|
|
57361
|
+
rtText.Left=left;
|
|
57362
|
+
}
|
|
57363
|
+
|
|
57364
|
+
//集合竞价
|
|
57365
|
+
this.DrawMainCallAuction=function(positionInfo, rtText, result)
|
|
57366
|
+
{
|
|
57367
|
+
if (!this.IsShowMainIndexTitle) return;
|
|
57368
|
+
if (!this.MainTitlePaint) return;
|
|
57369
|
+
var auctionData=this.MainTitlePaint.GetCurrentAuctionData(); //集合竞价分时数据
|
|
57370
|
+
if (!auctionData || !auctionData.Data) return;
|
|
57371
|
+
if (!this.GetEventCallback) return;
|
|
57372
|
+
|
|
57373
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CALL_AUCTION_INDEX_TITLE);
|
|
57374
|
+
if (!event) return;
|
|
57375
|
+
|
|
57376
|
+
var data={ AuctionData:auctionData, Data:this.Data, FrameID:this.Frame.Identify, Out:null, PreventDefault:false };
|
|
57377
|
+
event.Callback(event,data,this);
|
|
57378
|
+
result.PreventDefault=data.PreventDefault;
|
|
57379
|
+
|
|
57380
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.Out)) return;
|
|
57381
|
+
|
|
57382
|
+
var left=positionInfo.Left;
|
|
57383
|
+
var right=positionInfo.Right;
|
|
57384
|
+
var bottom=positionInfo.Bottom;
|
|
57385
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
57386
|
+
|
|
57387
|
+
var aryText=data.Out; //[{Text:, Color, Space:间距 }]
|
|
57388
|
+
for(var i=0; i<aryText.length; ++i)
|
|
57389
|
+
{
|
|
57390
|
+
var item=aryText[i];
|
|
57391
|
+
if (!item.Text) continue;
|
|
57392
|
+
var textWidth=this.Canvas.measureText(item.Text).width+2;
|
|
57393
|
+
if (left+textWidth>right) break;
|
|
57394
|
+
|
|
57395
|
+
if (item.BGColor) //背景
|
|
57396
|
+
{
|
|
57397
|
+
var textHeight=this.Canvas.measureText("擎").width+2;
|
|
57398
|
+
var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
|
|
57399
|
+
this.Canvas.fillStyle=item.BGColor;
|
|
57400
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
|
|
57401
|
+
left+=1;
|
|
57402
|
+
}
|
|
57403
|
+
|
|
57404
|
+
this.Canvas.fillStyle=item.Color;
|
|
57405
|
+
this.Canvas.fillText(item.Text,left,bottom,textWidth);
|
|
57406
|
+
left+=textWidth;
|
|
57407
|
+
|
|
57408
|
+
if (IFrameSplitOperator.IsPlusNumber(item.Space)) left+=item.Space*pixelRatio;
|
|
57409
|
+
}
|
|
57410
|
+
|
|
57411
|
+
rtText.Left=left;
|
|
57412
|
+
}
|
|
57413
|
+
|
|
57414
|
+
this.GetCallAuctionTitleItem=function(item, titleIndex, auctionData)
|
|
57415
|
+
{
|
|
57416
|
+
if (item.IsShow===false) return null;
|
|
57417
|
+
if (item.IsVisible===false) return null;
|
|
57418
|
+
if (!item || !item.Data || !item.Data.Data) return null;
|
|
57419
|
+
|
|
57420
|
+
if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
57421
|
+
{
|
|
57422
|
+
var find=g_ScriptIndexChartFactory.Get(item.DataType);
|
|
57423
|
+
if (find && find.FormatTitleCallback)
|
|
57424
|
+
return find.FormatTitleCallback(value, item, dataIndex);
|
|
57425
|
+
}
|
|
57426
|
+
}
|
|
57427
|
+
|
|
57312
57428
|
//获取上一个有效数据
|
|
57313
57429
|
this.GetPreVaildItem=function(data, start)
|
|
57314
57430
|
{
|
|
@@ -72627,8 +72743,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
72627
72743
|
}
|
|
72628
72744
|
|
|
72629
72745
|
//绑定主图K线数据
|
|
72630
|
-
this.BindMainData=function(hisData,showCount)
|
|
72746
|
+
this.BindMainData=function(hisData, showCount, chartOperator)
|
|
72631
72747
|
{
|
|
72748
|
+
var isShowAll=false; //全部显示
|
|
72749
|
+
if (chartOperator && chartOperator.IsShowAll===true) isShowAll=true;
|
|
72632
72750
|
this.ChartPaint[0].Data=hisData;
|
|
72633
72751
|
this.ChartPaint[0].Symbol=this.Symbol;
|
|
72634
72752
|
|
|
@@ -72649,9 +72767,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
72649
72767
|
for(var i=0;i<this.Frame.SubFrame.length;++i)
|
|
72650
72768
|
{
|
|
72651
72769
|
var item =this.Frame.SubFrame[i].Frame;
|
|
72652
|
-
item.XPointCount=
|
|
72653
|
-
item.
|
|
72770
|
+
if (isShowAll) item.XPointCount=hisData.Data.length+this.RightSpaceCount;
|
|
72771
|
+
else item.XPointCount=showCount+this.RightSpaceCount;
|
|
72654
72772
|
|
|
72773
|
+
item.Data=this.ChartPaint[0].Data;
|
|
72655
72774
|
item.XSplitOperator.Symbol=this.Symbol;
|
|
72656
72775
|
item.XSplitOperator.Period=this.Period;
|
|
72657
72776
|
}
|
|
@@ -72670,17 +72789,25 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
72670
72789
|
item.MainData=this.ChartPaint[0].Data;
|
|
72671
72790
|
}
|
|
72672
72791
|
|
|
72673
|
-
|
|
72674
|
-
|
|
72675
|
-
|
|
72676
|
-
|
|
72792
|
+
if (isShowAll)
|
|
72793
|
+
{
|
|
72794
|
+
var dataOffset=0;
|
|
72795
|
+
this.CursorIndex=0;
|
|
72796
|
+
}
|
|
72797
|
+
else
|
|
72798
|
+
{
|
|
72799
|
+
var dataOffset=hisData.Data.length-showCount;
|
|
72800
|
+
if (dataOffset<0) dataOffset=0;
|
|
72801
|
+
this.ChartPaint[0].Data.DataOffset=dataOffset;
|
|
72802
|
+
|
|
72803
|
+
this.CursorIndex=showCount;
|
|
72804
|
+
if (this.CursorIndex+dataOffset>=hisData.Data.length) this.CursorIndex=hisData.Data.length-1-dataOffset;
|
|
72805
|
+
if (this.CursorIndex<0) this.CursorIndex=0; //不一定对啊
|
|
72806
|
+
}
|
|
72677
72807
|
|
|
72808
|
+
this.ChartPaint[0].Period=this.Period;
|
|
72678
72809
|
this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
|
|
72679
72810
|
|
|
72680
|
-
this.CursorIndex=showCount;
|
|
72681
|
-
if (this.CursorIndex+dataOffset>=hisData.Data.length) this.CursorIndex=hisData.Data.length-1-dataOffset;
|
|
72682
|
-
if (this.CursorIndex<0) this.CursorIndex=0; //不一定对啊
|
|
72683
|
-
|
|
72684
72811
|
if (this.CustomShow) //定制显示 1次有效
|
|
72685
72812
|
{
|
|
72686
72813
|
this.SetCustomShow(this.CustomShow,hisData);
|
|
@@ -73549,8 +73676,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73549
73676
|
//绑定数据
|
|
73550
73677
|
this.Symbol=data.symbol;
|
|
73551
73678
|
this.Name=data.name;
|
|
73679
|
+
|
|
73680
|
+
var chartOperator=null; //额外的图形控制
|
|
73681
|
+
if (data && data.ChartOperator)
|
|
73682
|
+
{
|
|
73683
|
+
var item=data.ChartOperator;
|
|
73684
|
+
chartOperator={ };
|
|
73685
|
+
if (item.IsShowAll===true) chartOperator.IsShowAll=true; //全部显示
|
|
73686
|
+
}
|
|
73552
73687
|
|
|
73553
|
-
this.BindMainData(bindData,this.PageSize);
|
|
73688
|
+
this.BindMainData(bindData,this.PageSize,chartOperator);
|
|
73554
73689
|
if (this.AfterBindMainData) this.AfterBindMainData("RecvMinuteHistoryData");
|
|
73555
73690
|
this.Frame.SetSizeChage(true);
|
|
73556
73691
|
|
|
@@ -80809,6 +80944,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80809
80944
|
titlePaint.LanguageID=this.LanguageID;
|
|
80810
80945
|
titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
80811
80946
|
titlePaint.SelectedChart=this.SelectedChart;
|
|
80947
|
+
titlePaint.MainTitlePaint=this.TitlePaint[0];
|
|
80812
80948
|
this.TitlePaint.push(titlePaint);
|
|
80813
80949
|
}
|
|
80814
80950
|
|
|
@@ -81020,7 +81156,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81020
81156
|
titlePaint.Frame=this.Frame.SubFrame[index].Frame;
|
|
81021
81157
|
titlePaint.Canvas=this.Canvas;
|
|
81022
81158
|
titlePaint.LanguageID=this.LanguageID;
|
|
81023
|
-
titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
81159
|
+
titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
81160
|
+
titlePaint.MainTitlePaint=this.TitlePaint[0];
|
|
81024
81161
|
this.TitlePaint[index+1]=titlePaint;
|
|
81025
81162
|
|
|
81026
81163
|
this.SetSubFrameOption(subFrame,option);
|
|
@@ -81257,6 +81394,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81257
81394
|
titlePaint.LanguageID=this.LanguageID;
|
|
81258
81395
|
titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
81259
81396
|
titlePaint.SelectedChart=this.SelectedChart;
|
|
81397
|
+
titlePaint.MainTitlePaint=this.TitlePaint[0];
|
|
81260
81398
|
this.TitlePaint[i+1]=titlePaint;
|
|
81261
81399
|
}
|
|
81262
81400
|
|
|
@@ -81343,6 +81481,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81343
81481
|
titlePaint.LanguageID=this.LanguageID;
|
|
81344
81482
|
titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
81345
81483
|
titlePaint.SelectedChart=this.SelectedChart;
|
|
81484
|
+
titlePaint.MainTitlePaint=this.TitlePaint[0];
|
|
81346
81485
|
this.TitlePaint[i+1]=titlePaint;
|
|
81347
81486
|
}
|
|
81348
81487
|
}
|
|
@@ -113768,15 +113907,9 @@ function JSExplainer(ast,option)
|
|
|
113768
113907
|
|
|
113769
113908
|
if (g_JSComplierResource.IsCustomFunction(funcName))
|
|
113770
113909
|
{
|
|
113771
|
-
var
|
|
113772
|
-
node.Out
|
|
113773
|
-
node.
|
|
113774
|
-
|
|
113775
|
-
if (data)
|
|
113776
|
-
{
|
|
113777
|
-
if (data.Out) node.Out=data.Out;
|
|
113778
|
-
if (data.Draw) node.Draw=data.Draw;
|
|
113779
|
-
}
|
|
113910
|
+
var functionInfo=g_JSComplierResource.CustomFunction.Data.get(funcName);
|
|
113911
|
+
if (!functionInfo.Description) node.Out=`自定义函数${funcName}`;
|
|
113912
|
+
else node.Out=functionInfo.Description;
|
|
113780
113913
|
|
|
113781
113914
|
return node.Out;
|
|
113782
113915
|
}
|
|
@@ -114395,7 +114528,12 @@ function JSExplainer(ast,option)
|
|
|
114395
114528
|
return data;
|
|
114396
114529
|
}
|
|
114397
114530
|
|
|
114398
|
-
if (g_JSComplierResource.IsCustomVariant(name))
|
|
114531
|
+
if (g_JSComplierResource.IsCustomVariant(name))
|
|
114532
|
+
{
|
|
114533
|
+
var variantInfo=g_JSComplierResource.CustomVariant.Data.get(name); //读取自定义变量
|
|
114534
|
+
if (variantInfo.Description) return variantInfo.Description;
|
|
114535
|
+
else return name;
|
|
114536
|
+
}
|
|
114399
114537
|
|
|
114400
114538
|
if (this.VarTable.has(name)) return this.VarTable.get(name);
|
|
114401
114539
|
|
|
@@ -135135,6 +135273,9 @@ function JSDialogDrawTool()
|
|
|
135135
135273
|
Title:"文字",
|
|
135136
135274
|
AryChart:
|
|
135137
135275
|
[
|
|
135276
|
+
{ Title:"文字", ClassName: 'hqchart_drawtool icon-draw_text', Type:0, Data:{ ID:"文本" } },
|
|
135277
|
+
{ Title:"锚点文字", ClassName: 'hqchart_drawtool icon-maodianwenzi', Type:0, Data:{ ID:"AnchoredText" } },
|
|
135278
|
+
{ Title:"注释", ClassName: 'hqchart_drawtool icon-maodian ', Type:0, Data:{ ID:"Note"} },
|
|
135138
135279
|
{ Title: '价格标签', ClassName: 'hqchart_drawtool icon-Tooltip', Type:0, Data:{ ID:"PriceLabel" } },
|
|
135139
135280
|
{ Title: '价格注释', ClassName: 'hqchart_drawtool icon-tooltiptext', Type:0, Data:{ ID:"PriceNote" } },
|
|
135140
135281
|
{ Title: '向上箭头', ClassName: 'iconfont icon-arrow_up', Type:0, Data:{ ID:"icon-arrow_up" } },
|
|
@@ -135647,7 +135788,7 @@ function HQChartScriptWorker()
|
|
|
135647
135788
|
|
|
135648
135789
|
|
|
135649
135790
|
|
|
135650
|
-
var HQCHART_VERSION="1.1.
|
|
135791
|
+
var HQCHART_VERSION="1.1.13285";
|
|
135651
135792
|
|
|
135652
135793
|
function PrintHQChartVersion()
|
|
135653
135794
|
{
|