hqchart 1.1.13588 → 1.1.13595
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 +74 -60
- package/package.json +1 -1
- package/src/jscommon/umychart.js +47 -4
- package/src/jscommon/umychart.report.js +173 -2
- 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 +221 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +221 -7
|
@@ -6571,6 +6571,7 @@ var JSCHART_EVENT_ID=
|
|
|
6571
6571
|
ON_CLICK_REPORT_CHECKBOX:141, //报价列表checkbox
|
|
6572
6572
|
ON_CLICK_REPORT_BUTTON:142, //报价列表按钮
|
|
6573
6573
|
ON_CLICK_REPORT_LINK:143, //报价列表 链接
|
|
6574
|
+
ON_CREATE_REPORT_HEADER_MENU:144, //报价列表 表头菜单
|
|
6574
6575
|
|
|
6575
6576
|
|
|
6576
6577
|
ON_CHANGE_INDEX:150, //切换指标
|
|
@@ -6747,8 +6748,10 @@ var JSCHART_MENU_ID=
|
|
|
6747
6748
|
|
|
6748
6749
|
|
|
6749
6750
|
CMD_REPORT_CHANGE_BLOCK_ID:60, //报价列表 切换板块ID
|
|
6750
|
-
|
|
6751
|
-
|
|
6751
|
+
CMD_REPORT_COLUMN_SORT_ID:61, //报价列表 表头排序 Arg[列序号, 排序方向]
|
|
6752
|
+
CMD_REPORT_COLUMN_DEL_ID:62, //报价列表 删除列
|
|
6753
|
+
CMD_REPORT_COLUMN_MOVE_ID:63, //报价列表 列移动
|
|
6754
|
+
CMD_REPORT_COLUMN_FILTER_ID:64, //报价列表 筛选
|
|
6752
6755
|
}
|
|
6753
6756
|
|
|
6754
6757
|
|
|
@@ -60925,6 +60928,16 @@ function ChartArrowMarker()
|
|
|
60925
60928
|
this.OnlyMoveXIndex=true;
|
|
60926
60929
|
this.IsSupportMagnet=true;
|
|
60927
60930
|
|
|
60931
|
+
this.Super_SetOption=this.SetOption; //父类函数
|
|
60932
|
+
|
|
60933
|
+
this.SetOption=function(option)
|
|
60934
|
+
{
|
|
60935
|
+
this.Super_SetOption(option);
|
|
60936
|
+
|
|
60937
|
+
if (option.AreaColor) this.AreaColor=option.AreaColor;
|
|
60938
|
+
else this.AreaColor=IChartDrawPicture.ColorToRGBA(this.LineColor, 0.6);
|
|
60939
|
+
}
|
|
60940
|
+
|
|
60928
60941
|
this.CalculatePoint=function(angle, ptStart, ptEnd, lineWidth)
|
|
60929
60942
|
{
|
|
60930
60943
|
var theta=angle; //三角斜边一直线夹角
|
|
@@ -60968,9 +60981,12 @@ function ChartArrowMarker()
|
|
|
60968
60981
|
this.Canvas.lineTo(outArrow.Bottom.X,outArrow.Bottom.Y);
|
|
60969
60982
|
this.Canvas.lineTo(insideArrow.Bottom.X,insideArrow.Bottom.Y);
|
|
60970
60983
|
this.Canvas.lineTo(ptStart.X,ptStart.Y);
|
|
60971
|
-
this.Canvas.closePath();
|
|
60972
60984
|
|
|
60973
|
-
this.Canvas.
|
|
60985
|
+
this.Canvas.strokeStyle=this.LineColor;
|
|
60986
|
+
this.Canvas.stroke();
|
|
60987
|
+
|
|
60988
|
+
this.Canvas.closePath();
|
|
60989
|
+
this.Canvas.fillStyle=this.AreaColor;
|
|
60974
60990
|
this.Canvas.fill();
|
|
60975
60991
|
|
|
60976
60992
|
/*
|
|
@@ -69761,6 +69777,9 @@ function ChartPriceRange()
|
|
|
69761
69777
|
|
|
69762
69778
|
this.DrawArrow({X:ToFixedPoint(xCenter), Y:ptStart.Y}, {X:ToFixedPoint(xCenter), Y:ptEnd.Y});
|
|
69763
69779
|
|
|
69780
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
69781
|
+
var top=this.Frame.ChartBorder.GetTopEx();
|
|
69782
|
+
|
|
69764
69783
|
//文字输出
|
|
69765
69784
|
var startValue=this.Frame.GetYData(ptStart.Y,false);
|
|
69766
69785
|
var endValue=this.Frame.GetYData(ptEnd.Y,false);
|
|
@@ -69776,6 +69795,23 @@ function ChartPriceRange()
|
|
|
69776
69795
|
else rtTextBG.Top=ptEnd.Y+4;
|
|
69777
69796
|
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69778
69797
|
|
|
69798
|
+
if (diffValue>0)
|
|
69799
|
+
{
|
|
69800
|
+
if (rtTextBG.Top<=top)
|
|
69801
|
+
{
|
|
69802
|
+
rtTextBG.Top=top;
|
|
69803
|
+
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69804
|
+
}
|
|
69805
|
+
}
|
|
69806
|
+
else
|
|
69807
|
+
{
|
|
69808
|
+
if (rtTextBG.Bottom>=bottom)
|
|
69809
|
+
{
|
|
69810
|
+
rtTextBG.Bottom=bottom;
|
|
69811
|
+
rtTextBG.Top=rtTextBG.Bottom-rtTextBG.Height;
|
|
69812
|
+
}
|
|
69813
|
+
}
|
|
69814
|
+
|
|
69779
69815
|
if (this.Label.EnableBGColor)
|
|
69780
69816
|
{
|
|
69781
69817
|
var path=new Path2D();
|
|
@@ -69882,6 +69918,7 @@ function ChartDateRange()
|
|
|
69882
69918
|
|
|
69883
69919
|
|
|
69884
69920
|
//文字输出
|
|
69921
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
69885
69922
|
var startIndex=this.Frame.GetXData(ptStart.X,false);
|
|
69886
69923
|
var endIndex=this.Frame.GetXData(ptEnd.X,false);
|
|
69887
69924
|
var barCount=endIndex-startIndex+1;
|
|
@@ -69893,6 +69930,12 @@ function ChartDateRange()
|
|
|
69893
69930
|
var rtTextBG={ Left:xCenter-textWidth/2, Top:ptEnd.Y+4, Width:textWidth, Height:textHeight+2 };
|
|
69894
69931
|
rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
|
|
69895
69932
|
|
|
69933
|
+
if (rtTextBG.Bottom>=bottom)
|
|
69934
|
+
{
|
|
69935
|
+
rtTextBG.Bottom=bottom;
|
|
69936
|
+
rtTextBG.Top=rtTextBG.Bottom-rtTextBG.Height;
|
|
69937
|
+
}
|
|
69938
|
+
|
|
69896
69939
|
if (this.Label.EnableBGColor)
|
|
69897
69940
|
{
|
|
69898
69941
|
var path=new Path2D();
|
|
@@ -126516,7 +126559,7 @@ function JSReportChartContainer(uielement)
|
|
|
126516
126559
|
//更新数据
|
|
126517
126560
|
this.UpdateFullData=function(data)
|
|
126518
126561
|
{
|
|
126519
|
-
var arySymbol=[];
|
|
126562
|
+
var arySymbol=[];
|
|
126520
126563
|
if (IFrameSplitOperator.IsNonEmptyArray(data.data))
|
|
126521
126564
|
{
|
|
126522
126565
|
//0=证券代码 1=股票名称
|
|
@@ -126534,17 +126577,19 @@ function JSReportChartContainer(uielement)
|
|
|
126534
126577
|
stock=new HQReportItem();
|
|
126535
126578
|
stock.OriginalSymbol=symbol;
|
|
126536
126579
|
this.MapStockData.set(symbol, stock);
|
|
126580
|
+
|
|
126537
126581
|
}
|
|
126538
126582
|
|
|
126539
126583
|
stock.Symbol=this.GetSymbolNoSuffix(symbol);
|
|
126540
126584
|
stock.Name=item[1];
|
|
126541
126585
|
this.ReadStockJsonData(stock, item);
|
|
126542
|
-
|
|
126543
126586
|
arySymbol.push(symbol);
|
|
126544
126587
|
}
|
|
126545
126588
|
}
|
|
126546
126589
|
|
|
126547
126590
|
//设置显示数据
|
|
126591
|
+
this.Data.Data=[];
|
|
126592
|
+
this.SourceData.Data=[];
|
|
126548
126593
|
if (IFrameSplitOperator.IsNonEmptyArray(arySymbol))
|
|
126549
126594
|
{
|
|
126550
126595
|
for(var i=0;i<arySymbol.length;++i)
|
|
@@ -128667,10 +128712,73 @@ function JSReportChartContainer(uielement)
|
|
|
128667
128712
|
}
|
|
128668
128713
|
}
|
|
128669
128714
|
|
|
128715
|
+
//列排序
|
|
128716
|
+
this.SortColumn=function(index, sortType)
|
|
128717
|
+
{
|
|
128718
|
+
if (index<0) return false;
|
|
128719
|
+
var reportChart=this.GetReportChart();
|
|
128720
|
+
if (!reportChart) return false;
|
|
128721
|
+
|
|
128722
|
+
var column=reportChart.Column[index];
|
|
128723
|
+
|
|
128724
|
+
if (!column) return false;
|
|
128725
|
+
if (column.Sort!=1 && column.Sort!=2) return false;
|
|
128726
|
+
|
|
128727
|
+
var sortInfo={ Field:index, Sort:sortType };
|
|
128728
|
+
if (sortInfo.Sort==0) //不排序还原
|
|
128729
|
+
{
|
|
128730
|
+
this.Data.Data=[];
|
|
128731
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))
|
|
128732
|
+
this.Data.Data=this.SourceData.Data.slice();
|
|
128733
|
+
}
|
|
128734
|
+
else if (sortInfo.Sort==1 || sortInfo.Sort==2)
|
|
128735
|
+
{
|
|
128736
|
+
if (column.Sort==1) //本地排序
|
|
128737
|
+
{
|
|
128738
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_LOCAL_SORT);
|
|
128739
|
+
if (event && event.Callback)
|
|
128740
|
+
{
|
|
128741
|
+
var sendData={ Column:column, SortInfo:sortInfo, SymbolList:this.Data.Data, Result:null };
|
|
128742
|
+
event.Callback (event, sendData, this);
|
|
128743
|
+
if (Array.isArray(sendData.Result)) this.Data.Data=sendData.Result;
|
|
128744
|
+
}
|
|
128745
|
+
else
|
|
128746
|
+
{
|
|
128747
|
+
this.Data.Data.sort((left, right)=> { return this.LocalSort(left, right, column, sortInfo.Sort); });
|
|
128748
|
+
}
|
|
128749
|
+
}
|
|
128750
|
+
else if (column.Sort==2) //远程排序
|
|
128751
|
+
{
|
|
128752
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
128753
|
+
|
|
128754
|
+
this.SortInfo.Field=sortInfo.Field;
|
|
128755
|
+
this.SortInfo.Sort=sortInfo.Sort;
|
|
128756
|
+
this.Data.YOffset=0;
|
|
128757
|
+
this.ResetReportSelectStatus();
|
|
128758
|
+
this.RequestStockSortData(column, sortInfo.Field, sortInfo.Sort); //远程排序
|
|
128759
|
+
return true;
|
|
128760
|
+
}
|
|
128761
|
+
}
|
|
128762
|
+
|
|
128763
|
+
this.Data.YOffset=0;
|
|
128764
|
+
this.ResetReportSelectStatus();
|
|
128765
|
+
this.SortInfo.Field=sortInfo.Field;
|
|
128766
|
+
this.SortInfo.Sort=sortInfo.Sort;
|
|
128767
|
+
this.Draw();
|
|
128768
|
+
this.DelayUpdateStockData();
|
|
128769
|
+
return true;
|
|
128770
|
+
}
|
|
128771
|
+
|
|
128670
128772
|
//点表头
|
|
128671
128773
|
this.OnClickHeader=function(clickData, e)
|
|
128672
128774
|
{
|
|
128673
128775
|
var header=clickData.Header;
|
|
128776
|
+
if (header.Column && header.Column.EnablePopupHeaderMenu)
|
|
128777
|
+
{
|
|
128778
|
+
this.PopupHeaderMenu(clickData, e);
|
|
128779
|
+
return;
|
|
128780
|
+
}
|
|
128781
|
+
|
|
128674
128782
|
if (header.Column && (header.Column.Sort==1 || header.Column.Sort==2))
|
|
128675
128783
|
{
|
|
128676
128784
|
var index=header.Index;
|
|
@@ -128749,6 +128857,52 @@ function JSReportChartContainer(uielement)
|
|
|
128749
128857
|
}
|
|
128750
128858
|
}
|
|
128751
128859
|
|
|
128860
|
+
this.PopupHeaderMenu=function(clickData, e)
|
|
128861
|
+
{
|
|
128862
|
+
if (!this.JSPopMenu) return;
|
|
128863
|
+
if (!this.GetEventCallback) return;
|
|
128864
|
+
|
|
128865
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_REPORT_HEADER_MENU);
|
|
128866
|
+
if (!event || !event.Callback) return;
|
|
128867
|
+
|
|
128868
|
+
var header=clickData.Header;
|
|
128869
|
+
var column=header.Column;
|
|
128870
|
+
var menuData={ Menu:null, Position:JSPopMenu.POSITION_ID.DROPDOWN_MENU_ID };
|
|
128871
|
+
menuData.ClickCallback=(data)=>{ this.OnClickHeaderMenu(column, data); }
|
|
128872
|
+
|
|
128873
|
+
var sendData={ MenuData:menuData, Column:column, Index:header.Index, PreventDefault:false, e:e };
|
|
128874
|
+
event.Callback(event, sendData, this);
|
|
128875
|
+
if (sendData.PreventDefault==true) return;
|
|
128876
|
+
|
|
128877
|
+
if (!menuData.Menu) return;
|
|
128878
|
+
|
|
128879
|
+
this.PopupMenuByDrapdown(menuData, header.Rect);
|
|
128880
|
+
}
|
|
128881
|
+
|
|
128882
|
+
//下拉菜单
|
|
128883
|
+
this.PopupMenuByDrapdown=function(menuData, rtButton)
|
|
128884
|
+
{
|
|
128885
|
+
if (!this.JSPopMenu) return;
|
|
128886
|
+
|
|
128887
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
128888
|
+
var rtCell={ Left:rtButton.Left/pixelRatio, Right:rtButton.Right/pixelRatio, Bottom:rtButton.Bottom/pixelRatio, Top:rtButton.Top/pixelRatio };
|
|
128889
|
+
rtCell.Width=rtCell.Right-rtCell.Left;
|
|
128890
|
+
rtCell.Height=rtCell.Bottom-rtCell.Top;
|
|
128891
|
+
|
|
128892
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
128893
|
+
var rtScroll=GetScrollPosition();
|
|
128894
|
+
|
|
128895
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
128896
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
128897
|
+
rtCell.Left+=offsetLeft;
|
|
128898
|
+
rtCell.Right+=offsetLeft;
|
|
128899
|
+
rtCell.Top+=offsetTop;
|
|
128900
|
+
rtCell.Bottom+=offsetTop;
|
|
128901
|
+
|
|
128902
|
+
this.JSPopMenu.CreatePopMenu(menuData);
|
|
128903
|
+
this.JSPopMenu.PopupMenuByDrapdown(rtCell);
|
|
128904
|
+
}
|
|
128905
|
+
|
|
128752
128906
|
this.GetTabPopMenu=function(tabItem)
|
|
128753
128907
|
{
|
|
128754
128908
|
var aryMenu=[ ];
|
|
@@ -128864,6 +129018,24 @@ function JSReportChartContainer(uielement)
|
|
|
128864
129018
|
this.Draw();
|
|
128865
129019
|
}
|
|
128866
129020
|
|
|
129021
|
+
this.OnClickHeaderMenu=function(menuData, data)
|
|
129022
|
+
{
|
|
129023
|
+
JSConsole.Chart.Log('[JSReportChartContainer::OnClickHeaderMenu] ',menuData, data);
|
|
129024
|
+
|
|
129025
|
+
var cmdID=data.Data.ID;
|
|
129026
|
+
var aryArgs=data.Data.Args;
|
|
129027
|
+
|
|
129028
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND); //回调通知外部
|
|
129029
|
+
if (event && event.Callback)
|
|
129030
|
+
{
|
|
129031
|
+
var data={ PreventDefault:false, CommandID:cmdID, Args:aryArgs, SrcData:data, MenuData:menuData };
|
|
129032
|
+
event.Callback(event,data,this);
|
|
129033
|
+
if (data.PreventDefault) return;
|
|
129034
|
+
}
|
|
129035
|
+
|
|
129036
|
+
this.ExecuteMenuCommand(cmdID,aryArgs);
|
|
129037
|
+
}
|
|
129038
|
+
|
|
128867
129039
|
this.ExecuteMenuCommand=function(cmdID, aryArgs)
|
|
128868
129040
|
{
|
|
128869
129041
|
JSConsole.Chart.Log('[JSReportChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=', cmdID,aryArgs);
|
|
@@ -128880,6 +129052,22 @@ function JSReportChartContainer(uielement)
|
|
|
128880
129052
|
case JSCHART_MENU_ID.CMD_REPORT_CHANGE_BLOCK_ID:
|
|
128881
129053
|
if (srcParam) this.ChangeSymbol(srcParam);
|
|
128882
129054
|
break;
|
|
129055
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_SORT_ID:
|
|
129056
|
+
if (IFrameSplitOperator.IsNumber(param) && IFrameSplitOperator.IsNumber(aryArgs[1]))
|
|
129057
|
+
this.SortColumn(param, aryArgs[1]);
|
|
129058
|
+
break;
|
|
129059
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_MOVE_ID:
|
|
129060
|
+
if (IFrameSplitOperator.IsNumber(param) && IFrameSplitOperator.IsNumber(aryArgs[1]))
|
|
129061
|
+
{
|
|
129062
|
+
var leftIndex=param;
|
|
129063
|
+
var rightIndex=param+aryArgs[1];
|
|
129064
|
+
this.SwapColumn(leftIndex, rightIndex, {Redraw:true});
|
|
129065
|
+
}
|
|
129066
|
+
break;
|
|
129067
|
+
case JSCHART_MENU_ID.CMD_REPORT_COLUMN_DEL_ID:
|
|
129068
|
+
if (IFrameSplitOperator.IsNumber(param))
|
|
129069
|
+
this.DeleteColumn(param, {Redraw:true});
|
|
129070
|
+
break;
|
|
128883
129071
|
}
|
|
128884
129072
|
}
|
|
128885
129073
|
|
|
@@ -128897,6 +129085,20 @@ function JSReportChartContainer(uielement)
|
|
|
128897
129085
|
}
|
|
128898
129086
|
}
|
|
128899
129087
|
|
|
129088
|
+
this.DeleteColumn=function(index, option)
|
|
129089
|
+
{
|
|
129090
|
+
var reportChart=this.GetReportChart();
|
|
129091
|
+
if (!reportChart) return;
|
|
129092
|
+
|
|
129093
|
+
if (!reportChart.DeleteColumn(index)) return;
|
|
129094
|
+
|
|
129095
|
+
if (option && option.Redraw)
|
|
129096
|
+
{
|
|
129097
|
+
this.SetSizeChange(true);
|
|
129098
|
+
this.Draw();
|
|
129099
|
+
}
|
|
129100
|
+
}
|
|
129101
|
+
|
|
128900
129102
|
//本地排序
|
|
128901
129103
|
this.LocalSort=function(left, right, column, sortType)
|
|
128902
129104
|
{
|
|
@@ -129751,6 +129953,9 @@ function ChartReport()
|
|
|
129751
129953
|
else colItem.IsDrawCallback=false;
|
|
129752
129954
|
if (item.Icon) colItem.Icon=item.Icon;
|
|
129753
129955
|
|
|
129956
|
+
//点击表头弹出菜单
|
|
129957
|
+
if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
|
|
129958
|
+
|
|
129754
129959
|
if (item.Sort==1 || item.Sort==2) //1本地排序 2=远程排序
|
|
129755
129960
|
{
|
|
129756
129961
|
colItem.SortType=[1,2]; //默认 降序 ,升序
|
|
@@ -129858,6 +130063,15 @@ function ChartReport()
|
|
|
129858
130063
|
return true;
|
|
129859
130064
|
}
|
|
129860
130065
|
|
|
130066
|
+
this.DeleteColumn=function(index)
|
|
130067
|
+
{
|
|
130068
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Column)) return false;
|
|
130069
|
+
if (index<0 || index>=this.Column.length) return false;
|
|
130070
|
+
|
|
130071
|
+
this.Column.splice(index,1);
|
|
130072
|
+
return true;
|
|
130073
|
+
}
|
|
130074
|
+
|
|
129861
130075
|
this.GetXScrollPos=function()
|
|
129862
130076
|
{
|
|
129863
130077
|
return this.Data.XOffset;
|
|
@@ -140603,7 +140817,7 @@ function HQChartScriptWorker()
|
|
|
140603
140817
|
|
|
140604
140818
|
|
|
140605
140819
|
|
|
140606
|
-
var HQCHART_VERSION="1.1.
|
|
140820
|
+
var HQCHART_VERSION="1.1.13594";
|
|
140607
140821
|
|
|
140608
140822
|
function PrintHQChartVersion()
|
|
140609
140823
|
{
|