hqchart 1.1.13304 → 1.1.13313
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 +41 -14
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogDrawTool.js +15 -1
- package/src/jscommon/umychart.js +251 -3
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +26 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +7 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +7 -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 +252 -4
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +267 -5
|
@@ -6615,6 +6615,9 @@ var JSCHART_MENU_ID=
|
|
|
6615
6615
|
CMD_CHANGE_DEFAULTCURSOR_ID:32, //修改鼠标形状
|
|
6616
6616
|
CMD_CHANGE_API_INDEX_ID:33, //切换后台接口指标
|
|
6617
6617
|
CMD_CHANGE_SCRIPT_INDEX_ID:34, //切换成自定义的脚本指标
|
|
6618
|
+
|
|
6619
|
+
CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
|
|
6620
|
+
|
|
6618
6621
|
}
|
|
6619
6622
|
|
|
6620
6623
|
|
|
@@ -13253,6 +13256,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13253
13256
|
if (this.ShowCallAuctionData && IFrameSplitOperator.IsBool(srcParam))
|
|
13254
13257
|
this.ShowCallAuctionData({ Left:srcParam, MultiDay:{ Left:srcParam }});
|
|
13255
13258
|
break;
|
|
13259
|
+
case JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID:
|
|
13260
|
+
if (this.ChangeBaselineType && IFrameSplitOperator.IsNumber(param))
|
|
13261
|
+
this.ChangeBaselineType(param);
|
|
13262
|
+
break;
|
|
13256
13263
|
|
|
13257
13264
|
case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:
|
|
13258
13265
|
if (this.ShowSelectData && srcParam) this.ShowSelectData(srcParam);
|
|
@@ -59516,6 +59523,8 @@ IChartDrawPicture.ArrayDrawPricture=
|
|
|
59516
59523
|
|
|
59517
59524
|
{ Name:"水平线2", ClassName:"ChartDrawHLine", Create:function() { return new ChartDrawHLine(); }},
|
|
59518
59525
|
|
|
59526
|
+
{ Name:"MonitorLine", ClassName:"ChartDrawMonitorLine", Create:function() { return new ChartDrawMonitorLine(); }},
|
|
59527
|
+
|
|
59519
59528
|
|
|
59520
59529
|
//trading view样式
|
|
59521
59530
|
{ Name:"Note", ClassName:"ChartDrawNote", Create:function() { return new ChartDrawNote(); } },
|
|
@@ -64371,6 +64380,222 @@ function ChartDrawCrosshair()
|
|
|
64371
64380
|
}
|
|
64372
64381
|
}
|
|
64373
64382
|
|
|
64383
|
+
//画图工具-监测线
|
|
64384
|
+
function ChartDrawMonitorLine()
|
|
64385
|
+
{
|
|
64386
|
+
this.newMethod=IChartDrawPicture; //派生
|
|
64387
|
+
this.newMethod();
|
|
64388
|
+
delete this.newMethod;
|
|
64389
|
+
|
|
64390
|
+
this.ClassName='ChartDrawMonitorLine';
|
|
64391
|
+
this.PointCount=1;
|
|
64392
|
+
this.IsPointIn=this.IsPointIn_XYValue_Line;
|
|
64393
|
+
this.IsHScreen=false;
|
|
64394
|
+
this.GetXYCoordinate=this.GetXYCoordinate_default;
|
|
64395
|
+
this.FormatLabelTextCallback=null;
|
|
64396
|
+
|
|
64397
|
+
this.LineColor='rgb(255,215,0)'
|
|
64398
|
+
this.LabelConfig=
|
|
64399
|
+
{
|
|
64400
|
+
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
|
|
64401
|
+
BGColor:"rgb(30,144,255)", YTextOffset:4,
|
|
64402
|
+
LineColor:"rgba(255,215,0,0.8)",
|
|
64403
|
+
LineDash:[3,5],
|
|
64404
|
+
}
|
|
64405
|
+
|
|
64406
|
+
|
|
64407
|
+
this.SetOption=function(option)
|
|
64408
|
+
{
|
|
64409
|
+
if (option.LineColor) this.LineColor=option.LineColor;
|
|
64410
|
+
if (option.Label)
|
|
64411
|
+
{
|
|
64412
|
+
var item=option.Label;
|
|
64413
|
+
var dest=this.LabelConfig
|
|
64414
|
+
if (item.Font) dest.Font=item.Font;
|
|
64415
|
+
if (item.BGColor) dest.BGColor=item.BGColor;
|
|
64416
|
+
if (item.LineColor) dest.LineColor=item.LineColor;
|
|
64417
|
+
if (item.LineDash) dest.LineDash=item.LineDash;
|
|
64418
|
+
if (IFrameSplitOperator.IsNumber(item.YTextOffset)) dest.YTextOffset=item.YTextOffset;
|
|
64419
|
+
}
|
|
64420
|
+
|
|
64421
|
+
if (option.FormatLabelText) this.FormatLabelTextCallback=option.FormatLabelText;
|
|
64422
|
+
}
|
|
64423
|
+
|
|
64424
|
+
this.Draw=function()
|
|
64425
|
+
{
|
|
64426
|
+
this.LinePoint=[];
|
|
64427
|
+
if (this.IsFrameMinSize()) return;
|
|
64428
|
+
if (!this.IsShow) return;
|
|
64429
|
+
|
|
64430
|
+
if (!this.Frame || !this.Frame.Data) return;
|
|
64431
|
+
var data=this.Frame.Data;
|
|
64432
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.Data)) return;
|
|
64433
|
+
|
|
64434
|
+
if (this.Point.length!=1) return;
|
|
64435
|
+
if (this.Value.length!=1) return;
|
|
64436
|
+
this.IsHScreen=this.Frame.IsHScreen;
|
|
64437
|
+
if (this.IsHScreen) return;
|
|
64438
|
+
|
|
64439
|
+
if (this.Status==20) this.DrawMoveLine();
|
|
64440
|
+
else if (this.Status==10) this.DrawMonitorLine(data);
|
|
64441
|
+
}
|
|
64442
|
+
|
|
64443
|
+
this.DrawMoveLine=function()
|
|
64444
|
+
{
|
|
64445
|
+
var border=this.Frame.ChartBorder.GetBorder();
|
|
64446
|
+
var pt=this.Point[0];
|
|
64447
|
+
var x=ToFixedPoint(pt.X);
|
|
64448
|
+
this.ClipFrame();
|
|
64449
|
+
|
|
64450
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
64451
|
+
this.Canvas.beginPath();
|
|
64452
|
+
this.Canvas.moveTo(x,border.TopEx);
|
|
64453
|
+
this.Canvas.lineTo(x,border.BottomEx);
|
|
64454
|
+
this.Canvas.stroke();
|
|
64455
|
+
|
|
64456
|
+
this.Canvas.restore();
|
|
64457
|
+
}
|
|
64458
|
+
|
|
64459
|
+
this.DrawMonitorLine=function(data)
|
|
64460
|
+
{
|
|
64461
|
+
var isMinute=this.Frame.IsMinuteFrame();
|
|
64462
|
+
var dataWidth=this.Frame.DataWidth;
|
|
64463
|
+
var distanceWidth=this.Frame.DistanceWidth;
|
|
64464
|
+
var xPointCount=this.Frame.XPointCount;
|
|
64465
|
+
|
|
64466
|
+
if (this.IsHScreen)
|
|
64467
|
+
{
|
|
64468
|
+
//var border=this.Frame.ChartBorder.GetHScreenBorder();
|
|
64469
|
+
//var chartright=border.BottomEx;
|
|
64470
|
+
//var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
64471
|
+
}
|
|
64472
|
+
else
|
|
64473
|
+
{
|
|
64474
|
+
var border=this.Frame.ChartBorder.GetBorder();
|
|
64475
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
64476
|
+
var chartright=border.RightEx;
|
|
64477
|
+
}
|
|
64478
|
+
|
|
64479
|
+
var ptData=this.Value[0];
|
|
64480
|
+
this.ClipFrame();
|
|
64481
|
+
|
|
64482
|
+
var labelInfo=null;
|
|
64483
|
+
for(var i=data.DataOffset,j=0;i<data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
64484
|
+
{
|
|
64485
|
+
var item=data.Data[i];
|
|
64486
|
+
|
|
64487
|
+
if (isMinute)
|
|
64488
|
+
{
|
|
64489
|
+
var x=this.Frame.GetXFromIndex(j);
|
|
64490
|
+
}
|
|
64491
|
+
else
|
|
64492
|
+
{
|
|
64493
|
+
var left=xOffset;
|
|
64494
|
+
var right=xOffset+dataWidth;
|
|
64495
|
+
if (right>chartright) break;
|
|
64496
|
+
var x=left+(right-left)/2;
|
|
64497
|
+
}
|
|
64498
|
+
|
|
64499
|
+
if (i==ptData.XValue) //起始
|
|
64500
|
+
{
|
|
64501
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
64502
|
+
this.Canvas.beginPath();
|
|
64503
|
+
this.Canvas.moveTo(x,border.TopEx);
|
|
64504
|
+
this.Canvas.lineTo(x,border.BottomEx);
|
|
64505
|
+
this.Canvas.stroke();
|
|
64506
|
+
|
|
64507
|
+
var line={Start:{X:x, Y:border.TopEx}, End:{X:x, Y:border.BottomEx}};
|
|
64508
|
+
this.LinePoint.push(line);
|
|
64509
|
+
}
|
|
64510
|
+
else if (i==data.Data.length-1) //结束
|
|
64511
|
+
{
|
|
64512
|
+
if (this.LabelConfig.LineDash) this.Canvas.setLineDash(this.LabelConfig.LineDash);
|
|
64513
|
+
this.Canvas.strokeStyle=this.LabelConfig.LineColor;
|
|
64514
|
+
this.Canvas.beginPath();
|
|
64515
|
+
this.Canvas.moveTo(x,border.TopEx);
|
|
64516
|
+
this.Canvas.lineTo(x,border.BottomEx);
|
|
64517
|
+
this.Canvas.stroke();
|
|
64518
|
+
if (this.LabelConfig.LineDash) this.Canvas.setLineDash([]);
|
|
64519
|
+
|
|
64520
|
+
labelInfo={ Left:right, Data:data, StartIndex:ptData.XValue, AryText:[] };
|
|
64521
|
+
}
|
|
64522
|
+
}
|
|
64523
|
+
|
|
64524
|
+
this.Canvas.restore();
|
|
64525
|
+
|
|
64526
|
+
if (labelInfo) this.DrawLabel(labelInfo);
|
|
64527
|
+
}
|
|
64528
|
+
|
|
64529
|
+
this.DrawLabel=function(labelInfo)
|
|
64530
|
+
{
|
|
64531
|
+
if (!this.FormatLabelTextCallback) return;
|
|
64532
|
+
this.FormatLabelTextCallback(labelInfo);
|
|
64533
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryText)) return;
|
|
64534
|
+
if (!IFrameSplitOperator.IsNumber(labelInfo.YValue)) return;
|
|
64535
|
+
|
|
64536
|
+
/*
|
|
64537
|
+
labelInfo.YValue=7.15;
|
|
64538
|
+
labelInfo.AryText=
|
|
64539
|
+
[
|
|
64540
|
+
{ Name:"标题1:", Text:"6666", NameColor:"rgb(255,255,255)", TextColor:"rgb(30,10,30)" },
|
|
64541
|
+
{ Name:"标题2:", Text:"08.00", NameColor:"rgb(255,255,255)", TextColor:"rgb(30,10,30)" },
|
|
64542
|
+
{ Name:"标题3:", Text:"999.1", NameColor:"rgb(255,255,255)", TextColor:"rgb(30,10,30)" },
|
|
64543
|
+
{ Name:"标题4:", Text:"320" , NameColor:"rgb(255,255,255)", TextColor:"rgb(30,10,30)"},
|
|
64544
|
+
{ Name:"标题5:", Text:"77775.77", NameColor:"rgb(255,255,255)", TextColor:"rgb(30,10,30)" }
|
|
64545
|
+
]
|
|
64546
|
+
*/
|
|
64547
|
+
|
|
64548
|
+
var y=this.Frame.GetYFromData(labelInfo.YValue,false);
|
|
64549
|
+
this.Canvas.font=this.LabelConfig.Font;
|
|
64550
|
+
this.Canvas.textAlign="left";
|
|
64551
|
+
this.Canvas.textBaseline="top";
|
|
64552
|
+
var lineHeight=this.Canvas.measureText("擎").width+2;
|
|
64553
|
+
var maxWidth=0, lineCount=0;
|
|
64554
|
+
for(var i=0;i<labelInfo.AryText.length;++i)
|
|
64555
|
+
{
|
|
64556
|
+
var item=labelInfo.AryText[i];
|
|
64557
|
+
item.NameWidth=0;
|
|
64558
|
+
item.TextWidth=0;
|
|
64559
|
+
if (item.Name) item.NameWidth=this.Canvas.measureText(item.Name).width+2;
|
|
64560
|
+
if (item.Text) item.TextWidth=this.Canvas.measureText(item.Text).width+2;
|
|
64561
|
+
|
|
64562
|
+
var itemWidth=item.NameWidth+item.TextWidth;
|
|
64563
|
+
if (maxWidth<itemWidth) maxWidth=itemWidth;
|
|
64564
|
+
++lineCount;
|
|
64565
|
+
}
|
|
64566
|
+
|
|
64567
|
+
var rtBG={ Left:labelInfo.Left+1, Top:y, Width:maxWidth+4, Height:lineHeight*lineCount+4 };
|
|
64568
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
64569
|
+
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
64570
|
+
if (this.LabelConfig.BGColor)
|
|
64571
|
+
{
|
|
64572
|
+
this.Canvas.fillStyle=this.LabelConfig.BGColor
|
|
64573
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
64574
|
+
}
|
|
64575
|
+
|
|
64576
|
+
var xText=rtBG.Left+2;
|
|
64577
|
+
var yText=rtBG.Top+this.LabelConfig.YTextOffset;
|
|
64578
|
+
for(var i=0;i<labelInfo.AryText.length;++i)
|
|
64579
|
+
{
|
|
64580
|
+
var item=labelInfo.AryText[i];
|
|
64581
|
+
|
|
64582
|
+
if (item.Name)
|
|
64583
|
+
{
|
|
64584
|
+
this.Canvas.fillStyle=item.NameColor;
|
|
64585
|
+
this.Canvas.fillText(item.Name,xText,yText);
|
|
64586
|
+
}
|
|
64587
|
+
|
|
64588
|
+
if (item.Text)
|
|
64589
|
+
{
|
|
64590
|
+
this.Canvas.fillStyle=item.TextColor;
|
|
64591
|
+
this.Canvas.fillText(item.Text,xText+item.NameWidth ,yText);
|
|
64592
|
+
}
|
|
64593
|
+
|
|
64594
|
+
yText+=lineHeight;
|
|
64595
|
+
}
|
|
64596
|
+
}
|
|
64597
|
+
}
|
|
64598
|
+
|
|
64374
64599
|
//画图工具-波浪尺
|
|
64375
64600
|
function ChartDrawWaveRuler()
|
|
64376
64601
|
{
|
|
@@ -79334,6 +79559,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79334
79559
|
this.DataStatus={ MultiDay:false, LatestDay:false, LatestDate:null}; //MultiDay=多日 LatestDay:当天 LatestDate:最后的日期
|
|
79335
79560
|
|
|
79336
79561
|
this.ZoomStepPixel=50;
|
|
79562
|
+
this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
|
|
79337
79563
|
|
|
79338
79564
|
//集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
|
|
79339
79565
|
this.SetCallCationDataBorder=function(obj)
|
|
@@ -80809,6 +81035,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80809
81035
|
{ Name:"最近3日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[3]}, Checked:this.DayCount==3 },
|
|
80810
81036
|
{ Name:"最近4日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[4]}, Checked:this.DayCount==4 },
|
|
80811
81037
|
{ Name:"最近5日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[5]}, Checked:this.DayCount==5 },
|
|
81038
|
+
|
|
81039
|
+
{
|
|
81040
|
+
Name:"基准线选择",
|
|
81041
|
+
SubMenu:
|
|
81042
|
+
[
|
|
81043
|
+
{ Name:"最新昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[0]}, Checked:this.BaselineType===0 },
|
|
81044
|
+
{ Name:"多日前昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[1]}, Checked:this.BaselineType===1 }
|
|
81045
|
+
]
|
|
81046
|
+
|
|
81047
|
+
}
|
|
80812
81048
|
]
|
|
80813
81049
|
},
|
|
80814
81050
|
{
|
|
@@ -81997,6 +82233,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81997
82233
|
this.RequestData();
|
|
81998
82234
|
}
|
|
81999
82235
|
|
|
82236
|
+
this.ChangeBaselineType=function(type)
|
|
82237
|
+
{
|
|
82238
|
+
if (this.BaselineType==type) return;
|
|
82239
|
+
|
|
82240
|
+
this.BaselineType=type;
|
|
82241
|
+
if (this.DayCount>1) this.RequestData();
|
|
82242
|
+
}
|
|
82243
|
+
|
|
82000
82244
|
//[{ Symbol: , Color, Option: }]
|
|
82001
82245
|
this.OverlaySymbols=function(aryData, option)
|
|
82002
82246
|
{
|
|
@@ -82484,10 +82728,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82484
82728
|
|
|
82485
82729
|
|
|
82486
82730
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
82487
|
-
|
|
82488
|
-
var yClose=this.DayData[0].YClose;
|
|
82489
82731
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
|
|
82490
|
-
|
|
82732
|
+
var dayItem=this.DayData[0]; //最新
|
|
82733
|
+
if (this.BaselineType===1) dayItem=this.DayData[this.DayData.length-1]; //多日前
|
|
82734
|
+
|
|
82735
|
+
var yClose=dayItem.YClose;
|
|
82736
|
+
if (IFrameSplitOperator.IsNumber(dayItem.YClearing) && isFutures) yClose=dayItem.YClearing; //期货使用前结算价
|
|
82737
|
+
|
|
82491
82738
|
this.BindMainData(sourceData,yClose);
|
|
82492
82739
|
|
|
82493
82740
|
//外汇 均线暂时不用
|
|
@@ -84312,6 +84559,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
84312
84559
|
{
|
|
84313
84560
|
var value=frame.GetXData(x);
|
|
84314
84561
|
index=parseInt(value.toFixed(0));
|
|
84562
|
+
if (IFrameSplitOperator.IsNumber(data.DataOffset)) index+=data.DataOffset; //加上数据偏移
|
|
84315
84563
|
}
|
|
84316
84564
|
else if (clientPos>=100 && clientPos<=199)
|
|
84317
84565
|
{
|
|
@@ -135401,6 +135649,7 @@ function JSDialogDrawTool()
|
|
|
135401
135649
|
[
|
|
135402
135650
|
{ Title: '价格范围', ClassName: 'hqchart_drawtool icon-shijianfanwei', Type:0, Data:{ ID:"PriceRange" } },
|
|
135403
135651
|
{ Title: '时间范围', ClassName: 'hqchart_drawtool icon-jiagefanwei', Type:0, Data:{ ID:"DateRange" } },
|
|
135652
|
+
{ Title: "监测线", ClassName:"hqchart_drawtool icon-jiance", Type:0, Data:{ ID:"MonitorLine"} },
|
|
135404
135653
|
]
|
|
135405
135654
|
},
|
|
135406
135655
|
{
|
|
@@ -135748,7 +135997,7 @@ function JSDialogDrawTool()
|
|
|
135748
135997
|
{
|
|
135749
135998
|
LineColor:this.LineColor, //线段颜色
|
|
135750
135999
|
LineWidth:this.LineWidth, //线段宽度
|
|
135751
|
-
|
|
136000
|
+
PointColor:this.LineColor //点颜色
|
|
135752
136001
|
};
|
|
135753
136002
|
|
|
135754
136003
|
var name=data.Item.Data.ID;
|
|
@@ -135831,6 +136080,19 @@ function JSDialogDrawTool()
|
|
|
135831
136080
|
}
|
|
135832
136081
|
|
|
135833
136082
|
|
|
136083
|
+
/////////////////////////////////////////////////////////////////////////////////////
|
|
136084
|
+
// 修改画图工具
|
|
136085
|
+
//
|
|
136086
|
+
//
|
|
136087
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
136088
|
+
function JSDialogModifyDraw()
|
|
136089
|
+
{
|
|
136090
|
+
this.DivDialog=null;
|
|
136091
|
+
this.HQChart;
|
|
136092
|
+
this.ChartPicture;
|
|
136093
|
+
}
|
|
136094
|
+
|
|
136095
|
+
|
|
135834
136096
|
|
|
135835
136097
|
|
|
135836
136098
|
|
|
@@ -135955,7 +136217,7 @@ function HQChartScriptWorker()
|
|
|
135955
136217
|
|
|
135956
136218
|
|
|
135957
136219
|
|
|
135958
|
-
var HQCHART_VERSION="1.1.
|
|
136220
|
+
var HQCHART_VERSION="1.1.13312";
|
|
135959
136221
|
|
|
135960
136222
|
function PrintHQChartVersion()
|
|
135961
136223
|
{
|