hqchart 1.1.13403 → 1.1.13409
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 +50 -33
- package/package.json +1 -1
- package/src/jscommon/umychart.js +366 -69
- package/src/jscommon/umychart.style.js +7 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +374 -70
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +374 -70
|
@@ -4040,6 +4040,17 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4040
4040
|
if (IFrameSplitOperator.IsNumber(option.ZIndex)) element.style["z-index"]=option.ZIndex;
|
|
4041
4041
|
}
|
|
4042
4042
|
|
|
4043
|
+
if (this.CanvasElement)
|
|
4044
|
+
{
|
|
4045
|
+
element.height=this.CanvasElement.height;
|
|
4046
|
+
element.width=this.CanvasElement.width;
|
|
4047
|
+
if (element.style)
|
|
4048
|
+
{
|
|
4049
|
+
element.style.width=this.CanvasElement.style.width;
|
|
4050
|
+
element.style.height=this.CanvasElement.style.height
|
|
4051
|
+
}
|
|
4052
|
+
}
|
|
4053
|
+
|
|
4043
4054
|
divElement.appendChild(element);
|
|
4044
4055
|
|
|
4045
4056
|
var item={ Element:element, Canvas:null };
|
|
@@ -4376,6 +4387,22 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4376
4387
|
}
|
|
4377
4388
|
}
|
|
4378
4389
|
|
|
4390
|
+
if (chart.ClassName=="KLineChartContainer")
|
|
4391
|
+
{
|
|
4392
|
+
if (!option.DragSelectRect)
|
|
4393
|
+
{
|
|
4394
|
+
option.DragSelectRect={ Enable:true }; //默认开启区间选中画布
|
|
4395
|
+
}
|
|
4396
|
+
|
|
4397
|
+
if (option.DragSelectRect)
|
|
4398
|
+
{
|
|
4399
|
+
var zindex=10;
|
|
4400
|
+
var item=option.DragSelectRect;
|
|
4401
|
+
if (IFrameSplitOperator.IsNumber(item.ZIndex)) zindex=item.ZIndex;
|
|
4402
|
+
if (item.Enable) this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey, { ZIndex:zindex }); //创建独立的区间选择画布
|
|
4403
|
+
}
|
|
4404
|
+
}
|
|
4405
|
+
|
|
4379
4406
|
//创建子窗口
|
|
4380
4407
|
chart.Create(option.Windows.length, option);
|
|
4381
4408
|
|
|
@@ -4383,6 +4410,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4383
4410
|
|
|
4384
4411
|
this.AdjustChartBorder(chart);
|
|
4385
4412
|
|
|
4413
|
+
|
|
4386
4414
|
if (option.KLine)
|
|
4387
4415
|
{
|
|
4388
4416
|
if (option.KLine.PageSize > 0) //一屏显示的数据个数
|
|
@@ -4855,6 +4883,22 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4855
4883
|
if (IFrameSplitOperator.IsBool(item.EnableMoveOn)) chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;
|
|
4856
4884
|
}
|
|
4857
4885
|
|
|
4886
|
+
if (chart.ClassName=="MinuteChartContainer")
|
|
4887
|
+
{
|
|
4888
|
+
if (!option.DragSelectRect)
|
|
4889
|
+
{
|
|
4890
|
+
option.DragSelectRect={ Enable:true }; //默认开启区间选中画布
|
|
4891
|
+
}
|
|
4892
|
+
|
|
4893
|
+
if (option.DragSelectRect)
|
|
4894
|
+
{
|
|
4895
|
+
var item=option.DragSelectRect;
|
|
4896
|
+
var zindex=10;
|
|
4897
|
+
if (IFrameSplitOperator.IsNumber(item.ZIndex)) zindex=item.ZIndex;
|
|
4898
|
+
if (item.Enable) this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey, { ZIndex:zindex }); //创建独立的区间选择画布
|
|
4899
|
+
}
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4858
4902
|
//分页
|
|
4859
4903
|
if (option.PageInfo) chart.SetPageInfo(option.PageInfo);
|
|
4860
4904
|
|
|
@@ -6108,6 +6152,7 @@ JSChart.LastVersion=null; //最新的版本号
|
|
|
6108
6152
|
JSChart.EnableCanvasWillReadFrequently=false; //https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
|
|
6109
6153
|
JSChart.CorssCursorCanvasKey="hqchart_corsscursor";
|
|
6110
6154
|
JSChart.TooltipCursorCanvasKey="hqchart_tooltip";
|
|
6155
|
+
JSChart.RectDragCanvasKey="hqchart_drag_rect";
|
|
6111
6156
|
|
|
6112
6157
|
//初始化
|
|
6113
6158
|
JSChart.Init=function(divElement,bScreen,bCacheCanvas)
|
|
@@ -6651,6 +6696,8 @@ var JSCHART_MENU_ID=
|
|
|
6651
6696
|
CMD_ADD_OVERLAY_INDEX_ID:36, //添加叠加指标
|
|
6652
6697
|
|
|
6653
6698
|
CMD_CHANGE_LANGUAGE_ID:37, //语言切换
|
|
6699
|
+
|
|
6700
|
+
CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:38,
|
|
6654
6701
|
}
|
|
6655
6702
|
|
|
6656
6703
|
|
|
@@ -6734,6 +6781,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6734
6781
|
this.EnableShowCorssCursor={ DrawPicture:true }; //DrawPicture=画图是否显示十字光标
|
|
6735
6782
|
this.ChartPictureMenu; //画图工具 单个图形设置菜单
|
|
6736
6783
|
this.ChartCorssCursor; //十字光标
|
|
6784
|
+
this.ChartDragSelectRect; //选择区间选中
|
|
6737
6785
|
this.IsClickShowCorssCursor=false; //手势点击显示十字光标
|
|
6738
6786
|
this.ChartSplashPaint=null; //等待提示
|
|
6739
6787
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
@@ -6807,16 +6855,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6807
6855
|
this.IsShowTooltip=true; //是否显示K线tooltip
|
|
6808
6856
|
this.TooltipCache={ Type:null, IsShow:false, X:null, Y:null, Data:null, InnerHTML:null }; //缓存tooltip数据
|
|
6809
6857
|
|
|
6810
|
-
//区间选择
|
|
6811
|
-
this.SelectRect=document.createElement("div");
|
|
6812
|
-
this.SelectRect.className="jschart-selectrect";
|
|
6813
|
-
this.SelectRect.style.background=g_JSChartResource.SelectRectBGColor;
|
|
6814
|
-
this.SelectRect.style["pointer-events"]="none";
|
|
6815
|
-
//this.SelectRect.style.opacity=g_JSChartResource.SelectRectAlpha;
|
|
6816
|
-
this.SelectRect.id=Guid();
|
|
6817
|
-
this.SelectRect.oncontextmenu=function() { return false; }; //屏蔽选中区域系统右键菜单
|
|
6818
|
-
uielement.parentNode.appendChild(this.SelectRect);
|
|
6819
|
-
|
|
6820
6858
|
//坐标轴风格方法 double-更加数值型分割 price-更加股票价格分割
|
|
6821
6859
|
this.FrameSplitData=new Map();
|
|
6822
6860
|
this.FrameSplitData.set("double",new SplitData());
|
|
@@ -7374,6 +7412,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7374
7412
|
}
|
|
7375
7413
|
|
|
7376
7414
|
this.HideSelectRect();
|
|
7415
|
+
this.ClearDragSelectRect();
|
|
7377
7416
|
if (this.ChartPictureMenu) this.ChartPictureMenu.Hide();
|
|
7378
7417
|
|
|
7379
7418
|
var paint=this.GetRectSelectPaint();
|
|
@@ -7777,13 +7816,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7777
7816
|
|
|
7778
7817
|
if (moveSetp<5 && yMoveSetp<5) return;
|
|
7779
7818
|
|
|
7780
|
-
//this.UIElement.style.cursor="default";
|
|
7781
7819
|
this.SetCursor({Cursor:"default"});
|
|
7782
|
-
var
|
|
7783
|
-
var
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
this.ShowSelectRect(x,y,x2,y2);
|
|
7820
|
+
var ptStart=this.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y);
|
|
7821
|
+
var ptEnd=this.PointAbsoluteToRelative(e.clientX, e.clientY);
|
|
7822
|
+
|
|
7823
|
+
this.ShowDragSelectRect(ptStart, ptEnd);
|
|
7787
7824
|
|
|
7788
7825
|
drag.LastMove.X=e.clientX;
|
|
7789
7826
|
drag.LastMove.Y=e.clientY;
|
|
@@ -7995,7 +8032,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7995
8032
|
selectData.JSChartContainer=this;
|
|
7996
8033
|
selectData.Stock={Symbol:this.Symbol, Name:this.Name};
|
|
7997
8034
|
|
|
7998
|
-
if (!this.BorderDrag && this.GetSelectRectData(selectData))
|
|
8035
|
+
if (this.ChartDragSelectRect.Enable && !this.BorderDrag && this.GetSelectRectData(selectData))
|
|
7999
8036
|
{
|
|
8000
8037
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
|
|
8001
8038
|
var paint=this.GetRectSelectPaint();
|
|
@@ -8006,7 +8043,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8006
8043
|
{
|
|
8007
8044
|
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
8008
8045
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
8009
|
-
SelectData:selectData,
|
|
8046
|
+
SelectData:selectData, //区间选择的数据
|
|
8010
8047
|
RectSelectPaint:paint, //区间选择背景
|
|
8011
8048
|
IsShowMenu:true,
|
|
8012
8049
|
e,e
|
|
@@ -9085,6 +9122,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9085
9122
|
}
|
|
9086
9123
|
}
|
|
9087
9124
|
|
|
9125
|
+
//清空画布
|
|
9126
|
+
this.ClearCanvas=function(canvas)
|
|
9127
|
+
{
|
|
9128
|
+
if (!canvas) return;
|
|
9129
|
+
if (!this.UIElement) return;
|
|
9130
|
+
|
|
9131
|
+
canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);
|
|
9132
|
+
}
|
|
9133
|
+
|
|
9088
9134
|
this.Draw=function()
|
|
9089
9135
|
{
|
|
9090
9136
|
if (this.ChartCorssCursor) this.ChartCorssCursor.Status=0;
|
|
@@ -10923,36 +10969,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10923
10969
|
if (this.Tooltip.style.display!="none") this.Tooltip.style.display = "none";
|
|
10924
10970
|
}
|
|
10925
10971
|
|
|
10926
|
-
this.ShowSelectRect=function(x,y,x2,y2)
|
|
10927
|
-
{
|
|
10928
|
-
var left = x;
|
|
10929
|
-
var top = y;
|
|
10930
|
-
|
|
10931
|
-
var border=this.Frame.ChartBorder.GetBorder();
|
|
10932
|
-
|
|
10933
|
-
var borderRight=border.Right;
|
|
10934
|
-
var borderLeft=border.Left;
|
|
10935
|
-
|
|
10936
|
-
if (x>borderRight) x=borderRight;
|
|
10937
|
-
if (x2>borderRight) x2=borderRight;
|
|
10938
|
-
|
|
10939
|
-
if (x<borderLeft) x=borderLeft;
|
|
10940
|
-
if (x2<borderLeft) x2=borderLeft;
|
|
10941
|
-
|
|
10942
|
-
if (x>x2) left=x2;
|
|
10943
|
-
if (y>y2) top=y2;
|
|
10944
|
-
|
|
10945
|
-
var width=Math.abs(x-x2);
|
|
10946
|
-
var height=Math.abs(y-y2);
|
|
10947
|
-
|
|
10948
|
-
this.SelectRect.style.width = width+"px";
|
|
10949
|
-
this.SelectRect.style.height =height+"px";
|
|
10950
|
-
this.SelectRect.style.position = "absolute";
|
|
10951
|
-
this.SelectRect.style.left = left +"px";
|
|
10952
|
-
this.SelectRect.style.top = top +"px";
|
|
10953
|
-
this.SelectRect.style.display = "block";
|
|
10954
|
-
}
|
|
10955
|
-
|
|
10956
10972
|
this.UpdateSelectRect=function(start,end)
|
|
10957
10973
|
{
|
|
10958
10974
|
if (!this.ChartPaint[0].Data) return;
|
|
@@ -10972,7 +10988,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10972
10988
|
|
|
10973
10989
|
this.HideSelectRect=function()
|
|
10974
10990
|
{
|
|
10975
|
-
this.
|
|
10991
|
+
this.ClearDragSelectRect();
|
|
10976
10992
|
}
|
|
10977
10993
|
|
|
10978
10994
|
this.ResetFrameXYSplit=function()
|
|
@@ -11767,11 +11783,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11767
11783
|
|
|
11768
11784
|
this.ReloadExtendChartPaintResource=function(resource) //扩展画法重新加载配置
|
|
11769
11785
|
{
|
|
11770
|
-
for(var i
|
|
11786
|
+
for(var i=0;i<this.ExtendChartPaint.length; ++i)
|
|
11771
11787
|
{
|
|
11772
11788
|
var item=this.ExtendChartPaint[i];
|
|
11773
11789
|
if (item.ReloadResource) item.ReloadResource(resource);
|
|
11774
11790
|
}
|
|
11791
|
+
|
|
11792
|
+
if (this.ChartDragSelectRect && this.ChartDragSelectRect.ReloadResource) this.ChartDragSelectRect.ReloadResource(resource);
|
|
11775
11793
|
}
|
|
11776
11794
|
|
|
11777
11795
|
this.ReloadChartDrawPictureResource=function(resource)
|
|
@@ -12472,14 +12490,19 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12472
12490
|
//区间选择
|
|
12473
12491
|
this.GetRectSelectPaint=function()
|
|
12474
12492
|
{
|
|
12475
|
-
|
|
12476
|
-
|
|
12477
|
-
var item=this.ExtendChartPaint[i];
|
|
12478
|
-
if (item.ClassName=="RectSelectPaint")
|
|
12479
|
-
return item;
|
|
12480
|
-
}
|
|
12493
|
+
var finder=this.GetExtendChartByClassName("RectSelectPaint");
|
|
12494
|
+
if (!finder) return null;
|
|
12481
12495
|
|
|
12482
|
-
return
|
|
12496
|
+
return finder.Chart;
|
|
12497
|
+
}
|
|
12498
|
+
|
|
12499
|
+
//鼠标拖动区域
|
|
12500
|
+
this.GetRectDragPaint=function()
|
|
12501
|
+
{
|
|
12502
|
+
var finder=this.GetExtendChartByClassName("RectDragPaint");
|
|
12503
|
+
if (!finder) return null;
|
|
12504
|
+
|
|
12505
|
+
return finder.Chart;
|
|
12483
12506
|
}
|
|
12484
12507
|
|
|
12485
12508
|
this.SetRectSelectData=function(kItem, index)
|
|
@@ -13445,6 +13468,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13445
13468
|
case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:
|
|
13446
13469
|
if (srcParam) this.SetLanguage(srcParam);
|
|
13447
13470
|
break;
|
|
13471
|
+
|
|
13472
|
+
case JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:
|
|
13473
|
+
if (param!=null)
|
|
13474
|
+
{
|
|
13475
|
+
if (this.ChartDragSelectRect) this.ChartDragSelectRect.ShowMode=param;
|
|
13476
|
+
}
|
|
13477
|
+
break;
|
|
13448
13478
|
}
|
|
13449
13479
|
}
|
|
13450
13480
|
|
|
@@ -13588,6 +13618,37 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13588
13618
|
{
|
|
13589
13619
|
this.CurrentChartDrawPicture=null;
|
|
13590
13620
|
}
|
|
13621
|
+
|
|
13622
|
+
|
|
13623
|
+
this.CreateDragSelectRect=function(option)
|
|
13624
|
+
{
|
|
13625
|
+
var chart=g_ExtendChartPaintFactory.Create("RectDragPaint",option);
|
|
13626
|
+
if (!chart) return null;
|
|
13627
|
+
|
|
13628
|
+
if (option && option.Enable===true) chart.Enable=true;
|
|
13629
|
+
chart.ChartBorder=this.Frame.ChartBorder;
|
|
13630
|
+
chart.ChartFrame=this.Frame;
|
|
13631
|
+
chart.HQChart=this;
|
|
13632
|
+
chart.SetOption(option);
|
|
13633
|
+
|
|
13634
|
+
this.ChartDragSelectRect=chart;
|
|
13635
|
+
}
|
|
13636
|
+
|
|
13637
|
+
this.ClearDragSelectRect=function()
|
|
13638
|
+
{
|
|
13639
|
+
if (!this.ChartDragSelectRect) return;
|
|
13640
|
+
|
|
13641
|
+
this.ChartDragSelectRect.ClearPoint();
|
|
13642
|
+
}
|
|
13643
|
+
|
|
13644
|
+
this.ShowDragSelectRect=function(ptStart, ptEnd)
|
|
13645
|
+
{
|
|
13646
|
+
if (!this.ChartDragSelectRect) return;
|
|
13647
|
+
|
|
13648
|
+
this.ChartDragSelectRect.SetFirstPoint(ptStart.X, ptStart.Y);
|
|
13649
|
+
this.ChartDragSelectRect.SetSecondPoint(ptEnd.X, ptEnd.Y);
|
|
13650
|
+
this.ChartDragSelectRect.Draw();
|
|
13651
|
+
}
|
|
13591
13652
|
}
|
|
13592
13653
|
|
|
13593
13654
|
function GetDevicePixelRatio()
|
|
@@ -23644,6 +23705,8 @@ function HistoryData()
|
|
|
23644
23705
|
this.BFactor; //前复权
|
|
23645
23706
|
this.AFactor; //后复权
|
|
23646
23707
|
|
|
23708
|
+
this.RightSeed; //本地计算的复权系数
|
|
23709
|
+
|
|
23647
23710
|
/*
|
|
23648
23711
|
{
|
|
23649
23712
|
PriceOffset: 每个单元的价格间距,
|
|
@@ -24649,7 +24712,10 @@ function ChartData()
|
|
|
24649
24712
|
for(--index; index>=0; --index)
|
|
24650
24713
|
{
|
|
24651
24714
|
if (yClose!=this.Data[index].Close) break;
|
|
24652
|
-
|
|
24715
|
+
var newItem=HistoryData.Copy(this.Data[index]);
|
|
24716
|
+
newItem.RightSeed=seed;
|
|
24717
|
+
result[index]=newItem;
|
|
24718
|
+
|
|
24653
24719
|
yClose=this.Data[index].YClose;
|
|
24654
24720
|
}
|
|
24655
24721
|
|
|
@@ -24659,7 +24725,9 @@ function ChartData()
|
|
|
24659
24725
|
if(yClose!=value && value!=0)
|
|
24660
24726
|
seed *= yClose/value;
|
|
24661
24727
|
|
|
24662
|
-
|
|
24728
|
+
var newItem=HistoryData.CopyRight(this.Data[index],seed);
|
|
24729
|
+
newItem.RightSeed=seed;
|
|
24730
|
+
result[index]=newItem
|
|
24663
24731
|
|
|
24664
24732
|
yClose=this.Data[index].YClose;
|
|
24665
24733
|
}
|
|
@@ -24674,7 +24742,9 @@ function ChartData()
|
|
|
24674
24742
|
for(++index;index<this.Data.length;++index)
|
|
24675
24743
|
{
|
|
24676
24744
|
if (close!=this.Data[index].YClose) break;
|
|
24677
|
-
|
|
24745
|
+
var newItem=HistoryData.Copy(this.Data[index]);
|
|
24746
|
+
newItem.RightSeed=seed;
|
|
24747
|
+
result[index]=newItem;
|
|
24678
24748
|
close=this.Data[index].Close;
|
|
24679
24749
|
}
|
|
24680
24750
|
|
|
@@ -24683,7 +24753,9 @@ function ChartData()
|
|
|
24683
24753
|
if(close!=this.Data[index].YClose)
|
|
24684
24754
|
seed *= close/this.Data[index].YClose;
|
|
24685
24755
|
|
|
24686
|
-
|
|
24756
|
+
var newItem=HistoryData.CopyRight(this.Data[index],seed);
|
|
24757
|
+
newItem.RightSeed=seed;
|
|
24758
|
+
result[index]=newItem;
|
|
24687
24759
|
|
|
24688
24760
|
close=this.Data[index].Close;
|
|
24689
24761
|
}
|
|
@@ -44274,6 +44346,7 @@ function ExtendChartPaintFactory()
|
|
|
44274
44346
|
[
|
|
44275
44347
|
["FrameSplitPaint", { Create:function() { return new FrameSplitPaint(); } }],
|
|
44276
44348
|
["RectSelectPaint", { Create:function() { return new RectSelectPaint(); } }],
|
|
44349
|
+
["RectDragPaint", { Create:function() { return new RectDragPaint(); } }],
|
|
44277
44350
|
["DragMovePaint", { Create:function() { return new DragMovePaint(); } }],
|
|
44278
44351
|
["SessionBreaksPaint", { Create:function() { return new SessionBreaksPaint(); }}],
|
|
44279
44352
|
["FrameButtomToolbarPaint", {Create:function() { return new FrameButtomToolbarPaint(); }}]
|
|
@@ -47260,6 +47333,189 @@ function RectSelectPaint()
|
|
|
47260
47333
|
}
|
|
47261
47334
|
}
|
|
47262
47335
|
}
|
|
47336
|
+
|
|
47337
|
+
//鼠标拖动选中区域
|
|
47338
|
+
function RectDragPaint()
|
|
47339
|
+
{
|
|
47340
|
+
this.newMethod=IExtendChartPainting; //派生
|
|
47341
|
+
this.newMethod();
|
|
47342
|
+
delete this.newMethod;
|
|
47343
|
+
|
|
47344
|
+
this.ClassName='RectDragPaint';
|
|
47345
|
+
this.LineColor=g_JSChartResource.RectDrag.LineColor; //竖线
|
|
47346
|
+
this.LineWidth=g_JSChartResource.RectDrag.LineWidth;
|
|
47347
|
+
this.BGColor=g_JSChartResource.RectDrag.BGColor;
|
|
47348
|
+
this.ShowMode=0; //0=只画边框 1=遮挡未选中区域 2=整体全选
|
|
47349
|
+
this.Enable=false;
|
|
47350
|
+
|
|
47351
|
+
this.FirstPoint;
|
|
47352
|
+
this.SecondPoint;
|
|
47353
|
+
|
|
47354
|
+
this.IsClearCanvas=true; //画布是否是清空状态
|
|
47355
|
+
|
|
47356
|
+
//设置参数接口
|
|
47357
|
+
this.SetOption=function(option)
|
|
47358
|
+
{
|
|
47359
|
+
if (option)
|
|
47360
|
+
{
|
|
47361
|
+
if (option.LineColor) this.LineColor=option.LineColor;
|
|
47362
|
+
if (option.BGColor) this.BGColor=option.BGColor;
|
|
47363
|
+
if (IFrameSplitOperator.IsNumber(option.ShowMode)) this.ShowMode=option.ShowMode;
|
|
47364
|
+
}
|
|
47365
|
+
}
|
|
47366
|
+
|
|
47367
|
+
this.ReloadResource=function(resource)
|
|
47368
|
+
{
|
|
47369
|
+
this.LineColor=g_JSChartResource.RectDrag.LineColor; //竖线
|
|
47370
|
+
this.LineWidth=g_JSChartResource.RectDrag.LineWidth;
|
|
47371
|
+
this.BGColor=g_JSChartResource.RectDrag.BGColor; //面积
|
|
47372
|
+
}
|
|
47373
|
+
|
|
47374
|
+
this.ClearPoint=function()
|
|
47375
|
+
{
|
|
47376
|
+
this.FirstPoint=null;
|
|
47377
|
+
this.SecondPoint=null;
|
|
47378
|
+
|
|
47379
|
+
if (!this.IsClearCanvas) this.Draw();
|
|
47380
|
+
}
|
|
47381
|
+
|
|
47382
|
+
this.SetFirstPoint=function(x, y)
|
|
47383
|
+
{
|
|
47384
|
+
this.FirstPoint={ X:x, Y:y };
|
|
47385
|
+
}
|
|
47386
|
+
|
|
47387
|
+
this.SetSecondPoint=function(x, y)
|
|
47388
|
+
{
|
|
47389
|
+
this.SecondPoint={ X:x, Y:y };
|
|
47390
|
+
}
|
|
47391
|
+
|
|
47392
|
+
this.DrawSelectedBorderMode=function(rtSelect)
|
|
47393
|
+
{
|
|
47394
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
47395
|
+
this.Canvas.strokeRect(ToFixedPoint(rtSelect.Left),ToFixedPoint(rtSelect.Top),ToFixedRect(rtSelect.Width),ToFixedRect(rtSelect.Height));
|
|
47396
|
+
}
|
|
47397
|
+
|
|
47398
|
+
this.DrawUnselectedMaskMode=function(rtSelect, rtClient)
|
|
47399
|
+
{
|
|
47400
|
+
if (this.BGColor)
|
|
47401
|
+
{
|
|
47402
|
+
this.Canvas.save();
|
|
47403
|
+
|
|
47404
|
+
var clipPath=new Path2D();
|
|
47405
|
+
clipPath.rect(rtClient.Left, rtClient.Top, rtClient.Width, rtSelect.Top-rtClient.Top);
|
|
47406
|
+
|
|
47407
|
+
var leftPath=new Path2D();
|
|
47408
|
+
leftPath.rect(rtClient.Left,rtSelect.Top, rtSelect.Left-rtClient.Left, rtSelect.Height);
|
|
47409
|
+
clipPath.addPath(leftPath);
|
|
47410
|
+
|
|
47411
|
+
var rightPath=new Path2D();
|
|
47412
|
+
rightPath.rect(rtSelect.Right,rtSelect.Top, rtClient.Right-rtSelect.Right, rtSelect.Height);
|
|
47413
|
+
clipPath.addPath(rightPath);
|
|
47414
|
+
|
|
47415
|
+
var bottmPath=new Path2D();
|
|
47416
|
+
bottmPath.rect(rtClient.Left,rtSelect.Bottom, rtClient.Width, rtClient.Bottom-rtSelect.Bottom);
|
|
47417
|
+
clipPath.addPath(bottmPath);
|
|
47418
|
+
|
|
47419
|
+
this.Canvas.clip(clipPath);
|
|
47420
|
+
|
|
47421
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
47422
|
+
this.Canvas.fillRect(rtClient.Left,rtClient.Top,rtClient.Width,rtClient.Height);
|
|
47423
|
+
|
|
47424
|
+
this.Canvas.restore();
|
|
47425
|
+
}
|
|
47426
|
+
|
|
47427
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
47428
|
+
this.Canvas.strokeRect(ToFixedPoint(rtSelect.Left),ToFixedPoint(rtSelect.Top),ToFixedRect(rtSelect.Width),ToFixedRect(rtSelect.Height));
|
|
47429
|
+
}
|
|
47430
|
+
|
|
47431
|
+
this.DrawFullselectedMode=function(rtSelect, rtClient)
|
|
47432
|
+
{
|
|
47433
|
+
if (this.BGColor)
|
|
47434
|
+
{
|
|
47435
|
+
this.Canvas.save();
|
|
47436
|
+
|
|
47437
|
+
var clipPath=new Path2D();
|
|
47438
|
+
clipPath.rect(rtClient.Left, rtClient.Top, rtSelect.Left-rtClient.Left, rtClient.Height);
|
|
47439
|
+
|
|
47440
|
+
var rightPath=new Path2D();
|
|
47441
|
+
rightPath.rect(rtSelect.Right,rtClient.Top, rtClient.Right-rtSelect.Right, rtClient.Height);
|
|
47442
|
+
clipPath.addPath(rightPath);
|
|
47443
|
+
|
|
47444
|
+
this.Canvas.clip(clipPath);
|
|
47445
|
+
|
|
47446
|
+
this.Canvas.fillStyle=this.BGColor;
|
|
47447
|
+
this.Canvas.fillRect(rtClient.Left,rtClient.Top,rtClient.Width,rtClient.Height);
|
|
47448
|
+
|
|
47449
|
+
this.Canvas.restore();
|
|
47450
|
+
}
|
|
47451
|
+
|
|
47452
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
47453
|
+
this.Canvas.strokeRect(ToFixedPoint(rtSelect.Left),ToFixedPoint(rtClient.Top),ToFixedRect(rtSelect.Width),ToFixedRect(rtClient.Height));
|
|
47454
|
+
}
|
|
47455
|
+
|
|
47456
|
+
this.Draw=function()
|
|
47457
|
+
{
|
|
47458
|
+
if (!this.Enable) return;
|
|
47459
|
+
if (!this.HQChart) return;
|
|
47460
|
+
|
|
47461
|
+
var finder=this.HQChart.GetExtraCanvas(JSChart.RectDragCanvasKey);
|
|
47462
|
+
if (!finder) return;
|
|
47463
|
+
|
|
47464
|
+
this.Canvas=finder.Canvas;
|
|
47465
|
+
this.HQChart.ClearCanvas(this.Canvas);
|
|
47466
|
+
this.IsClearCanvas=true;
|
|
47467
|
+
|
|
47468
|
+
if (!this.FirstPoint && !this.SecondPoint) return;
|
|
47469
|
+
|
|
47470
|
+
var top=this.ChartBorder.GetTop();
|
|
47471
|
+
var bottom=this.ChartBorder.GetBottom();
|
|
47472
|
+
var left=this.ChartBorder.GetLeft();
|
|
47473
|
+
var right=this.ChartBorder.GetRight();
|
|
47474
|
+
|
|
47475
|
+
var rtClient={Left:left, Top:top, Right:right, Bottom:bottom };
|
|
47476
|
+
rtClient.Width=rtClient.Right-rtClient.Left;
|
|
47477
|
+
rtClient.Height=rtClient.Bottom-rtClient.Top;
|
|
47478
|
+
|
|
47479
|
+
var rtSelect=
|
|
47480
|
+
{
|
|
47481
|
+
Left:Math.min(this.FirstPoint.X,this.SecondPoint.X),
|
|
47482
|
+
Right:Math.max(this.FirstPoint.X,this.SecondPoint.X),
|
|
47483
|
+
Top:Math.min(this.FirstPoint.Y,this.SecondPoint.Y),
|
|
47484
|
+
Bottom:Math.max(this.FirstPoint.Y,this.SecondPoint.Y)
|
|
47485
|
+
}
|
|
47486
|
+
|
|
47487
|
+
if (rtSelect.Top<top) rtSelect.Top=top;
|
|
47488
|
+
else if (rtSelect.Top>bottom) rtSelect.Top=bottom;
|
|
47489
|
+
if (rtSelect.Bottom<top) rtSelect.Bottom=top;
|
|
47490
|
+
else if (rtSelect.Bottom>bottom) rtSelect.Bottom=bottom;
|
|
47491
|
+
|
|
47492
|
+
if (rtSelect.Left<left) rtSelect.Left=left;
|
|
47493
|
+
else if (rtSelect.Left>right) rtSelect.Left=right;
|
|
47494
|
+
if (rtSelect.Right<left) rtSelect.Right=left;
|
|
47495
|
+
else if (rtSelect.Right>right) rtSelect.Right=right;
|
|
47496
|
+
|
|
47497
|
+
rtSelect.Width=rtSelect.Right-rtSelect.Left;
|
|
47498
|
+
rtSelect.Height=rtSelect.Bottom-rtSelect.Top;
|
|
47499
|
+
|
|
47500
|
+
switch(this.ShowMode)
|
|
47501
|
+
{
|
|
47502
|
+
case 1:
|
|
47503
|
+
this.DrawUnselectedMaskMode(rtSelect,rtClient);
|
|
47504
|
+
break;
|
|
47505
|
+
case 2:
|
|
47506
|
+
this.DrawFullselectedMode(rtSelect,rtClient);
|
|
47507
|
+
break;
|
|
47508
|
+
default:
|
|
47509
|
+
this.DrawSelectedBorderMode(rtSelect);
|
|
47510
|
+
break;
|
|
47511
|
+
}
|
|
47512
|
+
|
|
47513
|
+
|
|
47514
|
+
|
|
47515
|
+
this.IsClearCanvas=false;
|
|
47516
|
+
}
|
|
47517
|
+
}
|
|
47518
|
+
|
|
47263
47519
|
//深度图 支持横屏
|
|
47264
47520
|
/*
|
|
47265
47521
|
数据格式:
|
|
@@ -61362,8 +61618,8 @@ function ChartDrawHLine()
|
|
|
61362
61618
|
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
61363
61619
|
var pixelTatio = GetDevicePixelRatio();
|
|
61364
61620
|
|
|
61365
|
-
if (IFrameSplitOperator.IsNumber(labInfo.TopOffset)) top-=labInfo.TopOffset;
|
|
61366
|
-
if (IFrameSplitOperator.IsNumber(labInfo.BottomOffset)) bottom+=labInfo.BottomOffset;
|
|
61621
|
+
if (labInfo && IFrameSplitOperator.IsNumber(labInfo.TopOffset)) top-=labInfo.TopOffset;
|
|
61622
|
+
if (labInfo && IFrameSplitOperator.IsNumber(labInfo.BottomOffset)) bottom+=labInfo.BottomOffset;
|
|
61367
61623
|
|
|
61368
61624
|
var yValue=this.Frame.GetYData(y,false);
|
|
61369
61625
|
var strValue=yValue.toFixed(this.Precision);
|
|
@@ -70440,6 +70696,7 @@ function JSChartResource()
|
|
|
70440
70696
|
RangeTextSubBGColor:'rgb(54,54,54)',
|
|
70441
70697
|
}
|
|
70442
70698
|
|
|
70699
|
+
//选中图形
|
|
70443
70700
|
this.SelectedChart=
|
|
70444
70701
|
{
|
|
70445
70702
|
LineWidth:1,
|
|
@@ -70449,6 +70706,14 @@ function JSChartResource()
|
|
|
70449
70706
|
BGColor:"rgb(255,255,255)"
|
|
70450
70707
|
}
|
|
70451
70708
|
|
|
70709
|
+
//鼠标区间选中
|
|
70710
|
+
this.RectDrag=
|
|
70711
|
+
{
|
|
70712
|
+
LineColor:"rgb(0,0,0)", //竖线
|
|
70713
|
+
LineWidth:1*GetDevicePixelRatio(),
|
|
70714
|
+
BGColor:"rgba(128,128,128,0.2)", //面积
|
|
70715
|
+
}
|
|
70716
|
+
|
|
70452
70717
|
this.DragMovePaint=
|
|
70453
70718
|
{
|
|
70454
70719
|
TextColor:"rgb(0,0,0)",
|
|
@@ -71182,6 +71447,16 @@ function JSChartResource()
|
|
|
71182
71447
|
if (item.RangeTextSubBGColor) this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;
|
|
71183
71448
|
}
|
|
71184
71449
|
|
|
71450
|
+
if (style.RectDrag)
|
|
71451
|
+
{
|
|
71452
|
+
var item=style.RectDrag;
|
|
71453
|
+
var dest=this.RectDrag;
|
|
71454
|
+
|
|
71455
|
+
if (item.LineColor) dest.LineColor=item.LineColor;
|
|
71456
|
+
if (IFrameSplitOperator.IsPlusNumber(item.LineWidth)) dest.LineWidth=item.LineWidth;
|
|
71457
|
+
if (item.BGColor) dest.BGColor=item.BGColor;
|
|
71458
|
+
}
|
|
71459
|
+
|
|
71185
71460
|
if (style.OrderFlow)
|
|
71186
71461
|
{
|
|
71187
71462
|
item=style.OrderFlow;
|
|
@@ -73577,6 +73852,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73577
73852
|
this.CreateMainKLine();
|
|
73578
73853
|
this.CreateExtendChart("RectSelectPaint", option? option.SelectRect:null); //区间统计
|
|
73579
73854
|
if (this.EnableIndexChartDrag) this.CreateExtendChart("DragMovePaint");
|
|
73855
|
+
this.CreateDragSelectRect(option? option.DragSelectRect:null);
|
|
73580
73856
|
|
|
73581
73857
|
//子窗口动态标题
|
|
73582
73858
|
for(var i in this.Frame.SubFrame)
|
|
@@ -73617,6 +73893,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73617
73893
|
if (bRegisterWheel) this.UIElement.addEventListener("wheel", (e)=>{ this.OnWheel(e); }, true); //上下滚动消息
|
|
73618
73894
|
}
|
|
73619
73895
|
|
|
73896
|
+
|
|
73897
|
+
|
|
73620
73898
|
this.OnCustomKeyDown=function(keyID, e) //自定义键盘事件
|
|
73621
73899
|
{
|
|
73622
73900
|
if (keyID==37 && e.ctrlKey) //Ctrl+Left
|
|
@@ -78389,7 +78667,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
78389
78667
|
|
|
78390
78668
|
{ Name:"禁止拖拽", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID, Args:[0]}, Checked:0==this.DragMode },
|
|
78391
78669
|
{ Name:"启动拖拽", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID, Args:[1]}, Checked:1==this.DragMode },
|
|
78392
|
-
{ Name:"
|
|
78670
|
+
{ Name:"左键区间选择", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID, Args:[2]}, Checked:2==this.DragMode },
|
|
78393
78671
|
{ Name:JSPopMenu.SEPARATOR_LINE_NAME },
|
|
78394
78672
|
|
|
78395
78673
|
{ Name:"背景分割", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID, Args:[!bBGSpit]}, Checked:bBGSpit},
|
|
@@ -78415,6 +78693,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
78415
78693
|
{ Name:"繁体", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID, Args:["TC"]}, Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID },
|
|
78416
78694
|
]
|
|
78417
78695
|
},
|
|
78696
|
+
{
|
|
78697
|
+
Name:"区间选择样式",
|
|
78698
|
+
SubMenu:
|
|
78699
|
+
[
|
|
78700
|
+
{ Name:"样式1(默认)", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[0]}, Checked:0==this.ChartDragSelectRect.ShowMode },
|
|
78701
|
+
{ Name:"样式2", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[1]}, Checked:1==this.ChartDragSelectRect.ShowMode },
|
|
78702
|
+
{ Name:"样式3", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[2]}, Checked:2==this.ChartDragSelectRect.ShowMode },
|
|
78703
|
+
]
|
|
78704
|
+
}
|
|
78418
78705
|
]
|
|
78419
78706
|
}
|
|
78420
78707
|
];
|
|
@@ -80784,11 +81071,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80784
81071
|
|
|
80785
81072
|
//this.UIElement.style.cursor="default";
|
|
80786
81073
|
this.SetCursor({Cursor:"default"});
|
|
80787
|
-
var
|
|
80788
|
-
var
|
|
80789
|
-
|
|
80790
|
-
|
|
80791
|
-
this.ShowSelectRect(x,y,x2,y2);
|
|
81074
|
+
var ptStart=this.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y);
|
|
81075
|
+
var ptEnd=this.PointAbsoluteToRelative(e.clientX, e.clientY);
|
|
81076
|
+
|
|
81077
|
+
this.ShowDragSelectRect(ptStart, ptEnd);
|
|
80792
81078
|
|
|
80793
81079
|
drag.LastMove.X=e.clientX;
|
|
80794
81080
|
drag.LastMove.Y=e.clientY;
|
|
@@ -81959,6 +82245,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81959
82245
|
SubMenu:
|
|
81960
82246
|
[
|
|
81961
82247
|
{ Name:"画图工具", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID, Args:[]}, Checked:this.IsShowDrawToolDialog()},
|
|
82248
|
+
|
|
82249
|
+
{
|
|
82250
|
+
Name:"区间选择样式",
|
|
82251
|
+
SubMenu:
|
|
82252
|
+
[
|
|
82253
|
+
{ Name:"样式1(默认)", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[0]}, Checked:0==this.ChartDragSelectRect.ShowMode },
|
|
82254
|
+
{ Name:"样式2", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[1]}, Checked:1==this.ChartDragSelectRect.ShowMode },
|
|
82255
|
+
{ Name:"样式3", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID, Args:[2]}, Checked:2==this.ChartDragSelectRect.ShowMode },
|
|
82256
|
+
]
|
|
82257
|
+
}
|
|
81962
82258
|
]
|
|
81963
82259
|
}
|
|
81964
82260
|
|
|
@@ -82149,6 +82445,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82149
82445
|
this.CreateMainKLine();
|
|
82150
82446
|
this.CreateExtendChart("RectSelectPaint", option? option.SelectRect:null); //区间统计
|
|
82151
82447
|
if (this.EnableIndexChartDrag) this.CreateExtendChart("DragMovePaint");
|
|
82448
|
+
this.CreateDragSelectRect(option? option.DragSelectRect:null);
|
|
82152
82449
|
|
|
82153
82450
|
//子窗口动态标题
|
|
82154
82451
|
for(var i=0;i<this.Frame.SubFrame.length; ++i)
|
|
@@ -122757,6 +123054,13 @@ function GetBlackStyle()
|
|
|
122757
123054
|
AreaColor:"rgba(26,13,7,0.5)", //面积
|
|
122758
123055
|
},
|
|
122759
123056
|
|
|
123057
|
+
RectDrag:
|
|
123058
|
+
{
|
|
123059
|
+
LineColor:"rgb(220,220,220)",
|
|
123060
|
+
LineWidth:1*GetDevicePixelRatio(),
|
|
123061
|
+
BGColor:"rgba(220,220,220,0.2)", //面积
|
|
123062
|
+
},
|
|
123063
|
+
|
|
122760
123064
|
SelectedChart:
|
|
122761
123065
|
{
|
|
122762
123066
|
LineWidth:1,
|
|
@@ -137670,7 +137974,7 @@ function HQChartScriptWorker()
|
|
|
137670
137974
|
|
|
137671
137975
|
|
|
137672
137976
|
|
|
137673
|
-
var HQCHART_VERSION="1.1.
|
|
137977
|
+
var HQCHART_VERSION="1.1.13408";
|
|
137674
137978
|
|
|
137675
137979
|
function PrintHQChartVersion()
|
|
137676
137980
|
{
|